; assembly | /* r2dec pseudo code output */ | /* balber_berdecoder.t/assume @ 0x466740 */ | #include | ; (fcn) method.BloombergLP::bdlt::Iso8601Util.generateRaw_char__BloombergLP::bdlt::Time_const__BloombergLP::bdlt::Iso8601UtilConfiguration_const_ () | int64_t method_BloombergLP::bdlt::Iso8601Util_generateRaw_char_BloombergLP::bdlt::Time_const_BloombergLP::bdlt::Iso8601UtilConfiguration_const_ (int64_t arg3, int64_t arg2, int64_t arg1) { | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::bdlt::Iso8601Util::generateRaw(char*, BloombergLP::bdlt::Time const&, BloombergLP::bdlt::Iso8601UtilConfiguration const&) */ 0x00466740 push rbp | 0x00466741 push r15 | 0x00466743 push r14 | 0x00466745 push r13 | 0x00466747 push r12 | 0x00466749 push rbx | 0x0046674a push rax | 0x0046674b mov r15, rdx | r15 = rdx; 0x0046674e mov r14, rsi | r14 = rsi; 0x00466751 mov r12, rdi | r12 = rdi; 0x00466754 movabs rdi, 0xffffffbfffffffff | rdi = 0xffffffbfffffffff; 0x0046675e movabs rbp, 0x4000000000 | 0x00466768 mov rcx, qword [rsi] | rcx = *(rsi); 0x0046676b cmp rcx, rbp | | if (rcx < rbp) { 0x0046676e jl 0x466c1c | goto label_6; | } 0x00466774 and rcx, rdi | rcx &= rdi; | label_1: 0x00466777 movabs rdx, 0x98b5bf2c03e529c5 | rdx = 0x98b5bf2c03e529c5; 0x00466781 mov rax, rcx | rax = rcx; 0x00466784 imul rdx | rdx:rax = rax * rdx; 0x00466787 add rdx, rcx | rdx += rcx; 0x0046678a mov rax, rdx | rax = rdx; 0x0046678d shr rax, 0x3f | rax >>= 0x3f; 0x00466791 sar rdx, 0x1f | rdx >>= 0x1f; 0x00466795 add rdx, rax | rdx += rax; 0x00466798 mov eax, edx | eax = edx; 0x0046679a mov ecx, 0xcccccccd | ecx = 0xcccccccd; 0x0046679f imul rax, rcx | rax *= rcx; 0x004667a3 shr rax, 0x23 | rax >>= 0x23; 0x004667a7 lea esi, [rax + rax] | esi = rax + rax; 0x004667aa lea esi, [rsi + rsi*4] | esi = rsi * 5; 0x004667ad sub edx, esi | edx -= esi; 0x004667af or dl, 0x30 | dl |= 0x30; 0x004667b2 mov byte [r12 + 1], dl | *((r12 + 1)) = dl; 0x004667b7 mov rdx, rax | rdx = rax; 0x004667ba imul rdx, rcx | rdx *= rcx; 0x004667be shr rdx, 0x23 | rdx >>= 0x23; 0x004667c2 add edx, edx | edx += edx; 0x004667c4 lea ecx, [rdx + rdx*4] | ecx = rdx * 5; 0x004667c7 sub eax, ecx | eax -= ecx; 0x004667c9 or al, 0x30 | al |= 0x30; 0x004667cb mov byte [r12], al | *(r12) = al; 0x004667cf mov byte [r12 + 2], 0x3a | *((r12 + 2)) = 0x3a; 0x004667d5 mov rsi, qword [r14] | rsi = *(r14); 0x004667d8 cmp rsi, rbp | | if (rsi < rbp) { 0x004667db jl 0x466c32 | goto label_7; | } 0x004667e1 and rsi, rdi | rsi &= rdi; | label_2: 0x004667e4 movabs rcx, 0x8f2a633943a6d729 | rcx = 0x8f2a633943a6d729; 0x004667ee mov rax, rsi | rax = rsi; 0x004667f1 imul rcx | rdx:rax = rax * rcx; 0x004667f4 mov rcx, rdx | rcx = rdx; 0x004667f7 add rcx, rsi | rcx += rsi; 0x004667fa mov rax, rcx | rax = rcx; 0x004667fd shr rax, 0x3f | rax >>= 0x3f; 0x00466801 sar rcx, 0x19 | rcx >>= 0x19; 0x00466805 add rcx, rax | rcx += rax; 0x00466808 movabs rbx, 0x8888888888888889 | rbx = 0x8888888888888889; 0x00466812 mov rax, rcx | rax = rcx; 0x00466815 imul rbx | rdx:rax = rax * rbx; 0x00466818 add rdx, rcx | rdx += rcx; 0x0046681b mov rax, rdx | rax = rdx; 0x0046681e shr rax, 0x3f | rax >>= 0x3f; 0x00466822 sar rdx, 5 | rdx >>= 5; 0x00466826 add rdx, rax | rdx += rax; 0x00466829 imul rax, rdx, 0x3c | rax = rdx * 0x3c; 0x0046682d sub rcx, rax | rcx -= rax; 0x00466830 movzx eax, cl | eax = (int32_t) cl; 0x00466833 imul eax, eax, 0xcd | eax *= 0xcd; 0x00466839 shr eax, 0xb | eax >>= 0xb; 0x0046683c lea edx, [rax + rax] | edx = rax + rax; 0x0046683f lea edx, [rdx + rdx*4] | edx = rdx * 5; 0x00466842 sub cl, dl | cl -= dl; 0x00466844 or cl, 0x30 | cl |= 0x30; 0x00466847 mov byte [r12 + 4], cl | *((r12 + 4)) = cl; 0x0046684c imul ecx, eax, 0xcd | ecx = eax * 0xcd; 0x00466852 shr ecx, 0xa | ecx >>= 0xa; 0x00466855 and ecx, 0xfffffffe | ecx &= 0xfffffffe; 0x00466858 lea ecx, [rcx + rcx*4] | ecx = rcx * 5; 0x0046685b sub al, cl | al -= cl; 0x0046685d or al, 0x30 | al |= 0x30; 0x0046685f mov byte [r12 + 3], al | *((r12 + 3)) = al; 0x00466864 mov byte [r12 + 5], 0x3a | *((r12 + 5)) = 0x3a; 0x0046686a mov eax, dword [r15] | eax = *(r15); 0x0046686d mov r15d, eax | r15d = *(r15); 0x00466870 and r15d, 7 | r15d &= 7; 0x00466874 test r15d, r15d | | if (r15d != 0) { 0x00466877 je 0x4669b7 | 0x0046687d test al, 0x10 | 0x0046687f sete r13b | r13b = ((al & 0x10) == 0) ? 1 : 0; 0x00466883 add r13b, r13b | r13b += r13b; 0x00466886 or r13b, 0x2c | r13b |= 0x2c; 0x0046688a mov rax, qword [r14] | rax = *(r14); 0x0046688d cmp rax, rbp | | if (rax < rbp) { 0x00466890 jl 0x466c48 | goto label_8; | } 0x00466896 and rax, rdi | rax &= rdi; | label_3: 0x00466899 movabs rcx, 0x431bde82d7b634db | rcx = 0x431bde82d7b634db; 0x004668a3 imul rcx | rdx:rax = rax * rcx; 0x004668a6 mov rcx, rdx | rcx = rdx; 0x004668a9 mov rax, rdx | rax = rdx; 0x004668ac shr rax, 0x3f | rax >>= 0x3f; 0x004668b0 sar rcx, 0x12 | rcx >>= 0x12; 0x004668b4 add rcx, rax | rcx += rax; 0x004668b7 mov rax, rcx | rax = rcx; 0x004668ba imul rbx | rdx:rax = rax * rbx; 0x004668bd add rdx, rcx | rdx += rcx; 0x004668c0 mov rax, rdx | rax = rdx; 0x004668c3 shr rax, 0x3f | rax >>= 0x3f; 0x004668c7 sar rdx, 5 | rdx >>= 5; 0x004668cb add rdx, rax | rdx += rax; 0x004668ce imul rax, rdx, 0x3c | rax = rdx * 0x3c; 0x004668d2 sub rcx, rax | rcx -= rax; 0x004668d5 movzx eax, cl | eax = (int32_t) cl; 0x004668d8 imul eax, eax, 0xcd | eax *= 0xcd; 0x004668de shr eax, 0xb | eax >>= 0xb; 0x004668e1 lea edx, [rax + rax] | edx = rax + rax; 0x004668e4 lea edx, [rdx + rdx*4] | edx = rdx * 5; 0x004668e7 sub cl, dl | cl -= dl; 0x004668e9 or cl, 0x30 | cl |= 0x30; 0x004668ec mov byte [r12 + 7], cl | *((r12 + 7)) = cl; 0x004668f1 imul ecx, eax, 0xcd | ecx = eax * 0xcd; 0x004668f7 shr ecx, 0xa | ecx >>= 0xa; 0x004668fa and ecx, 0xfffffffe | ecx &= 0xfffffffe; 0x004668fd lea ecx, [rcx + rcx*4] | ecx = rcx * 5; 0x00466900 sub al, cl | al -= cl; 0x00466902 or al, 0x30 | al |= 0x30; 0x00466904 mov byte [r12 + 6], al | *((r12 + 6)) = al; 0x00466909 mov byte [r12 + 8], r13b | *((r12 + 8)) = r13b; 0x0046690e mov rbx, qword [r14] | rbx = *(r14); 0x00466911 cmp rbx, rbp | | if (rbx < rbp) { 0x00466914 jl 0x466c5f | goto label_9; | } 0x0046691a and rbx, rdi | rbx &= rdi; 0x0046691d mov rcx, rbx | rcx = rbx; | label_4: 0x00466920 movabs rdi, 0x20c49ba5e353f7cf | rdi = 0x20c49ba5e353f7cf; 0x0046692a mov rax, rbx | rax = rbx; 0x0046692d imul rdi | rdx:rax = rax * rdi; 0x00466930 mov rsi, rdx | rsi = rdx; 0x00466933 mov rax, rdx | rax = rdx; 0x00466936 shr rax, 0x3f | rax >>= 0x3f; 0x0046693a sar rsi, 7 | rsi >>= 7; 0x0046693e add rsi, rax | rsi += rax; 0x00466941 mov rax, rsi | rax = rsi; 0x00466944 imul rdi | rdx:rax = rax * rdi; 0x00466947 mov rax, rdx | rax = rdx; 0x0046694a shr rax, 0x3f | rax >>= 0x3f; 0x0046694e shr rdx, 7 | rdx >>= 7; 0x00466952 add edx, eax | edx += eax; 0x00466954 imul eax, edx, 0x3e8 | eax = edx * 0x3e8; 0x0046695a sub esi, eax | esi -= eax; 0x0046695c mov rax, rcx | rax = rcx; 0x0046695f imul rdi | rdx:rax = rax * rdi; 0x00466962 imul eax, esi, 0x3e8 | eax = esi * 0x3e8; 0x00466968 mov rsi, rdx | rsi = rdx; 0x0046696b shr rsi, 0x3f | rsi >>= 0x3f; 0x0046696f shr rdx, 7 | rdx >>= 7; 0x00466973 add edx, esi | edx += esi; 0x00466975 imul edx, edx, 0x3e8 | edx *= 0x3e8; 0x0046697b sub ecx, edx | ecx -= edx; 0x0046697d add ecx, eax | ecx += eax; 0x0046697f cmp r15d, 6 | | if (r15d >= 6) { 0x00466983 jae 0x466a54 | goto label_10; | } 0x00466989 movsxd rax, ecx | rax = (int64_t) ecx; 0x0046698c cmp r15d, 5 | | if (r15d < 5) { 0x00466990 jae 0x466a40 | 0x00466996 cmp r15d, 4 | | if (r15d != 4) { 0x0046699a jne 0x466bcb | goto label_11; | } 0x004669a0 imul rcx, rax, 0x51eb851f | rcx = rax * 0x51eb851f; 0x004669a7 mov rax, rcx | rax = rcx; 0x004669aa shr rax, 0x3f | rax >>= 0x3f; 0x004669ae sar rcx, 0x25 | rcx >>= 0x25; 0x004669b2 jmp 0x466a52 | | } else { 0x004669b7 mov rax, qword [r14] | rax = *(r14); 0x004669ba cmp rax, rbp | | if (rax < rbp) { 0x004669bd jl 0x466c7d | goto label_12; | } 0x004669c3 and rax, rdi | rax &= rdi; | label_5: 0x004669c6 movabs rcx, 0x431bde82d7b634db | rcx = 0x431bde82d7b634db; 0x004669d0 imul rcx | rdx:rax = rax * rcx; 0x004669d3 mov rcx, rdx | rcx = rdx; 0x004669d6 mov rax, rdx | rax = rdx; 0x004669d9 shr rax, 0x3f | rax >>= 0x3f; 0x004669dd sar rcx, 0x12 | rcx >>= 0x12; 0x004669e1 add rcx, rax | rcx += rax; 0x004669e4 mov rax, rcx | rax = rcx; 0x004669e7 imul rbx | rdx:rax = rax * rbx; 0x004669ea add rdx, rcx | rdx += rcx; 0x004669ed mov rax, rdx | rax = rdx; 0x004669f0 shr rax, 0x3f | rax >>= 0x3f; 0x004669f4 sar rdx, 5 | rdx >>= 5; 0x004669f8 add rdx, rax | rdx += rax; 0x004669fb imul rax, rdx, 0x3c | rax = rdx * 0x3c; 0x004669ff sub rcx, rax | rcx -= rax; 0x00466a02 movzx eax, cl | eax = (int32_t) cl; 0x00466a05 imul eax, eax, 0xcd | eax *= 0xcd; 0x00466a0b shr eax, 0xb | eax >>= 0xb; 0x00466a0e lea edx, [rax + rax] | edx = rax + rax; 0x00466a11 lea edx, [rdx + rdx*4] | edx = rdx * 5; 0x00466a14 sub cl, dl | cl -= dl; 0x00466a16 or cl, 0x30 | cl |= 0x30; 0x00466a19 mov byte [r12 + 7], cl | *((r12 + 7)) = cl; 0x00466a1e imul ecx, eax, 0xcd | ecx = eax * 0xcd; 0x00466a24 shr ecx, 0xa | ecx >>= 0xa; 0x00466a27 and ecx, 0xfffffffe | ecx &= 0xfffffffe; 0x00466a2a lea ecx, [rcx + rcx*4] | ecx = rcx * 5; 0x00466a2d sub al, cl | al -= cl; 0x00466a2f or al, 0x30 | al |= 0x30; 0x00466a31 mov byte [r12 + 6], al | *((r12 + 6)) = al; 0x00466a36 lea rax, [r12 + 8] | rax = r12 + 8; 0x00466a3b jmp 0x466bb9 | goto label_13; | } 0x00466a40 imul rcx, rax, 0x66666667 | rcx = rax * 0x66666667; 0x00466a47 mov rax, rcx | rax = rcx; 0x00466a4a shr rax, 0x3f | rax >>= 0x3f; 0x00466a4e sar rcx, 0x22 | rcx >>= 0x22; | } | do { | label_0: 0x00466a52 add ecx, eax | ecx += eax; | label_10: 0x00466a54 lea rax, [r12 + 9] | rax = r12 + 9; 0x00466a59 mov edx, ecx | edx = ecx; 0x00466a5b mov ebp, 0xcccccccd | 0x00466a60 mov rdi, rdx | rdi = rdx; 0x00466a63 imul rdi, rbp | rdi *= rbp; 0x00466a67 shr rdi, 0x23 | rdi >>= 0x23; 0x00466a6b lea esi, [rdi + rdi] | esi = rdi + rdi; 0x00466a6e lea esi, [rsi + rsi*4] | esi = rsi * 5; 0x00466a71 mov ebx, ecx | ebx = ecx; 0x00466a73 sub ebx, esi | ebx -= esi; 0x00466a75 or bl, 0x30 | bl |= 0x30; 0x00466a78 mov byte [r12 + r15 + 8], bl | *((r12 + r15 + 8)) = bl; 0x00466a7d cmp r15d, 1 | | if (r15d > 1) { 0x00466a81 jbe 0x466bb3 | 0x00466a87 lea r8, [r15 + 9] | r8 = r15 + 9; 0x00466a8b mov rbx, r15 | rbx = r15; 0x00466a8e or rbx, 8 | rbx |= 8; 0x00466a92 mov esi, edi | esi = edi; 0x00466a94 imul rsi, rbp | rsi *= rbp; 0x00466a98 shr rsi, 0x23 | rsi >>= 0x23; 0x00466a9c add esi, esi | esi += esi; 0x00466a9e lea esi, [rsi + rsi*4] | esi = rsi * 5; 0x00466aa1 sub edi, esi | edi -= esi; 0x00466aa3 or dil, 0x30 | dil |= 0x30; 0x00466aa7 mov byte [r12 + r8 - 2], dil | *((r12 + r8 - 2)) = dil; 0x00466aac cmp ebx, 0xb | | if (ebx < 0xb) { 0x00466aaf jb 0x466bb3 | goto label_14; | } 0x00466ab5 lea rsi, [r8 - 2] | rsi = r8 - 2; 0x00466ab9 imul rbx, rdx, 0x51eb851f | rbx = rdx * 0x51eb851f; 0x00466ac0 shr rbx, 0x25 | rbx >>= 0x25; 0x00466ac4 mov edi, 0xcccccccd | edi = 0xcccccccd; 0x00466ac9 mov rbp, rbx | 0x00466acc imul rbp, rdi | rbp *= rdi; 0x00466ad0 shr rbp, 0x23 | rbp >>= 0x23; 0x00466ad4 add ebp, ebp | ebp += ebp; 0x00466ad6 lea ebp, [rbp + rbp*4] | ebp = rbp + rbp*4; 0x00466ada sub ebx, ebp | ebx -= ebp; 0x00466adc or bl, 0x30 | bl |= 0x30; 0x00466adf mov byte [r12 + r8 - 3], bl | *((r12 + r8 - 3)) = bl; 0x00466ae4 cmp rsi, 0xb | | if (rsi < 0xb) { 0x00466ae8 jb 0x466bb3 | goto label_14; | } 0x00466aee lea rsi, [r8 - 3] | rsi = r8 - 3; 0x00466af2 imul rbx, rdx, 0x10624dd3 | rbx = rdx * 0x10624dd3; 0x00466af9 shr rbx, 0x26 | rbx >>= 0x26; 0x00466afd mov rbp, rbx | 0x00466b00 imul rbp, rdi | rbp *= rdi; 0x00466b04 shr rbp, 0x23 | rbp >>= 0x23; 0x00466b08 add ebp, ebp | ebp += ebp; 0x00466b0a lea edi, [rbp + rbp*4] | edi = rbp + rbp*4; 0x00466b0e sub ebx, edi | ebx -= edi; 0x00466b10 or bl, 0x30 | bl |= 0x30; 0x00466b13 mov byte [r12 + r8 - 4], bl | *((r12 + r8 - 4)) = bl; 0x00466b18 cmp rsi, 0xb | | if (rsi < 0xb) { 0x00466b1c jb 0x466bb3 | goto label_14; | } 0x00466b22 lea rsi, [r8 - 4] | rsi = r8 - 4; 0x00466b26 mov ebx, 0xd1b71759 | ebx = 0xd1b71759; 0x00466b2b imul rbx, rdx | rbx *= rdx; 0x00466b2f shr rbx, 0x2d | rbx >>= 0x2d; 0x00466b33 mov edi, 0xcccccccd | edi = 0xcccccccd; 0x00466b38 mov rbp, rbx | 0x00466b3b imul rbp, rdi | rbp *= rdi; 0x00466b3f shr rbp, 0x23 | rbp >>= 0x23; 0x00466b43 add ebp, ebp | ebp += ebp; 0x00466b45 lea ebp, [rbp + rbp*4] | ebp = rbp + rbp*4; 0x00466b49 sub ebx, ebp | ebx -= ebp; 0x00466b4b or bl, 0x30 | bl |= 0x30; 0x00466b4e mov byte [r12 + r8 - 5], bl | *((r12 + r8 - 5)) = bl; 0x00466b53 cmp rsi, 0xb | | if (rsi < 0xb) { 0x00466b57 jb 0x466bb3 | goto label_14; | } 0x00466b59 lea rsi, [r8 - 5] | rsi = r8 - 5; 0x00466b5d shr ecx, 5 | ecx >>= 5; 0x00466b60 imul rbp, rcx, 0xa7c5ac5 | rbp = rcx * 0xa7c5ac5; 0x00466b67 shr rbp, 0x27 | rbp >>= 0x27; 0x00466b6b mov rcx, rbp | rcx = rbp; 0x00466b6e imul rcx, rdi | rcx *= rdi; 0x00466b72 shr rcx, 0x23 | rcx >>= 0x23; 0x00466b76 add ecx, ecx | ecx += ecx; 0x00466b78 lea ecx, [rcx + rcx*4] | ecx = rcx * 5; 0x00466b7b sub ebp, ecx | ebp -= ecx; 0x00466b7d or bpl, 0x30 | bpl |= 0x30; 0x00466b81 mov byte [r8 + r12 - 6], bpl | *((r8 + r12 - 6)) = bpl; 0x00466b86 cmp rsi, 0xb | | if (rsi < 0xb) { 0x00466b8a jb 0x466bb3 | goto label_14; | } 0x00466b8c imul rcx, rdx, 0x431bde83 | rcx = rdx * 0x431bde83; 0x00466b93 shr rcx, 0x32 | rcx >>= 0x32; 0x00466b97 mov edx, 0xcccccccd | edx = 0xcccccccd; 0x00466b9c imul rdx, rcx | rdx *= rcx; 0x00466ba0 shr rdx, 0x23 | rdx >>= 0x23; 0x00466ba4 add edx, edx | edx += edx; 0x00466ba6 lea edx, [rdx + rdx*4] | edx = rdx * 5; 0x00466ba9 sub ecx, edx | ecx -= edx; 0x00466bab or cl, 0x30 | cl |= 0x30; 0x00466bae mov byte [r8 + r12 - 7], cl | *((r8 + r12 - 7)) = cl; | } | label_14: 0x00466bb3 mov ecx, r15d | ecx = r15d; 0x00466bb6 add rax, rcx | rax += rcx; | label_13: 0x00466bb9 sub eax, r12d | eax -= r12d; 0x00466bbc add rsp, 8 | 0x00466bc0 pop rbx | 0x00466bc1 pop r12 | 0x00466bc3 pop r13 | 0x00466bc5 pop r14 | 0x00466bc7 pop r15 | 0x00466bc9 pop rbp | 0x00466bca ret | return rax; | label_11: 0x00466bcb cmp r15d, 2 | | if (r15d > 2) { 0x00466bcf ja 0x466bee | goto label_15; | } 0x00466bd1 cmp r15d, 2 | | if (r15d != 2) { 0x00466bd5 jne 0x466c05 | goto label_16; | } 0x00466bd7 imul rcx, rax, 0x68db8bad | rcx = rax * 0x68db8bad; 0x00466bde mov rax, rcx | rax = rcx; 0x00466be1 shr rax, 0x3f | rax >>= 0x3f; 0x00466be5 sar rcx, 0x2c | rcx >>= 0x2c; 0x00466be9 jmp 0x466a52 | | } while (1); | label_15: 0x00466bee imul rcx, rax, 0x10624dd3 | rcx = rax * 0x10624dd3; 0x00466bf5 mov rax, rcx | rax = rcx; 0x00466bf8 shr rax, 0x3f | rax >>= 0x3f; 0x00466bfc sar rcx, 0x26 | rcx >>= 0x26; 0x00466c00 jmp 0x466a52 | goto label_0; | label_16: 0x00466c05 imul rcx, rax, 0x14f8b589 | rcx = rax * 0x14f8b589; 0x00466c0c mov rax, rcx | rax = rcx; 0x00466c0f shr rax, 0x3f | rax >>= 0x3f; 0x00466c13 sar rcx, 0x2d | rcx >>= 0x2d; 0x00466c17 jmp 0x466a52 | goto label_0; | label_6: 0x00466c1c mov rbx, rdi | rbx = rdi; 0x00466c1f mov rdi, r14 | 0x00466c22 call 0x46aee0 | rax = BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x00466c27 mov rdi, rbx | rdi = rbx; 0x00466c2a mov rcx, rax | rcx = rax; 0x00466c2d jmp 0x466777 | goto label_1; | label_7: 0x00466c32 mov rbx, rdi | rbx = rdi; 0x00466c35 mov rdi, r14 | 0x00466c38 call 0x46aee0 | rax = BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x00466c3d mov rdi, rbx | rdi = rbx; 0x00466c40 mov rsi, rax | rsi = rax; 0x00466c43 jmp 0x4667e4 | goto label_2; | label_8: 0x00466c48 mov rdi, r14 | 0x00466c4b call 0x46aee0 | BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x00466c50 movabs rdi, 0xffffffbfffffffff | rdi = 0xffffffbfffffffff; 0x00466c5a jmp 0x466899 | goto label_3; | label_9: 0x00466c5f mov r13, rdi | r13 = rdi; 0x00466c62 mov rdi, r14 | 0x00466c65 call 0x46aee0 | rax = BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x00466c6a mov rbx, rax | rbx = rax; 0x00466c6d mov rcx, qword [r14] | rcx = *(r14); 0x00466c70 cmp rcx, rbp | | if (rcx >= rbp) { 0x00466c73 jl 0x466c8a | 0x00466c75 and rcx, r13 | rcx &= r13; 0x00466c78 jmp 0x466920 | goto label_4; | label_12: 0x00466c7d mov rdi, r14 | 0x00466c80 call 0x46aee0 | BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x00466c85 jmp 0x4669c6 | goto label_5; | } 0x00466c8a mov rdi, r14 | 0x00466c8d call 0x46aee0 | rax = BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x00466c92 mov rcx, rax | rcx = rax; 0x00466c95 jmp 0x466920 | goto label_4; | }