Function at 0x140080640
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rbx, r9
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rcx
mov rsi, qword [rsp + 0xd0]
mov rbp, qword [rsi]
mov rax, qword [r9]
cmp rax, rbp
cmova rbp, rax
test rbp, rbp
mov eax, 1
cmove rbp, rax
lea r13, [rbp*8]
mov ecx, 1
mov edx, 0x10
mov r8, r13
call fcn.140042eb0
mov r12, rax
mov qword [rax], rbp
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
mov rdx, r13
call fcn.1400778a0
mov ecx, 1
mov edx, 0x10
mov r8, r13
call fcn.140042eb0
mov r15, rax
mov qword [rax], rbp
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
mov rdx, r13
call fcn.1400778a0
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
mov rdi, qword [rbx]
mov rdx, qword [rbx + 8]
cmp rax, rdi
cmovb rdi, rax
lea rbx, [rdi*8]
mov r8, rbx
call fcn.1400b9f30
mov rdx, qword [r12]
sub rdx, rdi
shl rdx, 3
add rbx, qword [r12 + 8]
mov rcx, rbx
call fcn.1400778a0
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov rdi, qword [rsi]
mov rdx, qword [rsi + 8]
cmp rax, rdi
cmovb rdi, rax
lea rbx, [rdi*8]
mov r8, rbx
call fcn.1400b9f30
mov rdx, qword [r15]
sub rdx, rdi
shl rdx, 3
add rbx, qword [r15 + 8]
mov rcx, rbx
call fcn.1400778a0
lea rsi, [rbp + 1]
shl rsi, 3
mov ecx, 1
mov edx, 0x10
mov r8, rsi
call fcn.140042eb0
mov r14, rax
mov rbx, rbp
inc rbx
jne 0x140080793
lea rcx, [0x1401162de]
lea rdx, str._home_simon_mem_.build_workdirs_bob_fffbk9my_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.1400c9b7c
mov qword [r14], rbx
mov rcx, r14
add rcx, 0x10
mov qword [r14 + 8], rcx
mov rdx, rsi
call fcn.1400778a0
mov ecx, 1
mov edx, 0x10
mov r8, rsi
call fcn.140042eb0
test rbx, rbx
mov qword [rsp + 0x28], rax
jne 0x1400807e3
lea rcx, [0x1401162de]
lea rdx, str._home_simon_mem_.build_workdirs_bob_fffbk9my_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.1400c9b7c
mov rax, qword [rsp + 0x28]
mov qword [rax], rbx
mov rcx, rax
add rcx, 0x10
mov qword [rax + 8], rcx
mov rdx, rsi
call fcn.1400778a0
mov ecx, 1
mov edx, 0x10
mov r8, r13
call fcn.140042eb0
mov qword [rax], rbp
lea rcx, [rax + 0x10]
mov qword [rsp + 0x50], rax
mov qword [rax + 8], rcx
mov rdx, r13
call fcn.1400778a0
mov rbx, rbp
shl rbx, 7
shl rbp, 2
movabs rsi, 0x3fffffffffffffc
and rsi, rbp
lea rbp, [rsi*8]
mov ecx, 1
mov edx, 0x10
mov r8, rbp
call fcn.140042eb0
mov rdi, rax
test rsi, rsi
jne 0x140080876
lea rcx, [0x1401162de]
lea rdx, str._home_simon_mem_.build_workdirs_bob_fffbk9my_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.1400c9b7c
mov qword [rdi], rsi
mov rcx, rdi
add rcx, 0x10
mov qword [rdi + 8], rcx
mov rdx, rbp
call fcn.1400778a0
test rbx, rbx
mov qword [rsp + 0x30], rdi
mov rsi, rbx
je 0x140080ba4
xor ebp, ebp
mov qword [rsp + 0x48], rsi
jmp 0x1400808e9
or r13b, 1
mov rax, 0xfffffffffffffffe
mov ecx, r13d
rol rax, cl
mov rcx, qword [rdi + 8]
and qword [rcx + rbx*8], rax
mov ecx, r13d
shl rsi, cl
mov rax, qword [rdi + 8]
or qword [rax + rbx*8], rsi
add rbp, 1
mov rsi, qword [rsp + 0x48]
cmp rbp, rsi
je 0x140080ba4
mov rax, qword [r12]
mov r8, qword [r15]
cmp r8, rax
mov rdx, rax
cmova rdx, r8
mov r13, rbp
test rdx, rdx
je 0x140080970
mov esi, 1
xor ebx, ebx
jmp 0x140080938
mov rcx, qword [r12 + 8]
mov rcx, qword [rcx + rbx*8]
not rcx
xor ebp, ebp
add rdi, rsi
setb bpl
add rdi, rcx
adc rbp, 0
add rbx, 1
mov rsi, rbp
cmp rdx, rbx
je 0x140080960
cmp r8, rbx
jbe 0x140080950
mov rcx, qword [r15 + 8]
mov rdi, qword [rcx + rbx*8]
cmp rax, rbx
ja 0x140080910
jmp 0x140080957
xor edi, edi
cmp rax, rbx
ja 0x140080910
xor ecx, ecx
jmp 0x140080919
mov rdi, qword [rsp + 0x30]
jmp 0x140080975
mov ebp, 1
mov rcx, qword [r12 + 8]
mov ebx, dword [rcx]
mov ecx, ebx
and ecx, 1
mov rdx, qword [r15 + 8]
xor ebp, ebx
and ebx, dword [rdx]
and ebx, 1
and ebp, ebx
xor ebp, ecx
cmp rax, r8
je 0x1400809ae
lea rcx, str.x0__nw__x1__nw
lea rdx, str._home_simon_mem_.build_workdirs_bob_fffbk9my_putty_crypto_mpint.c
mov r8d, 0xa6
call fcn.1400c9b7c
mov esi, ebp
mov rax, rsi
neg rax
mov qword [rsp + 0x38], rax
cmp qword [r12], 0
je 0x140080a04
xor eax, eax
nop word cs:[rax + rax]
nop
mov rcx, qword [r12 + 8]
mov rdx, qword [r15 + 8]
mov rdx, qword [rdx + rax*8]
xor rdx, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x38]
and rcx, rdx
mov rdx, qword [r12 + 8]
xor qword [rdx + rax*8], rcx
mov rdx, qword [r15 + 8]
xor qword [rdx + rax*8], rcx
add rax, 1
cmp rax, qword [r12]
jb 0x1400809d0
mov r10d, ebx
mov r8, qword [r12]
test r8, r8
je 0x140080b20
mov r9, rsi
mov rdi, r10
neg rdi
mov rdx, qword [r12 + 8]
mov ebx, edi
and ebx, 1
mov rax, r8
xor ebp, ebp
jmp 0x140080a3d
add rbp, 1
mov rax, qword [r12]
cmp r8, rbp
je 0x140080aa0
cmp rax, rbp
jbe 0x140080a60
mov rax, qword [r12 + 8]
mov rsi, qword [rax + rbp*8]
cmp qword [r15], rbp
ja 0x140080a67
xor eax, eax
jmp 0x140080a6f
xor esi, esi
cmp qword [r15], rbp
jbe 0x140080a50
mov rax, qword [r15 + 8]
mov rax, qword [rax + rbp*8]
not rax
and rax, rdi
xor ecx, ecx
add rsi, rbx
setb cl
add rsi, rax
mov rbx, rcx
adc rbx, 0
test rdx, rdx
je 0x140080a30
mov qword [rdx + rbp*8], rsi
jmp 0x140080a30
test rax, rax
mov rdi, qword [rsp + 0x30]
mov rsi, r9
je 0x140080b20
xor ecx, ecx
jmp 0x140080ad9
mov rbp, qword [rax + rcx*8 + 8]
shl rbp, 0x3f
or qword [rax + rcx*8], rbp
mov rax, qword [r12]
mov rcx, rdx
cmp rdx, rax
jae 0x140080b20
mov rdx, qword [r12 + 8]
cmp rax, rcx
jbe 0x140080af0
mov rax, qword [rdx + rcx*8]
jmp 0x140080af2
xor eax, eax
mov qword [rdx + rcx*8], rax
mov rax, qword [r12 + 8]
shr qword [rax + rcx*8], 1
lea rdx, [rcx + 1]
mov rax, qword [r12 + 8]
cmp qword [r12], rdx
ja 0x140080ac0
xor ebp, ebp
jmp 0x140080ac5
mov rbp, r13
add r13, r13
mov rbx, r13
shr rbx, 6
cmp rbx, qword [rdi]
jb 0x140080b56
lea rcx, str.word___x__nw
lea rdx, str._home_simon_mem_.build_workdirs_bob_fffbk9my_putty_crypto_mpint.c
mov r8d, 0x140
mov rdi, r10
call fcn.1400c9b7c
mov r10, rdi
mov rdi, qword [rsp + 0x30]
and r13d, 0x3e
mov rax, 0xfffffffffffffffe
mov ecx, r13d
rol rax, cl
mov rcx, qword [rdi + 8]
and qword [rcx + rbx*8], rax
mov ecx, r13d
shl r10, cl
mov rax, qword [rdi + 8]
or qword [rax + rbx*8], r10
cmp rbx, qword [rdi]
jb 0x1400808b0
lea rcx, str.word___x__nw
lea rdx, str._home_simon_mem_.build_workdirs_bob_fffbk9my_putty_crypto_mpint.c
mov r8d, 0x140
call fcn.1400c9b7c
jmp 0x1400808b0
mov rax, qword [rsp + 0x40]
test rax, rax
mov r13, qword [rsp + 0x50]
je 0x140080c2d
mov r8, qword [rax]
test r8, r8
je 0x140080c2d
mov rcx, qword [rax + 8]
xor eax, eax
xor edx, edx
jmp 0x140080bd9
add rdx, 1
cmp r8, rdx
je 0x140080c2d
cmp qword [r12], rdx
jbe 0x140080c00
mov rbx, qword [r12 + 8]
mov rbx, qword [rbx + rdx*8]
cmp qword [r15], rdx
ja 0x140080c07
xor edi, edi
jmp 0x140080c0f
xor ebx, ebx
cmp qword [r15], rdx
jbe 0x140080bed
mov rdi, qword [r15 + 8]
mov rdi, qword [rdi + rdx*8]
xor ebp, ebp
add rbx, rax
setb bpl
add rbx, rdi
mov rax, rbp
adc rax, 0
test rcx, rcx
je 0x140080bd0
mov qword [rcx + rdx*8], rbx
jmp 0x140080bd0
mov rax, qword [rsp + 0x58]
or rax, qword [rsp + 0x60]
je 0x1400813a1
cmp qword [r12], 0
je 0x140080c51
mov rax, qword [r12 + 8]
mov rax, qword [rax]
and eax, 1
jmp 0x140080c53
xor eax, eax
mov rbp, qword [rsp + 0x28]
mov rcx, qword [r14 + 8]
mov qword [rcx], rax
cmp qword [r15], 0
je 0x140080c74
mov rdi, rsi
mov rax, qword [r15 + 8]
mov rax, qword [rax]
and eax, 1
jmp 0x140080c79
mov rdi, rsi
xor eax, eax
mov rcx, qword [rbp + 8]
mov qword [rcx], rax
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
mov rsi, qword [r14]
mov rdx, qword [r14 + 8]
cmp rax, rsi
cmovb rsi, rax
lea rbx, [rsi*8]
mov r8, rbx
call fcn.1400b9f30
mov rdx, qword [r12]
sub rdx, rsi
shl rdx, 3
add rbx, qword [r12 + 8]
mov rcx, rbx
call fcn.1400778a0
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov rsi, qword [rbp]
mov rdx, qword [rbp + 8]
cmp rax, rsi
cmovb rsi, rax
lea rbx, [rsi*8]
mov r8, rbx
call fcn.1400b9f30
mov rdx, qword [r15]
sub rdx, rsi
shl rdx, 3
add rbx, qword [r15 + 8]
mov rcx, rbx
call fcn.1400778a0
mov rax, qword [r15 + 8]
mov r8d, dword [rax]
test rdi, rdi
je 0x140081146
mov r10, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
jmp 0x140080d2c
xor r8d, r13d
test rdi, rdi
je 0x14008114b
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rdi
lea rcx, [rdi + rdi]
add rcx, 0xfffffffffffffffe
mov rax, rcx
shr rax, 6
cmp qword [rsi], rax
jbe 0x140080d70
mov rdx, qword [rsi + 8]
mov r13, qword [rdx + rax*8]
and ecx, 0x3e
mov r8, r13
shr r8, cl
and r8d, 1
jmp 0x140080d79
and ecx, 0x3e
xor r8d, r8d
xor r13d, r13d
or cl, 1
shr r13, cl
mov rdi, qword [r14]
mov r9, qword [r14 + 8]
mov rcx, qword [r9]
and ecx, 1
neg rcx
test rdi, rdi
je 0x140080dfa
lea rbp, [rdi - 1]
xor esi, esi
xor eax, eax
cmp rdi, rax
jbe 0x140080dbf
jmp 0x140080dd0
mov rdi, qword [r14]
add rax, 1
mov rsi, rbx
cmp rdi, rax
ja 0x140080dd0
xor edi, edi
cmp qword [r15], rax
jbe 0x140080ddd
mov rdx, qword [r15 + 8]
mov rdx, qword [rdx + rax*8]
jmp 0x140080ddf
mov rdx, qword [r14 + 8]
mov rdi, qword [rdx + rax*8]
cmp qword [r15], rax
ja 0x140080dc6
xor edx, edx
and rdx, rcx
xor ebx, ebx
add rdi, rsi
setb bl
add rdi, rdx
adc rbx, 0
mov qword [r9 + rax*8], rdi
cmp rbp, rax
jne 0x140080db0
mov rdi, qword [r10]
test rdi, rdi
je 0x140080e73
mov rdx, qword [r10 + 8]
lea r9, [rdi - 1]
xor ebp, ebp
xor eax, eax
cmp rdi, rax
jbe 0x140080e2c
jmp 0x140080e40
mov rdi, qword [r10]
add rax, 1
cmp rdi, rax
ja 0x140080e40
xor esi, esi
cmp qword [r12], rax
jbe 0x140080e4e
mov rdi, qword [r12 + 8]
mov rdi, qword [rdi + rax*8]
jmp 0x140080e50
mov rdi, qword [r10 + 8]
mov rsi, qword [rdi + rax*8]
cmp qword [r12], rax
ja 0x140080e34
xor edi, edi
and rdi, rcx
xor ebx, ebx
add rsi, rbp
setb bl
add rsi, rdi
mov rbp, rbx
adc rbp, 0
test rdx, rdx
je 0x140080e6e
mov qword [rdx + rax*8], rsi
cmp r9, rax
jne 0x140080e20
mov rdx, qword [r14]
test rdx, rdx
je 0x140080ed0
xor eax, eax
jmp 0x140080e98
mov rbp, qword [rdx + rax*8 + 8]
shl rbp, 0x3f
or qword [rdx + rax*8], rbp
mov rdx, qword [r14]
mov rax, rcx
cmp rcx, rdx
jae 0x140080ed0
mov rcx, qword [r14 + 8]
cmp rdx, rax
jbe 0x140080eb0
mov rdx, qword [rcx + rax*8]
jmp 0x140080eb2
xor edx, edx
mov qword [rcx + rax*8], rdx
mov rcx, qword [r14 + 8]
shr qword [rcx + rax*8], 1
lea rcx, [rax + 1]
mov rdx, qword [r14 + 8]
cmp qword [r14], rcx
ja 0x140080e80
xor ebp, ebp
jmp 0x140080e85
neg r8
mov rbx, qword [r10]
test rbx, rbx
je 0x140080f43
mov rcx, qword [r10 + 8]
lea rdx, [rbx - 1]
xor esi, esi
xor eax, eax
cmp rbx, rax
jbe 0x140080efc
jmp 0x140080f10
mov rbx, qword [r10]
add rax, 1
cmp rbx, rax
ja 0x140080f10
xor ebx, ebx
cmp qword [r14], rax
jbe 0x140080f1d
mov rdi, qword [r14 + 8]
mov rdi, qword [rdi + rax*8]
jmp 0x140080f1f
mov rbx, qword [r10 + 8]
mov rbx, qword [rbx + rax*8]
cmp qword [r14], rax
ja 0x140080f03
xor edi, edi
and rdi, r8
xor ebp, ebp
add rbx, rsi
setb bpl
add rbx, rdi
mov rsi, rbp
adc rsi, 0
test rcx, rcx
je 0x140080f3e
mov qword [rcx + rax*8], rbx
cmp rdx, rax
jne 0x140080ef0
mov rcx, qword [r12]
test rcx, rcx
je 0x140081040
lea rax, [rcx - 2]
jmp 0x140080f75
mov rdx, qword [rcx + rax*8]
shr rdx, 0x3f
or qword [rcx + rax*8 + 8], rdx
mov rcx, qword [r12]
add rax, 0xffffffffffffffff
lea rbp, [rax + 1]
mov rdx, qword [r12 + 8]
cmp rcx, rbp
jbe 0x140080f90
mov rcx, qword [rdx + rax*8 + 8]
jmp 0x140080f92
xor ecx, ecx
mov qword [rdx + rax*8 + 8], rcx
mov rcx, qword [r12 + 8]
shl qword [rcx + rax*8 + 8], 1
cmp rax, 0xffffffffffffffff
je 0x140080fc0
mov rcx, qword [r12 + 8]
cmp qword [r12], rax
ja 0x140080f60
xor edx, edx
jmp 0x140080f64
mov rdi, qword [r12]
test rdi, rdi
je 0x140081040
mov rdx, qword [r12 + 8]
mov rcx, rdi
xor esi, esi
xor eax, eax
jmp 0x140080fed
add rax, 1
mov rcx, qword [r12]
cmp rdi, rax
je 0x140081042
cmp rcx, rax
jbe 0x140081010
mov rcx, qword [r12 + 8]
mov rbx, qword [rcx + rax*8]
cmp qword [r15], rax
ja 0x140081017
xor ecx, ecx
jmp 0x14008101f
xor ebx, ebx
cmp qword [r15], rax
jbe 0x140081000
mov rcx, qword [r15 + 8]
mov rcx, qword [rcx + rax*8]
and rcx, r8
xor ebp, ebp
add rbx, rsi
setb bpl
add rbx, rcx
mov rsi, rbp
adc rsi, 0
test rdx, rdx
je 0x140080fe0
mov qword [rdx + rax*8], rbx
jmp 0x140080fe0
xor ecx, ecx
and r13d, 1
cmp rcx, qword [r15]
je 0x140081069
lea rcx, str.x0__nw__x1__nw
lea rdx, str._home_simon_mem_.build_workdirs_bob_fffbk9my_putty_crypto_mpint.c
mov r8d, 0xa6
call fcn.1400c9b7c
mov r10, qword [rsp + 0x28]
mov ebx, r13d
neg rbx
mov qword [rsp + 0x38], rbx
cmp qword [r12], 0
mov rsi, qword [rsp + 0x30]
je 0x1400810c4
xor eax, eax
nop word cs:[rax + rax]
nop dword [rax]
mov rcx, qword [r12 + 8]
mov rdx, qword [r15 + 8]
mov rdx, qword [rdx + rax*8]
xor rdx, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x38]
and rcx, rdx
mov rdx, qword [r12 + 8]
xor qword [rdx + rax*8], rcx
mov rdx, qword [r15 + 8]
xor qword [rdx + rax*8], rcx
add rax, 1
cmp rax, qword [r12]
jb 0x140081090
mov rax, qword [r14]
cmp rax, qword [r10]
je 0x1400810ea
lea rcx, str.x0__nw__x1__nw
lea rdx, str._home_simon_mem_.build_workdirs_bob_fffbk9my_putty_crypto_mpint.c
mov r8d, 0xa6
call fcn.1400c9b7c
mov r10, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x48]
add rdi, 0xffffffffffffffff
mov qword [rsp + 0x38], rbx
cmp qword [r14], 0
mov r8, qword [rsp + 0x40]
je 0x140080d20
xor eax, eax
nop dword [rax]
mov rcx, qword [r14 + 8]
mov rdx, qword [r10 + 8]
mov rdx, qword [rdx + rax*8]
xor rdx, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x38]
and rcx, rdx
mov rdx, qword [r14 + 8]
xor qword [rdx + rax*8], rcx
mov rdx, qword [r10 + 8]
xor qword [rdx + rax*8], rcx
add rax, 1
cmp rax, qword [r14]
jb 0x140081110
jmp 0x140080d20
mov r10, qword [rsp + 0x28]
mov r13, qword [rsp + 0x50]
mov rax, qword [r13]
test rax, rax
je 0x1400811c0
mov rcx, qword [r13 + 8]
mov esi, 1
xor edx, edx
jmp 0x140081179
add rdx, 1
cmp rax, rdx
je 0x1400811c0
cmp qword [r15], rdx
jbe 0x140081190
mov rbx, qword [r15 + 8]
mov rbx, qword [rbx + rdx*8]
cmp qword [r14], rdx
ja 0x140081197
xor edi, edi
jmp 0x14008119f
xor ebx, ebx
cmp qword [r14], rdx
jbe 0x14008118b
mov rdi, qword [r14 + 8]
mov rdi, qword [rdi + rdx*8]
not rdi
xor ebp, ebp
add rbx, rsi
setb bpl
add rbx, rdi
mov rsi, rbp
adc rsi, 0
test rcx, rcx
je 0x140081170
mov qword [rcx + rdx*8], rbx
jmp 0x140081170
and r8d, 1
neg r8
mov rcx, qword [r14]
test rcx, rcx
je 0x14008122c
xor eax, eax
jmp 0x140081205
mov rdx, qword [r13 + 8]
mov rdx, qword [rdx + rax*8]
xor rdx, rcx
and rdx, r8
xor rdx, rcx
mov rcx, qword [r14 + 8]
mov qword [rcx + rax*8], rdx
add rax, 1
mov rcx, qword [r14]
cmp rax, rcx
jae 0x14008122c
cmp rcx, rax
jbe 0x140081220
mov rcx, qword [r14 + 8]
mov rcx, qword [rcx + rax*8]
cmp qword [r13], rax
ja 0x1400811e0
jmp 0x140081228
xor ecx, ecx
cmp qword [r13], rax
ja 0x1400811e0
xor edx, edx
jmp 0x1400811e8
mov rax, qword [r13]
test rax, rax
je 0x1400812b0
mov rcx, qword [r13 + 8]
mov esi, 1
xor edx, edx
jmp 0x140081259
add rdx, 1
cmp rax, rdx
je 0x1400812b0
cmp qword [r12], rdx
jbe 0x140081280
mov rbx, qword [r12 + 8]
mov rbx, qword [rbx + rdx*8]
cmp qword [r10], rdx
ja 0x140081287
xor edi, edi
jmp 0x14008128f
xor ebx, ebx
cmp qword [r10], rdx
jbe 0x14008126d
mov rdi, qword [r10 + 8]
mov rdi, qword [rdi + rdx*8]
not rdi
xor ebp, ebp
add rbx, rsi
setb bpl
add rbx, rdi
mov rsi, rbp
adc rsi, 0
test rcx, rcx
je 0x140081250
mov qword [rcx + rdx*8], rbx
jmp 0x140081250
mov rcx, qword [r10]
test rcx, rcx
je 0x14008130c
xor eax, eax
jmp 0x1400812e5
mov rdx, qword [r13 + 8]
mov rdx, qword [rdx + rax*8]
xor rdx, rcx
and rdx, r8
xor rdx, rcx
mov rcx, qword [r10 + 8]
mov qword [rcx + rax*8], rdx
add rax, 1
mov rcx, qword [r10]
cmp rax, rcx
jae 0x14008130c
cmp rcx, rax
jbe 0x140081300
mov rcx, qword [r10 + 8]
mov rcx, qword [rcx + rax*8]
cmp qword [r13], rax
ja 0x1400812c0
jmp 0x140081308
xor ecx, ecx
cmp qword [r13], rax
ja 0x1400812c0
xor edx, edx
jmp 0x1400812c8
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140081354
mov rax, qword [rcx]
mov rdi, rcx
mov rcx, qword [rcx + 8]
mov rsi, qword [r14]
mov rdx, qword [r14 + 8]
cmp rax, rsi
cmovb rsi, rax
lea rbx, [rsi*8]
mov r8, rbx
call fcn.1400b9f30
mov rdx, qword [rdi]
sub rdx, rsi
shl rdx, 3
add rbx, qword [rdi + 8]
mov rcx, rbx
call fcn.1400778a0
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400813a1
mov rax, qword [rcx]
mov rdi, rcx
mov rcx, qword [rcx + 8]
mov rdx, qword [rsp + 0x28]
mov rsi, qword [rdx]
mov rdx, qword [rdx + 8]
cmp rax, rsi
cmovb rsi, rax
lea rbx, [rsi*8]
mov r8, rbx
call fcn.1400b9f30
mov rdx, qword [rdi]
sub rdx, rsi
shl rdx, 3
add rbx, qword [rdi + 8]
mov rcx, rbx
call fcn.1400778a0
mov rdx, qword [r12]
mov rcx, qword [r12 + 8]
shl rdx, 3
call fcn.1400778a0
mov edx, 0x10
mov rcx, r12
call fcn.1400778a0
mov rcx, r12
call fcn.140042f50
mov rdx, qword [r15]
mov rcx, qword [r15 + 8]
shl rdx, 3
call fcn.1400778a0
mov edx, 0x10
mov rcx, r15
call fcn.1400778a0
mov rcx, r15
call fcn.140042f50
mov rdx, qword [r14]
mov rcx, qword [r14 + 8]
shl rdx, 3
call fcn.1400778a0
mov edx, 0x10
mov rcx, r14
call fcn.1400778a0
mov rcx, r14
call fcn.140042f50
mov rsi, qword [rsp + 0x28]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
shl rdx, 3
call fcn.1400778a0
mov edx, 0x10
mov rcx, rsi
call fcn.1400778a0
mov rcx, rsi
call fcn.140042f50
mov rdx, qword [r13]
mov rcx, qword [r13 + 8]
shl rdx, 3
call fcn.1400778a0
mov edx, 0x10
mov rcx, r13
call fcn.1400778a0
mov rcx, r13
call fcn.140042f50
mov rsi, qword [rsp + 0x30]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
shl rdx, 3
call fcn.1400778a0
mov edx, 0x10
mov rcx, rsi
call fcn.1400778a0
mov rcx, rsi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140042f50