; assembly | /* r2dec pseudo code output */ | /* bdlt_fixutil.t/assume @ 0x439c00 */ | #include | ; (fcn) method.BloombergLP::bdlt::FixUtil.generateRaw_char__BloombergLP::bdlt::Time_const__BloombergLP::bdlt::FixUtilConfiguration_const_ () | int64_t method_BloombergLP::bdlt::FixUtil_generateRaw_char_BloombergLP::bdlt::Time_const_BloombergLP::bdlt::FixUtilConfiguration_const_ (int64_t arg3, int64_t arg2, int64_t arg1) { | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::bdlt::FixUtil::generateRaw(char*, BloombergLP::bdlt::Time const&, BloombergLP::bdlt::FixUtilConfiguration const&) */ 0x00439c00 push rbp | 0x00439c01 push r15 | 0x00439c03 push r14 | 0x00439c05 push r13 | 0x00439c07 push r12 | 0x00439c09 push rbx | 0x00439c0a push rax | 0x00439c0b mov r15, rdx | r15 = rdx; 0x00439c0e mov r14, rsi | r14 = rsi; 0x00439c11 mov r12, rdi | r12 = rdi; 0x00439c14 movabs r13, 0xffffffbfffffffff | r13 = 0xffffffbfffffffff; 0x00439c1e movabs rbp, 0x4000000000 | 0x00439c28 mov rcx, qword [rsi] | rcx = *(rsi); 0x00439c2b cmp rcx, rbp | | if (rcx < rbp) { 0x00439c2e jl 0x43a0f8 | goto label_7; | } 0x00439c34 and rcx, r13 | rcx &= r13; | label_1: 0x00439c37 movabs rbx, 0x98b5bf2c03e529c5 | rbx = 0x98b5bf2c03e529c5; 0x00439c41 mov rax, rcx | rax = rcx; 0x00439c44 imul rbx | rdx:rax = rax * rbx; 0x00439c47 mov rax, rdx | rax = rdx; 0x00439c4a add rax, rcx | rax += rcx; 0x00439c4d mov rcx, rax | rcx = rax; 0x00439c50 shr rcx, 0x3f | rcx >>= 0x3f; 0x00439c54 shr rax, 0x1f | rax >>= 0x1f; 0x00439c58 add eax, ecx | eax += ecx; 0x00439c5a xor edx, edx | edx = 0; 0x00439c5c cmp eax, 0x17 | | if (eax <= 0x17) { 0x00439c5f jg 0x439c86 | 0x00439c61 mov rcx, qword [r14] | rcx = *(r14); 0x00439c64 cmp rcx, rbp | | if (rcx < rbp) { 0x00439c67 jl 0x43a140 | goto label_8; | } 0x00439c6d and rcx, r13 | rcx &= r13; | label_5: 0x00439c70 mov rax, rcx | rax = rcx; 0x00439c73 imul rbx | rdx:rax = rax * rbx; 0x00439c76 add rdx, rcx | rdx += rcx; 0x00439c79 mov rax, rdx | rax = rdx; 0x00439c7c shr rax, 0x3f | rax >>= 0x3f; 0x00439c80 shr rdx, 0x1f | rdx >>= 0x1f; 0x00439c84 add edx, eax | edx += eax; | } 0x00439c86 mov eax, edx | eax = edx; 0x00439c88 mov ecx, 0xcccccccd | ecx = 0xcccccccd; 0x00439c8d imul rax, rcx | rax *= rcx; 0x00439c91 shr rax, 0x23 | rax >>= 0x23; 0x00439c95 lea esi, [rax + rax] | esi = rax + rax; 0x00439c98 lea esi, [rsi + rsi*4] | esi = rsi * 5; 0x00439c9b sub edx, esi | edx -= esi; 0x00439c9d or dl, 0x30 | dl |= 0x30; 0x00439ca0 mov byte [r12 + 1], dl | *((r12 + 1)) = dl; 0x00439ca5 mov rdx, rax | rdx = rax; 0x00439ca8 imul rdx, rcx | rdx *= rcx; 0x00439cac shr rdx, 0x23 | rdx >>= 0x23; 0x00439cb0 add edx, edx | edx += edx; 0x00439cb2 lea ecx, [rdx + rdx*4] | ecx = rdx * 5; 0x00439cb5 sub eax, ecx | eax -= ecx; 0x00439cb7 or al, 0x30 | al |= 0x30; 0x00439cb9 mov byte [r12], al | *(r12) = al; 0x00439cbd mov byte [r12 + 2], 0x3a | *((r12 + 2)) = 0x3a; 0x00439cc3 mov rsi, qword [r14] | rsi = *(r14); 0x00439cc6 cmp rsi, rbp | | if (rsi < rbp) { 0x00439cc9 jl 0x43a108 | goto label_9; | } 0x00439ccf and rsi, r13 | rsi &= r13; | label_2: 0x00439cd2 movabs rcx, 0x8f2a633943a6d729 | rcx = 0x8f2a633943a6d729; 0x00439cdc mov rax, rsi | rax = rsi; 0x00439cdf imul rcx | rdx:rax = rax * rcx; 0x00439ce2 mov rcx, rdx | rcx = rdx; 0x00439ce5 add rcx, rsi | rcx += rsi; 0x00439ce8 mov rax, rcx | rax = rcx; 0x00439ceb shr rax, 0x3f | rax >>= 0x3f; 0x00439cef sar rcx, 0x19 | rcx >>= 0x19; 0x00439cf3 add rcx, rax | rcx += rax; 0x00439cf6 movabs rbx, 0x8888888888888889 | rbx = 0x8888888888888889; 0x00439d00 mov rax, rcx | rax = rcx; 0x00439d03 imul rbx | rdx:rax = rax * rbx; 0x00439d06 add rdx, rcx | rdx += rcx; 0x00439d09 mov rax, rdx | rax = rdx; 0x00439d0c shr rax, 0x3f | rax >>= 0x3f; 0x00439d10 sar rdx, 5 | rdx >>= 5; 0x00439d14 add rdx, rax | rdx += rax; 0x00439d17 imul rax, rdx, 0x3c | rax = rdx * 0x3c; 0x00439d1b sub rcx, rax | rcx -= rax; 0x00439d1e movzx eax, cl | eax = (int32_t) cl; 0x00439d21 imul eax, eax, 0xcd | eax *= 0xcd; 0x00439d27 shr eax, 0xb | eax >>= 0xb; 0x00439d2a lea edx, [rax + rax] | edx = rax + rax; 0x00439d2d lea edx, [rdx + rdx*4] | edx = rdx * 5; 0x00439d30 sub cl, dl | cl -= dl; 0x00439d32 or cl, 0x30 | cl |= 0x30; 0x00439d35 mov byte [r12 + 4], cl | *((r12 + 4)) = cl; 0x00439d3a imul ecx, eax, 0xcd | ecx = eax * 0xcd; 0x00439d40 shr ecx, 0xa | ecx >>= 0xa; 0x00439d43 and ecx, 0xfffffffe | ecx &= 0xfffffffe; 0x00439d46 lea ecx, [rcx + rcx*4] | ecx = rcx * 5; 0x00439d49 sub al, cl | al -= cl; 0x00439d4b or al, 0x30 | al |= 0x30; 0x00439d4d mov byte [r12 + 3], al | *((r12 + 3)) = al; 0x00439d52 mov byte [r12 + 5], 0x3a | *((r12 + 5)) = 0x3a; 0x00439d58 mov r15d, dword [r15] | r15d = *(r15); 0x00439d5b and r15d, 7 | r15d &= 7; 0x00439d5f mov rax, qword [r14] | rax = *(r14); 0x00439d62 test r15d, r15d | | if (r15d != 0) { 0x00439d65 je 0x439e96 | 0x00439d6b cmp rax, rbp | | if (rax < rbp) { 0x00439d6e jl 0x43a118 | goto label_10; | } 0x00439d74 and rax, r13 | rax &= r13; | label_3: 0x00439d77 movabs rcx, 0x431bde82d7b634db | rcx = 0x431bde82d7b634db; 0x00439d81 imul rcx | rdx:rax = rax * rcx; 0x00439d84 mov rcx, rdx | rcx = rdx; 0x00439d87 mov rax, rdx | rax = rdx; 0x00439d8a shr rax, 0x3f | rax >>= 0x3f; 0x00439d8e sar rcx, 0x12 | rcx >>= 0x12; 0x00439d92 add rcx, rax | rcx += rax; 0x00439d95 mov rax, rcx | rax = rcx; 0x00439d98 imul rbx | rdx:rax = rax * rbx; 0x00439d9b add rdx, rcx | rdx += rcx; 0x00439d9e mov rax, rdx | rax = rdx; 0x00439da1 shr rax, 0x3f | rax >>= 0x3f; 0x00439da5 sar rdx, 5 | rdx >>= 5; 0x00439da9 add rdx, rax | rdx += rax; 0x00439dac imul rax, rdx, 0x3c | rax = rdx * 0x3c; 0x00439db0 sub rcx, rax | rcx -= rax; 0x00439db3 movzx eax, cl | eax = (int32_t) cl; 0x00439db6 imul eax, eax, 0xcd | eax *= 0xcd; 0x00439dbc shr eax, 0xb | eax >>= 0xb; 0x00439dbf lea edx, [rax + rax] | edx = rax + rax; 0x00439dc2 lea edx, [rdx + rdx*4] | edx = rdx * 5; 0x00439dc5 sub cl, dl | cl -= dl; 0x00439dc7 or cl, 0x30 | cl |= 0x30; 0x00439dca mov byte [r12 + 7], cl | *((r12 + 7)) = cl; 0x00439dcf imul ecx, eax, 0xcd | ecx = eax * 0xcd; 0x00439dd5 shr ecx, 0xa | ecx >>= 0xa; 0x00439dd8 and ecx, 0xfffffffe | ecx &= 0xfffffffe; 0x00439ddb lea ecx, [rcx + rcx*4] | ecx = rcx * 5; 0x00439dde sub al, cl | al -= cl; 0x00439de0 or al, 0x30 | al |= 0x30; 0x00439de2 mov byte [r12 + 6], al | *((r12 + 6)) = al; 0x00439de7 mov byte [r12 + 8], 0x2e | *((r12 + 8)) = 0x2e; 0x00439ded mov rbx, qword [r14] | rbx = *(r14); 0x00439df0 cmp rbx, rbp | | if (rbx < rbp) { 0x00439df3 jl 0x43a125 | goto label_11; | } 0x00439df9 and rbx, r13 | rbx &= r13; 0x00439dfc mov rcx, rbx | rcx = rbx; | label_4: 0x00439dff movabs rdi, 0x20c49ba5e353f7cf | rdi = 0x20c49ba5e353f7cf; 0x00439e09 mov rax, rbx | rax = rbx; 0x00439e0c imul rdi | rdx:rax = rax * rdi; 0x00439e0f mov rsi, rdx | rsi = rdx; 0x00439e12 mov rax, rdx | rax = rdx; 0x00439e15 shr rax, 0x3f | rax >>= 0x3f; 0x00439e19 sar rsi, 7 | rsi >>= 7; 0x00439e1d add rsi, rax | rsi += rax; 0x00439e20 mov rax, rsi | rax = rsi; 0x00439e23 imul rdi | rdx:rax = rax * rdi; 0x00439e26 mov rax, rdx | rax = rdx; 0x00439e29 shr rax, 0x3f | rax >>= 0x3f; 0x00439e2d shr rdx, 7 | rdx >>= 7; 0x00439e31 add edx, eax | edx += eax; 0x00439e33 imul eax, edx, 0x3e8 | eax = edx * 0x3e8; 0x00439e39 sub esi, eax | esi -= eax; 0x00439e3b mov rax, rcx | rax = rcx; 0x00439e3e imul rdi | rdx:rax = rax * rdi; 0x00439e41 imul eax, esi, 0x3e8 | eax = esi * 0x3e8; 0x00439e47 mov rsi, rdx | rsi = rdx; 0x00439e4a shr rsi, 0x3f | rsi >>= 0x3f; 0x00439e4e shr rdx, 7 | rdx >>= 7; 0x00439e52 add edx, esi | edx += esi; 0x00439e54 imul edx, edx, 0x3e8 | edx *= 0x3e8; 0x00439e5a sub ecx, edx | ecx -= edx; 0x00439e5c add ecx, eax | ecx += eax; 0x00439e5e cmp r15d, 6 | | if (r15d >= 6) { 0x00439e62 jae 0x439f30 | goto label_12; | } 0x00439e68 movsxd rax, ecx | rax = (int64_t) ecx; 0x00439e6b cmp r15d, 5 | | if (r15d < 5) { 0x00439e6f jae 0x439f1c | 0x00439e75 cmp r15d, 4 | | if (r15d != 4) { 0x00439e79 jne 0x43a0a7 | goto label_13; | } 0x00439e7f imul rcx, rax, 0x51eb851f | rcx = rax * 0x51eb851f; 0x00439e86 mov rax, rcx | rax = rcx; 0x00439e89 shr rax, 0x3f | rax >>= 0x3f; 0x00439e8d sar rcx, 0x25 | rcx >>= 0x25; 0x00439e91 jmp 0x439f2e | | } else { 0x00439e96 cmp rax, rbp | | if (rax < rbp) { 0x00439e99 jl 0x43a150 | goto label_14; | } 0x00439e9f and rax, r13 | rax &= r13; | label_6: 0x00439ea2 movabs rcx, 0x431bde82d7b634db | rcx = 0x431bde82d7b634db; 0x00439eac imul rcx | rdx:rax = rax * rcx; 0x00439eaf mov rcx, rdx | rcx = rdx; 0x00439eb2 mov rax, rdx | rax = rdx; 0x00439eb5 shr rax, 0x3f | rax >>= 0x3f; 0x00439eb9 sar rcx, 0x12 | rcx >>= 0x12; 0x00439ebd add rcx, rax | rcx += rax; 0x00439ec0 mov rax, rcx | rax = rcx; 0x00439ec3 imul rbx | rdx:rax = rax * rbx; 0x00439ec6 add rdx, rcx | rdx += rcx; 0x00439ec9 mov rax, rdx | rax = rdx; 0x00439ecc shr rax, 0x3f | rax >>= 0x3f; 0x00439ed0 sar rdx, 5 | rdx >>= 5; 0x00439ed4 add rdx, rax | rdx += rax; 0x00439ed7 imul rax, rdx, 0x3c | rax = rdx * 0x3c; 0x00439edb sub rcx, rax | rcx -= rax; 0x00439ede movzx eax, cl | eax = (int32_t) cl; 0x00439ee1 imul eax, eax, 0xcd | eax *= 0xcd; 0x00439ee7 shr eax, 0xb | eax >>= 0xb; 0x00439eea lea edx, [rax + rax] | edx = rax + rax; 0x00439eed lea edx, [rdx + rdx*4] | edx = rdx * 5; 0x00439ef0 sub cl, dl | cl -= dl; 0x00439ef2 or cl, 0x30 | cl |= 0x30; 0x00439ef5 mov byte [r12 + 7], cl | *((r12 + 7)) = cl; 0x00439efa imul ecx, eax, 0xcd | ecx = eax * 0xcd; 0x00439f00 shr ecx, 0xa | ecx >>= 0xa; 0x00439f03 and ecx, 0xfffffffe | ecx &= 0xfffffffe; 0x00439f06 lea ecx, [rcx + rcx*4] | ecx = rcx * 5; 0x00439f09 sub al, cl | al -= cl; 0x00439f0b or al, 0x30 | al |= 0x30; 0x00439f0d mov byte [r12 + 6], al | *((r12 + 6)) = al; 0x00439f12 lea rax, [r12 + 8] | rax = r12 + 8; 0x00439f17 jmp 0x43a095 | goto label_15; | } 0x00439f1c imul rcx, rax, 0x66666667 | rcx = rax * 0x66666667; 0x00439f23 mov rax, rcx | rax = rcx; 0x00439f26 shr rax, 0x3f | rax >>= 0x3f; 0x00439f2a sar rcx, 0x22 | rcx >>= 0x22; | } | do { | label_0: 0x00439f2e add ecx, eax | ecx += eax; | label_12: 0x00439f30 lea rax, [r12 + 9] | rax = r12 + 9; 0x00439f35 mov edx, ecx | edx = ecx; 0x00439f37 mov ebp, 0xcccccccd | 0x00439f3c mov rdi, rdx | rdi = rdx; 0x00439f3f imul rdi, rbp | rdi *= rbp; 0x00439f43 shr rdi, 0x23 | rdi >>= 0x23; 0x00439f47 lea esi, [rdi + rdi] | esi = rdi + rdi; 0x00439f4a lea esi, [rsi + rsi*4] | esi = rsi * 5; 0x00439f4d mov ebx, ecx | ebx = ecx; 0x00439f4f sub ebx, esi | ebx -= esi; 0x00439f51 or bl, 0x30 | bl |= 0x30; 0x00439f54 mov byte [r12 + r15 + 8], bl | *((r12 + r15 + 8)) = bl; 0x00439f59 cmp r15d, 1 | | if (r15d > 1) { 0x00439f5d jbe 0x43a08f | 0x00439f63 lea r8, [r15 + 9] | r8 = r15 + 9; 0x00439f67 mov rbx, r15 | rbx = r15; 0x00439f6a or rbx, 8 | rbx |= 8; 0x00439f6e mov esi, edi | esi = edi; 0x00439f70 imul rsi, rbp | rsi *= rbp; 0x00439f74 shr rsi, 0x23 | rsi >>= 0x23; 0x00439f78 add esi, esi | esi += esi; 0x00439f7a lea esi, [rsi + rsi*4] | esi = rsi * 5; 0x00439f7d sub edi, esi | edi -= esi; 0x00439f7f or dil, 0x30 | dil |= 0x30; 0x00439f83 mov byte [r12 + r8 - 2], dil | *((r12 + r8 - 2)) = dil; 0x00439f88 cmp ebx, 0xb | | if (ebx < 0xb) { 0x00439f8b jb 0x43a08f | goto label_16; | } 0x00439f91 lea rsi, [r8 - 2] | rsi = r8 - 2; 0x00439f95 imul rbx, rdx, 0x51eb851f | rbx = rdx * 0x51eb851f; 0x00439f9c shr rbx, 0x25 | rbx >>= 0x25; 0x00439fa0 mov edi, 0xcccccccd | edi = 0xcccccccd; 0x00439fa5 mov rbp, rbx | 0x00439fa8 imul rbp, rdi | rbp *= rdi; 0x00439fac shr rbp, 0x23 | rbp >>= 0x23; 0x00439fb0 add ebp, ebp | ebp += ebp; 0x00439fb2 lea ebp, [rbp + rbp*4] | ebp = rbp + rbp*4; 0x00439fb6 sub ebx, ebp | ebx -= ebp; 0x00439fb8 or bl, 0x30 | bl |= 0x30; 0x00439fbb mov byte [r12 + r8 - 3], bl | *((r12 + r8 - 3)) = bl; 0x00439fc0 cmp rsi, 0xb | | if (rsi < 0xb) { 0x00439fc4 jb 0x43a08f | goto label_16; | } 0x00439fca lea rsi, [r8 - 3] | rsi = r8 - 3; 0x00439fce imul rbx, rdx, 0x10624dd3 | rbx = rdx * 0x10624dd3; 0x00439fd5 shr rbx, 0x26 | rbx >>= 0x26; 0x00439fd9 mov rbp, rbx | 0x00439fdc imul rbp, rdi | rbp *= rdi; 0x00439fe0 shr rbp, 0x23 | rbp >>= 0x23; 0x00439fe4 add ebp, ebp | ebp += ebp; 0x00439fe6 lea edi, [rbp + rbp*4] | edi = rbp + rbp*4; 0x00439fea sub ebx, edi | ebx -= edi; 0x00439fec or bl, 0x30 | bl |= 0x30; 0x00439fef mov byte [r12 + r8 - 4], bl | *((r12 + r8 - 4)) = bl; 0x00439ff4 cmp rsi, 0xb | | if (rsi < 0xb) { 0x00439ff8 jb 0x43a08f | goto label_16; | } 0x00439ffe lea rsi, [r8 - 4] | rsi = r8 - 4; 0x0043a002 mov ebx, 0xd1b71759 | ebx = 0xd1b71759; 0x0043a007 imul rbx, rdx | rbx *= rdx; 0x0043a00b shr rbx, 0x2d | rbx >>= 0x2d; 0x0043a00f mov edi, 0xcccccccd | edi = 0xcccccccd; 0x0043a014 mov rbp, rbx | 0x0043a017 imul rbp, rdi | rbp *= rdi; 0x0043a01b shr rbp, 0x23 | rbp >>= 0x23; 0x0043a01f add ebp, ebp | ebp += ebp; 0x0043a021 lea ebp, [rbp + rbp*4] | ebp = rbp + rbp*4; 0x0043a025 sub ebx, ebp | ebx -= ebp; 0x0043a027 or bl, 0x30 | bl |= 0x30; 0x0043a02a mov byte [r12 + r8 - 5], bl | *((r12 + r8 - 5)) = bl; 0x0043a02f cmp rsi, 0xb | | if (rsi < 0xb) { 0x0043a033 jb 0x43a08f | goto label_16; | } 0x0043a035 lea rsi, [r8 - 5] | rsi = r8 - 5; 0x0043a039 shr ecx, 5 | ecx >>= 5; 0x0043a03c imul rbp, rcx, 0xa7c5ac5 | rbp = rcx * 0xa7c5ac5; 0x0043a043 shr rbp, 0x27 | rbp >>= 0x27; 0x0043a047 mov rcx, rbp | rcx = rbp; 0x0043a04a imul rcx, rdi | rcx *= rdi; 0x0043a04e shr rcx, 0x23 | rcx >>= 0x23; 0x0043a052 add ecx, ecx | ecx += ecx; 0x0043a054 lea ecx, [rcx + rcx*4] | ecx = rcx * 5; 0x0043a057 sub ebp, ecx | ebp -= ecx; 0x0043a059 or bpl, 0x30 | bpl |= 0x30; 0x0043a05d mov byte [r8 + r12 - 6], bpl | *((r8 + r12 - 6)) = bpl; 0x0043a062 cmp rsi, 0xb | | if (rsi < 0xb) { 0x0043a066 jb 0x43a08f | goto label_16; | } 0x0043a068 imul rcx, rdx, 0x431bde83 | rcx = rdx * 0x431bde83; 0x0043a06f shr rcx, 0x32 | rcx >>= 0x32; 0x0043a073 mov edx, 0xcccccccd | edx = 0xcccccccd; 0x0043a078 imul rdx, rcx | rdx *= rcx; 0x0043a07c shr rdx, 0x23 | rdx >>= 0x23; 0x0043a080 add edx, edx | edx += edx; 0x0043a082 lea edx, [rdx + rdx*4] | edx = rdx * 5; 0x0043a085 sub ecx, edx | ecx -= edx; 0x0043a087 or cl, 0x30 | cl |= 0x30; 0x0043a08a mov byte [r8 + r12 - 7], cl | *((r8 + r12 - 7)) = cl; | } | label_16: 0x0043a08f mov ecx, r15d | ecx = r15d; 0x0043a092 add rax, rcx | rax += rcx; | label_15: 0x0043a095 sub eax, r12d | eax -= r12d; 0x0043a098 add rsp, 8 | 0x0043a09c pop rbx | 0x0043a09d pop r12 | 0x0043a09f pop r13 | 0x0043a0a1 pop r14 | 0x0043a0a3 pop r15 | 0x0043a0a5 pop rbp | 0x0043a0a6 ret | return rax; | label_13: 0x0043a0a7 cmp r15d, 2 | | if (r15d > 2) { 0x0043a0ab ja 0x43a0ca | goto label_17; | } 0x0043a0ad cmp r15d, 2 | | if (r15d != 2) { 0x0043a0b1 jne 0x43a0e1 | goto label_18; | } 0x0043a0b3 imul rcx, rax, 0x68db8bad | rcx = rax * 0x68db8bad; 0x0043a0ba mov rax, rcx | rax = rcx; 0x0043a0bd shr rax, 0x3f | rax >>= 0x3f; 0x0043a0c1 sar rcx, 0x2c | rcx >>= 0x2c; 0x0043a0c5 jmp 0x439f2e | | } while (1); | label_17: 0x0043a0ca imul rcx, rax, 0x10624dd3 | rcx = rax * 0x10624dd3; 0x0043a0d1 mov rax, rcx | rax = rcx; 0x0043a0d4 shr rax, 0x3f | rax >>= 0x3f; 0x0043a0d8 sar rcx, 0x26 | rcx >>= 0x26; 0x0043a0dc jmp 0x439f2e | goto label_0; | label_18: 0x0043a0e1 imul rcx, rax, 0x14f8b589 | rcx = rax * 0x14f8b589; 0x0043a0e8 mov rax, rcx | rax = rcx; 0x0043a0eb shr rax, 0x3f | rax >>= 0x3f; 0x0043a0ef sar rcx, 0x2d | rcx >>= 0x2d; 0x0043a0f3 jmp 0x439f2e | goto label_0; | label_7: 0x0043a0f8 mov rdi, r14 | 0x0043a0fb call 0x43d420 | rax = BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x0043a100 mov rcx, rax | rcx = rax; 0x0043a103 jmp 0x439c37 | goto label_1; | label_9: 0x0043a108 mov rdi, r14 | 0x0043a10b call 0x43d420 | rax = BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x0043a110 mov rsi, rax | rsi = rax; 0x0043a113 jmp 0x439cd2 | goto label_2; | label_10: 0x0043a118 mov rdi, r14 | 0x0043a11b call 0x43d420 | BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x0043a120 jmp 0x439d77 | goto label_3; | label_11: 0x0043a125 mov rdi, r14 | 0x0043a128 call 0x43d420 | rax = BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x0043a12d mov rbx, rax | rbx = rax; 0x0043a130 mov rcx, qword [r14] | rcx = *(r14); 0x0043a133 cmp rcx, rbp | | if (rcx >= rbp) { 0x0043a136 jl 0x43a15d | 0x0043a138 and rcx, r13 | rcx &= r13; 0x0043a13b jmp 0x439dff | goto label_4; | label_8: 0x0043a140 mov rdi, r14 | 0x0043a143 call 0x43d420 | rax = BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x0043a148 mov rcx, rax | rcx = rax; 0x0043a14b jmp 0x439c70 | goto label_5; | label_14: 0x0043a150 mov rdi, r14 | 0x0043a153 call 0x43d420 | BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x0043a158 jmp 0x439ea2 | goto label_6; | } 0x0043a15d mov rdi, r14 | 0x0043a160 call 0x43d420 | rax = BloombergLP::bdlt::Time::invalidMicrosecondsFromMidnight()const (r14); 0x0043a165 mov rcx, rax | rcx = rax; 0x0043a168 jmp 0x439dff | goto label_4; | }