Function at 0x140081260
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov qword [rsp + 0x40], rcx
mov rax, qword [0x14012c040]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r13, qword [rdx]
mov eax, 1
test r13, r13
cmovne rax, r13
je 0x1400812a4
mov rcx, qword [rdx + 8]
mov rcx, qword [rcx]
jmp 0x1400812a6
xor ecx, ecx
cmp r13, 2
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x68], r8
jb 0x140081340
lea rsi, [rax - 1]
cmp rax, 2
jne 0x1400812d1
mov edi, 1
test sil, 1
jne 0x14008132c
jmp 0x140081340
mov rax, rsi
and rax, 0xfffffffffffffffe
mov ebp, 1
jmp 0x1400812f5
mov rbp, qword [rdx + 8]
mov rbp, qword [rbp + rdi*8 + 8]
or rcx, rbp
lea rbp, [rbx + 1]
cmp rbx, rax
je 0x140081322
mov rdi, rbp
cmp r13, rbp
jbe 0x140081310
mov rbp, qword [rdx + 8]
mov rbp, qword [rbp + rdi*8]
jmp 0x140081312
xor ebp, ebp
or rcx, rbp
lea rbx, [rdi + 1]
cmp r13, rbx
ja 0x1400812e0
xor ebp, ebp
jmp 0x1400812e9
add rdi, 2
test sil, 1
je 0x140081340
cmp r13, rdi
jbe 0x14008133b
mov rax, qword [rdx + 8]
mov rax, qword [rax + rdi*8]
jmp 0x14008133d
xor eax, eax
or rcx, rax
mov rax, rcx
shr rax, 1
and ecx, 1
or rcx, rax
mov qword [rsp + 0x28], rdx
je 0x140081373
test r13, r13
je 0x140081399
mov r9, qword [rdx + 8]
cmp r13, 1
jne 0x1400813a6
xor r12d, r12d
xor edx, edx
xor r15d, r15d
xor esi, esi
xor ebx, ebx
jmp 0x14008140d
lea rcx, str._mp_eq_integer_d__0_
lea rdx, str._home_simon_mem_.build_workdirs_bob_qvbm9mtj_putty_crypto_mpint.c
mov r8d, 0x7fc
call fcn.1400ca0ec
mov rdx, qword [rsp + 0x28]
mov r13, qword [rdx]
test r13, r13
jne 0x140081358
xor r12d, r12d
xor edx, edx
xor r15d, r15d
jmp 0x140081431
mov r8, r13
and r8, 0xfffffffffffffffe
xor r12d, r12d
xor edx, edx
xor r15d, r15d
xor esi, esi
xor ebx, ebx
nop dword [rax]
mov rdi, qword [r9 + rbx*8]
mov rax, rdi
shr rax, 1
mov ebp, edi
and ebp, 1
or rbp, rax
cmovne r12, rsi
mov rsi, qword [r9 + rbx*8 + 8]
cmovne rdx, rdi
mov rax, r15
cmovne rax, rbx
mov rbp, rsi
shr rbp, 1
mov ecx, esi
and ecx, 1
lea r15, [rbx + 1]
or rcx, rbp
cmovne rdx, rsi
cmovne r12, rdi
cmove r15, rax
add rbx, 2
cmp rbx, r8
jne 0x1400813c0
test r13b, 1
je 0x140081431
mov rbp, qword [r9 + rbx*8]
mov rcx, rbp
shr rcx, 1
mov eax, ebp
and eax, 1
or rax, rcx
cmovne rdx, rbp
cmovne r12, rsi
cmovne r15, rbx
mov r14, rdx
shr r14, 0x20
mov r11, rdx
shr r11, 0x21
and r14d, 1
shrd r12, rdx, 0x20
mov rax, r11
or rax, r14
cmovne r12, rdx
mov rax, r12
shr rax, 0x30
mov rcx, r12
shr rcx, 0x31
and eax, 1
mov rdx, r12
shl rdx, 0x10
xor r10d, r10d
or rax, rcx
sete r10b
cmovne rdx, r12
mov rax, rdx
shr rax, 0x38
mov rcx, rdx
shr rcx, 0x39
and eax, 1
mov rsi, rdx
shl rsi, 8
xor r9d, r9d
or rax, rcx
cmovne rsi, rdx
sete r9b
mov rax, rsi
shr rax, 0x3c
mov rcx, rsi
shr rcx, 0x3d
and eax, 1
mov rdi, rsi
shl rdi, 4
xor r8d, r8d
or rax, rcx
sete r8b
cmovne rdi, rsi
mov rdx, rdi
shr rdx, 0x3e
mov rax, rdi
shr rax, 0x3f
and edx, 1
or rdx, rax
lea rbx, [rdi*4]
xor rbx, rdi
add rdx, 0xffffffffffffffff
and rbx, rdx
xor rbx, rdi
mov rcx, rbx
not rcx
shr rcx, 0x3f
mov rsi, rbx
shl rsi, cl
shr rsi, 0x20
mov ebp, 0x90d876cd
lea rax, [rbp + 0x2028d09]
imul rax, rsi
shr rax, 0x22
neg rax
add rax, rbp
add rax, 0x6565fb1d
imul rax, rsi
shr rax, 0x22
neg rax
add rax, rbp
add rax, 0x255eab1b
imul rax, rsi
shr rax, 0x21
neg rax
add rax, rbp
add rax, 0xb552941
imul rax, rsi
shr rax, 0x20
neg rax
add rax, rbp
add rax, 0x1a0194eb
imul rax, rsi
shr rax, 0x1f
neg rax
add rax, rbp
add rax, 0x66845d36
imul rax, rsi
shr rax, 0x1f
neg rax
add rax, rbp
add rax, 0x5c210374
imul rax, rsi
shr rax, 0x1f
sub rbp, rax
imul rbp, rsi
and rbp, 0xfffffffffc000000
shl rbp, 6
movabs rax, 0x682799a000000000
sub rax, rbp
xor edi, edi
mov rsi, r11
or rsi, r14
mov rbp, rax
cmove rbp, rdi
shr rax, 0x20
or r11, r14
cmovne rax, rdi
neg r10
neg r9
neg r8
mov rdi, rax
shld rdi, rbp, 0x10
mov rsi, rbp
shl rsi, 0x10
xor rdi, rax
and rdi, r10
xor rdi, rax
xor rsi, rbp
and rsi, r10
xor rsi, rbp
mov rbp, rdi
shld rbp, rsi, 8
mov rax, rsi
shl rax, 8
xor rbp, rdi
and rbp, r9
xor rbp, rdi
xor rax, rsi
and rax, r9
xor rax, rsi
mov rdi, rbp
shld rdi, rax, 4
mov rsi, rax
shl rsi, 4
xor rdi, rbp
and rdi, r8
xor rdi, rbp
xor rsi, rax
and rsi, r8
xor rsi, rax
shr edx, 1
and edx, 1
mov r14, rdi
shld r14, rsi, 2
lea r12, [rsi*4]
xor r14, rdi
neg rdx
and r14, rdx
xor r14, rdi
xor r12, rsi
and r12, rdx
xor r12, rsi
test rbx, rbx
js 0x140081666
shld r14, r12, 1
mov rax, qword [rsp + 0x40]
shl r12, cl
add r13, qword [rax]
shl r13, 6
lea rax, [r13 + 3]
add r13, 0xffffffffffffff83
and r13, 0xffffffffffffffc0
xor ecx, ecx
cmp rax, 0xbf
cmovae rcx, r13
mov qword [rsp + 0x48], rcx
lea rbx, [rcx + 0x100]
mov rsi, rbx
shr rsi, 6
mov rdi, rbx
shr rdi, 3
mov ecx, 1
mov edx, 0x10
mov r8, rdi
call fcn.14003f680
mov r13, rax
mov qword [rsp + 0x38], rbx
test rbx, rbx
jne 0x1400816df
lea rcx, [0x140118dd4]
lea rdx, str._home_simon_mem_.build_workdirs_bob_qvbm9mtj_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.1400ca0ec
mov qword [rsp + 0x30], rsi
mov qword [r13], rsi
mov rcx, r13
add rcx, 0x10
mov qword [r13 + 8], rcx
mov qword [rsp + 0x60], rdi
mov rdx, rdi
call fcn.140076910
mov rcx, qword [r13]
test rcx, rcx
je 0x140081810
shl r15, 6
mov r8, qword [rsp + 0x48]
sub r8, r15
add r8, 0x40
shr r8, 6
xor ebp, ebp
xor r9d, r9d
xor ebx, ebx
jmp 0x14008175a
mov rcx, qword [rdx + rbx*8]
and r12, rsi
xor eax, eax
add rdi, r9
setb al
add rdi, rcx
adc rax, 0
mov qword [rdx + rbx*8], rdi
add rbx, 1
mov rcx, qword [r13]
mov r9, rax
cmp rbx, rcx
jae 0x140081790
mov edi, ebp
mov rdx, rbx
xor rdx, r8
mov rsi, rdx
shr rsi, 1
and edx, 1
xor ebp, ebp
or rdx, rsi
sete bpl
or ebp, edi
mov rdi, rbp
neg rdi
and rdi, r12
lea rsi, [rbp - 1]
mov rdx, qword [r13 + 8]
cmp rcx, rbx
ja 0x140081730
xor ecx, ecx
jmp 0x140081734
test rcx, rcx
je 0x140081810
add r8, 1
xor ebp, ebp
xor r9d, r9d
xor edi, edi
jmp 0x1400817da
mov rcx, qword [rdx + rdi*8]
and r14, rsi
xor eax, eax
add rbx, r9
setb al
add rbx, rcx
adc rax, 0
mov qword [rdx + rdi*8], rbx
add rdi, 1
mov rcx, qword [r13]
mov r9, rax
cmp rdi, rcx
jae 0x140081810
mov ebx, ebp
mov rdx, rdi
xor rdx, r8
mov rsi, rdx
shr rsi, 1
and edx, 1
xor ebp, ebp
or rdx, rsi
sete bpl
or ebp, ebx
mov rbx, rbp
neg rbx
and rbx, r14
lea rsi, [rbp - 1]
mov rdx, qword [r13 + 8]
cmp rcx, rdi
ja 0x1400817b0
xor ecx, ecx
jmp 0x1400817b4
mov ecx, 1
mov edx, 0x10
mov rsi, qword [rsp + 0x60]
mov r8, rsi
call fcn.14003f680
cmp qword [rsp + 0x38], 0
mov qword [rsp + 0x38], rax
jne 0x140081852
lea rcx, [0x140118dd4]
lea rdx, str._home_simon_mem_.build_workdirs_bob_qvbm9mtj_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.1400ca0ec
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
mov rcx, rax
add rcx, 0x10
mov qword [rax + 8], rcx
mov rdx, rsi
call fcn.140076910
mov r11, qword [rsp + 0x38]
mov rbx, qword [r11]
test rbx, rbx
mov r10, qword [rsp + 0x28]
mov r15, qword [rsp + 0x48]
je 0x140081901
lea r8, [r15 + 0xc0]
shr r8, 6
xor edi, edi
mov ecx, 1
xor eax, eax
xor esi, esi
jmp 0x1400818c9
mov rbx, qword [r9 + rsi*8]
and rcx, rdx
xor edx, edx
add rbp, rax
setb dl
add rbp, rbx
adc rdx, 0
mov qword [r9 + rsi*8], rbp
add rsi, 1
mov rbx, qword [r11]
mov rax, rdx
cmp rsi, rbx
jae 0x140081901
mov r9d, edi
mov rdx, rsi
xor rdx, r8
mov rbp, rdx
shr rbp, 1
and edx, 1
xor edi, edi
or rdx, rbp
sete dil
or edi, r9d
mov rbp, rdi
neg rbp
and rbp, rcx
lea rdx, [rdi - 1]
mov r9, qword [r11 + 8]
cmp rbx, rsi
ja 0x1400818a0
xor ebx, ebx
jmp 0x1400818a4
mov rdi, qword [r10]
mov rbp, qword [rsp + 0x30]
add rdi, rbp
lea rbx, [rdi*8]
mov ecx, 1
mov edx, 0x10
mov r8, rbx
call fcn.14003f680
mov r14, rax
test rdi, rdi
jne 0x140081947
lea rcx, [0x140118dd4]
lea rdx, str._home_simon_mem_.build_workdirs_bob_qvbm9mtj_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.1400ca0ec
mov qword [r14], rdi
mov rcx, r14
add rcx, 0x10
mov qword [r14 + 8], rcx
mov rdx, rbx
call fcn.140076910
mov rdi, qword [r14]
cmp rbp, rdi
cmova rdi, rbp
lea rsi, [rdi*8]
mov ecx, 1
mov edx, 0x10
mov r8, rsi
call fcn.14003f680
test rdi, rdi
mov qword [rsp + 0x50], rax
jne 0x1400819a9
lea rcx, [0x140118dd4]
lea rdx, str._home_simon_mem_.build_workdirs_bob_qvbm9mtj_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.1400ca0ec
mov rax, qword [rsp + 0x50]
mov qword [rax], rdi
mov rcx, rax
add rcx, 0x10
mov qword [rax + 8], rcx
mov rdx, rsi
mov rsi, rax
call fcn.140076910
add rbp, qword [rsi]
lea r12, [rbp*8]
mov ecx, 1
mov edx, 0x10
mov r8, r12
call fcn.14003f680
test rbp, rbp
jne 0x140081a03
mov rdi, rax
lea rcx, [0x140118dd4]
lea rdx, str._home_simon_mem_.build_workdirs_bob_qvbm9mtj_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.1400ca0ec
mov rax, rdi
add r15, 0xbf
mov qword [rax], rbp
mov rbp, rax
mov rcx, rax
add rcx, 0x10
mov qword [rax + 8], rcx
mov rdx, r12
call fcn.140076910
mov rax, qword [rsi]
mov rcx, qword [r13]
mov rdx, qword [rbp]
cmp rcx, rax
cmova rax, rcx
cmp rax, rdx
cmova rax, rdx
add rax, rax
mov rdx, qword [rsp + 0x28]
mov rdx, qword [rdx]
mov rbx, qword [r14]
cmp rcx, rdx
cmova rdx, rcx
cmp rdx, rbx
cmova rdx, rbx
lea rdi, [rax + rax*2]
add rdx, rdx
lea rax, [rdx + rdx*2]
cmp rax, rdi
cmova rdi, rax
lea r12, [rdi*8]
mov ecx, 1
mov edx, 0x10
mov r8, r12
call fcn.14003f680
test rdi, rdi
jne 0x140081aa8
lea rcx, [0x140118dd4]
lea rdx, str._home_simon_mem_.build_workdirs_bob_qvbm9mtj_putty_crypto_mpint.c
mov r8d, 0x48
mov rsi, rax
call fcn.1400ca0ec
mov rax, rsi
mov qword [rax], rdi
mov rcx, rax
add rcx, 0x10
mov qword [rsp + 0x30], rax
mov qword [rax + 8], rcx
mov rdx, r12
call fcn.140076910
shr r15, 6
mov qword [rsp + 0x58], rbp
mov rcx, qword [rbp]
cmp rcx, r15
mov qword [rsp + 0x48], r15
mov rax, r15
cmovb rax, rcx
mov r15, rcx
sub r15, rax
cmp r15, rcx
cmovae r15, rcx
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
shl rcx, 6
or rcx, 4
mov qword [rsp + 0x78], rcx
cmp rcx, 0x15
mov r8, qword [rsp + 0x28]
jb 0x140081c70
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 8]
lea r12, [rcx + rax*8]
add r12, 8
mov eax, 0x14
jmp 0x140081b47
mov rax, qword [rsp + 0x60]
add rax, rax
add rax, 0xffffffffffffffff
cmp rax, qword [rsp + 0x78]
jae 0x140081c70
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x30]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x80], xmm0
mov rcx, r14
mov rdx, r13
lea r9, [rsp + 0x80]
call fcn.14007d980
mov r8, qword [rsp + 0x50]
mov r9, qword [r8]
test r9, r9
mov rax, qword [rsp + 0x38]
je 0x140081be0
mov rcx, qword [r8 + 8]
mov ebp, 1
xor edx, edx
jmp 0x140081b99
add rdx, 1
cmp r9, rdx
je 0x140081be0
cmp qword [rax], rdx
jbe 0x140081bb0
mov rdi, qword [rax + 8]
mov rdi, qword [rdi + rdx*8]
cmp qword [r14], rdx
ja 0x140081bb7
xor esi, esi
jmp 0x140081bbf
xor edi, edi
cmp qword [r14], rdx
jbe 0x140081bab
mov rsi, qword [r14 + 8]
mov rsi, qword [rsi + rdx*8]
not rsi
xor ebx, ebx
add rdi, rbp
setb bl
add rdi, rsi
mov rbp, rbx
adc rbp, 0
test rcx, rcx
je 0x140081b90
mov qword [rcx + rdx*8], rdi
jmp 0x140081b90
mov rax, qword [rsp + 0x30]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x58]
mov rdx, r13
lea r9, [rsp + 0x80]
call fcn.14007d980
cmp qword [r13], 0
mov r8, qword [rsp + 0x28]
je 0x140081b30
xor eax, eax
jmp 0x140081c3d
mov rdx, qword [r12 + rax*8]
add rdx, rdx
mov rbp, qword [r13 + 8]
or qword [rbp + rax*8], rdx
mov rax, rcx
cmp rcx, qword [r13]
jae 0x140081b30
cmp r15, rax
jbe 0x140081c50
mov rcx, qword [r12 + rax*8 - 8]
jmp 0x140081c52
xor ecx, ecx
mov rdx, qword [r13 + 8]
mov qword [rdx + rax*8], rcx
mov rcx, qword [r13 + 8]
shr qword [rcx + rax*8], 0x3f
lea rcx, [rax + 1]
cmp r15, rcx
ja 0x140081c20
xor edx, edx
jmp 0x140081c24
mov rdx, qword [r14]
mov rcx, qword [r14 + 8]
shl rdx, 3
call fcn.140076910
mov edx, 0x10
mov rcx, r14
call fcn.140076910
mov rcx, r14
call fcn.14003f720
mov rsi, qword [rsp + 0x50]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
shl rdx, 3
call fcn.140076910
mov edx, 0x10
mov rcx, rsi
call fcn.140076910
mov rcx, rsi
call fcn.14003f720
mov rsi, qword [rsp + 0x58]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
shl rdx, 3
call fcn.140076910
mov edx, 0x10
mov rcx, rsi
call fcn.140076910
mov rcx, rsi
call fcn.14003f720
mov rsi, qword [rsp + 0x30]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
shl rdx, 3
call fcn.140076910
mov edx, 0x10
mov rcx, rsi
call fcn.140076910
mov rcx, rsi
call fcn.14003f720
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsi]
add rdi, qword [r13]
lea rbx, [rdi*8]
mov ecx, 1
mov edx, 0x10
mov r8, rbx
call fcn.14003f680
mov rbp, rax
test rdi, rdi
jne 0x140081d5a
lea rcx, [0x140118dd4]
lea rdx, str._home_simon_mem_.build_workdirs_bob_qvbm9mtj_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.1400ca0ec
mov qword [rbp], rdi
mov rcx, rbp
add rcx, 0x10
mov qword [rbp + 8], rcx
mov rdx, rbx
call fcn.140076910
mov rcx, rbp
mov rdx, r13
mov r8, rsi
call fcn.14007c480
mov rax, qword [rbp]
mov qword [rsp + 0x30], rbp
mov rbp, qword [rbp + 8]
mov rcx, qword [rsp + 0x48]
cmp rax, rcx
cmovb rcx, rax
mov rbx, rax
mov r12, rcx
sub rbx, rcx
cmp rbx, rax
cmovae rbx, rax
mov rdi, qword [rsi]
lea r14, [rdi*8]
mov ecx, 1
mov edx, 0x10
mov r8, r14
call fcn.14003f680
mov r15, rax
test rdi, rdi
jne 0x140081de6
lea rcx, [0x140118dd4]
lea rdx, str._home_simon_mem_.build_workdirs_bob_qvbm9mtj_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.1400ca0ec
mov qword [r15], rdi
mov rcx, r15
add rcx, 0x10
mov qword [r15 + 8], rcx
mov rdx, r14
call fcn.140076910
cmp qword [r15], 0
mov rsi, qword [rsp + 0x28]
je 0x140081e71
lea rax, [r12*8 + 8]
add rax, rbp
xor ecx, ecx
jmp 0x140081e37
mov rbp, qword [rax + rcx*8]
add rbp, rbp
mov rdi, qword [r15 + 8]
or qword [rdi + rcx*8], rbp
mov rcx, rdx
cmp rdx, qword [r15]
jae 0x140081e71
cmp rbx, rcx
jbe 0x140081e50
mov rdx, qword [rax + rcx*8 - 8]
jmp 0x140081e52
xor edx, edx
mov rbp, qword [r15 + 8]
mov qword [rbp + rcx*8], rdx
mov rdx, qword [r15 + 8]
shr qword [rdx + rcx*8], 0x3f
lea rdx, [rcx + 1]
cmp rbx, rdx
ja 0x140081e20
xor ebp, ebp
jmp 0x140081e24
mov rdi, qword [rsi]
lea rbx, [rdi*8]
mov ecx, 1
mov edx, 0x10
mov r8, rbx
call fcn.14003f680
mov r14, rax
test rdi, rdi
jne 0x140081eaf
lea rcx, [0x140118dd4]
lea rdx, str._home_simon_mem_.build_workdirs_bob_qvbm9mtj_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.1400ca0ec
mov qword [r14], rdi
mov rcx, r14
add rcx, 0x10
mov qword [r14 + 8], rcx
mov rdx, rbx
call fcn.140076910
mov rcx, r14
mov rdx, r15
mov r8, rsi
call fcn.14007c480
mov r8, qword [r14]
test r8, r8
je 0x140081f55
mov rcx, qword [r14 + 8]
mov esi, 1
xor edx, edx
mov r11, qword [rsp + 0x28]
mov rax, qword [rsp + 0x40]
jmp 0x140081f09
add rdx, 1
cmp r8, rdx
je 0x140081f50
cmp qword [rax], rdx
jbe 0x140081f20
mov rbx, qword [rax + 8]
mov rbx, qword [rbx + rdx*8]
cmp qword [r14], rdx
ja 0x140081f27
xor edi, edi
jmp 0x140081f2f
xor ebx, ebx
cmp qword [r14], rdx
jbe 0x140081f1b
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 0x140081f00
mov qword [rcx + rdx*8], rbx
jmp 0x140081f00
mov rdx, qword [r14]
jmp 0x140081f5c
xor edx, edx
mov r11, qword [rsp + 0x28]
mov r8, qword [r11]
cmp rdx, r8
mov rcx, r8
cmova rcx, rdx
test rcx, rcx
je 0x140081fcb
mov eax, 1
xor ebx, ebx
jmp 0x140081fa7
mov rdi, qword [r11 + 8]
mov rsi, qword [rdi + rbx*8]
not rsi
xor edi, edi
add rbp, rax
setb dil
add rbp, rsi
adc rdi, 0
add rbx, 1
mov rax, rdi
cmp rcx, rbx
je 0x140081fd0
cmp rdx, rbx
jbe 0x140081fc0
mov rbp, qword [r14 + 8]
mov rbp, qword [rbp + rbx*8]
cmp r8, rbx
ja 0x140081f80
jmp 0x140081fc7
xor ebp, ebp
cmp r8, rbx
ja 0x140081f80
xor esi, esi
jmp 0x140081f88
mov edi, 1
test rdx, rdx
je 0x14008206b
mov r9d, edi
and r9d, 1
neg r9
mov rbx, qword [r14 + 8]
mov esi, r9d
and esi, 1
lea r8, [rdx - 1]
xor ebp, ebp
cmp rdx, rbp
jbe 0x140082020
nop dword [rax + rax]
mov rax, qword [r14 + 8]
mov rax, qword [rax + rbp*8]
cmp qword [r11], rbp
ja 0x140082027
xor edx, edx
jmp 0x14008202f
xor eax, eax
cmp qword [r11], rbp
jbe 0x14008200d
mov rdx, qword [r11 + 8]
mov rdx, qword [rdx + rbp*8]
not rdx
and rdx, r9
xor ecx, ecx
add rax, rsi
setb cl
add rax, rdx
mov rsi, rcx
adc rsi, 0
test rbx, rbx
je 0x140082050
mov qword [rbx + rbp*8], rax
cmp r8, rbp
je 0x140082063
mov rdx, qword [r14]
add rbp, 1
cmp rdx, rbp
jbe 0x140082020
jmp 0x140082000
mov r8, qword [r11]
mov rbx, qword [r14]
jmp 0x14008206d
xor ebx, ebx
cmp rbx, r8
mov r9, r8
cmova r9, rbx
test r9, r9
je 0x1400820db
mov eax, 1
xor ebp, ebp
jmp 0x1400820b6
mov rdx, qword [r11 + 8]
mov rsi, qword [rdx + rbp*8]
not rsi
xor edx, edx
add rcx, rax
setb dl
add rcx, rsi
adc rdx, 0
add rbp, 1
mov rax, rdx
cmp r9, rbp
je 0x1400820e0
cmp rbx, rbp
jbe 0x1400820d0
mov rcx, qword [r14 + 8]
mov rcx, qword [rcx + rbp*8]
cmp r8, rbp
ja 0x140082090
jmp 0x1400820d7
xor ecx, ecx
cmp r8, rbp
ja 0x140082090
xor esi, esi
jmp 0x140082098
mov edx, 1
test rbx, rbx
je 0x140082174
mov r9d, edx
and r9d, 1
neg r9
mov r10, qword [r14 + 8]
mov esi, r9d
and esi, 1
lea r8, [rbx - 1]
xor ecx, ecx
cmp rbx, rcx
jbe 0x140082130
nop dword [rax + rax]
mov rax, qword [r14 + 8]
mov rax, qword [rax + rcx*8]
cmp qword [r11], rcx
ja 0x140082137
xor ebx, ebx
jmp 0x14008213f
xor eax, eax
cmp qword [r11], rcx
jbe 0x14008211d
mov rbx, qword [r11 + 8]
mov rbx, qword [rbx + rcx*8]
not rbx
and rbx, r9
xor ebp, ebp
add rax, rsi
setb bpl
add rax, rbx
mov rsi, rbp
adc rsi, 0
test r10, r10
je 0x140082161
mov qword [r10 + rcx*8], rax
cmp r8, rcx
je 0x140082174
mov rbx, qword [r14]
add rcx, 1
cmp rbx, rcx
jbe 0x140082130
jmp 0x140082110
mov rbp, qword [r15]
test rbp, rbp
je 0x14008223d
mov rcx, qword [r15 + 8]
add edx, edi
xor eax, eax
add rdx, qword [rcx]
setb bl
mov qword [rcx], rdx
cmp rbp, 1
je 0x14008223d
mov al, bl
lea r8, [rbp - 1]
mov esi, 1
cmp rbp, 2
je 0x14008221f
mov rbx, r8
and rbx, 0xfffffffffffffffe
mov edx, 1
jmp 0x1400821e2
mov rdx, qword [r15 + 8]
mov rdx, qword [rdx + rsi*8 + 8]
mov dil, al
xor eax, eax
add rdi, rdx
setb al
mov qword [rcx + rsi*8 + 8], rdi
lea rdx, [rbp + 1]
cmp rbp, rbx
je 0x14008221b
mov rsi, rdx
cmp qword [r15], rdx
jbe 0x140082200
mov rdx, qword [r15 + 8]
mov rdx, qword [rdx + rsi*8]
jmp 0x140082202
xor edx, edx
xor edi, edi
add rdx, rax
setb al
mov qword [rcx + rsi*8], rdx
lea rbp, [rsi + 1]
cmp qword [r15], rbp
ja 0x1400821c0
xor edx, edx
jmp 0x1400821c9
add rsi, 2
test r8b, 1
je 0x14008223d
cmp qword [r15], rsi
jbe 0x140082234
mov rdx, qword [r15 + 8]
mov rdx, qword [rdx + rsi*8]
jmp 0x140082236
xor edx, edx
add rdx, rax
mov qword [rcx + rsi*8], rdx
mov r8, qword [r11]
mov rcx, qword [r14]
cmp rcx, r8
mov rdx, r8
cmova rdx, rcx
test rdx, rdx
je 0x1400822b0
mov esi, 1
xor ebp, ebp
jmp 0x140082286
mov rax, qword [r11 + 8]
mov rax, qword [rax + rbp*8]
not rax
xor ebx, ebx
add rdi, rsi
setb bl
add rdi, rax
adc rbx, 0
add rbp, 1
mov rsi, rbx
cmp rdx, rbp
je 0x1400822ab
cmp rcx, rbp
jbe 0x1400822a0
mov rax, qword [r14 + 8]
mov rdi, qword [rax + rbp*8]
cmp r8, rbp
ja 0x140082260
jmp 0x1400822a7
xor edi, edi
cmp r8, rbp
ja 0x140082260
xor eax, eax
jmp 0x140082268
test rbx, rbx
je 0x1400822c9
lea rcx, str._mp_cmp_hs_remainder__d_
lea rdx, str._home_simon_mem_.build_workdirs_bob_qvbm9mtj_putty_crypto_mpint.c
mov r8d, 0x90d
call fcn.1400ca0ec
mov rdi, qword [rsp + 0x68]
test rdi, rdi
je 0x14008230e
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
mov rsi, qword [r15]
mov rdx, qword [r15 + 8]
cmp rax, rsi
cmovb rsi, rax
lea rbx, [rsi*8]
mov r8, rbx
call fcn.1400ba4a0
mov rdx, qword [rdi]
sub rdx, rsi
shl rdx, 3
add rbx, qword [rdi + 8]
mov rcx, rbx
call fcn.140076910
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x140082353
mov rax, qword [rdi]
mov rcx, qword [rdi + 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.1400ba4a0
mov rdx, qword [rdi]
sub rdx, rsi
shl rdx, 3
add rbx, qword [rdi + 8]
mov rcx, rbx
call fcn.140076910
mov rdx, qword [r13]
mov rcx, qword [r13 + 8]
shl rdx, 3
call fcn.140076910
mov edx, 0x10
mov rcx, r13
call fcn.140076910
mov rcx, r13
call fcn.14003f720
mov rsi, qword [rsp + 0x38]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
shl rdx, 3
call fcn.140076910
mov edx, 0x10
mov rcx, rsi
call fcn.140076910
mov rcx, rsi
call fcn.14003f720
mov rsi, qword [rsp + 0x30]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
shl rdx, 3
call fcn.140076910
mov edx, 0x10
mov rcx, rsi
call fcn.140076910
mov rcx, rsi
call fcn.14003f720
mov rdx, qword [r15]
mov rcx, qword [r15 + 8]
shl rdx, 3
call fcn.140076910
mov edx, 0x10
mov rcx, r15
call fcn.140076910
mov rcx, r15
call fcn.14003f720
mov rdx, qword [r14]
mov rcx, qword [r14 + 8]
shl rdx, 3
call fcn.140076910
mov edx, 0x10
mov rcx, r14
call fcn.140076910
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400b9230
mov rcx, r14
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14003f720