Function at 0x1400814a0
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 + 0x78], r9
mov qword [rsp + 0x70], r8
mov rax, qword [0x140129050]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r11, qword [rdx]
mov ebp, 1
test r11, r11
cmovne rbp, r11
je 0x1400814f2
mov rax, qword [rdx + 8]
mov rax, qword [rax]
cmp r11, 2
jae 0x1400814fe
jmp 0x140081591
xor eax, eax
cmp r11, 2
jb 0x140081591
lea r8, [rbp - 1]
cmp rbp, 2
jne 0x140081515
mov esi, 1
test r8b, 1
jne 0x14008157c
jmp 0x140081591
mov rbp, r8
and rbp, 0xfffffffffffffffe
mov edi, 1
jmp 0x140081545
mov rdi, qword [rdx + 8]
mov rdi, qword [rdi + rsi*8 + 8]
or rax, rdi
lea rdi, [rbx + 1]
cmp rbx, rbp
je 0x140081572
mov rsi, rdi
cmp r11, rdi
jbe 0x140081560
mov rbx, qword [rdx + 8]
mov rbx, qword [rbx + rsi*8]
jmp 0x140081562
xor ebx, ebx
or rax, rbx
lea rbx, [rsi + 1]
cmp r11, rbx
ja 0x140081530
xor edi, edi
jmp 0x140081539
add rsi, 2
test r8b, 1
je 0x140081591
cmp r11, rsi
jbe 0x14008158c
mov rbp, qword [rdx + 8]
mov rbp, qword [rbp + rsi*8]
jmp 0x14008158e
xor ebp, ebp
or rax, rbp
mov rbp, rax
shr rbp, 1
and eax, 1
or rax, rbp
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x38], rcx
je 0x1400815c9
test r11, r11
je 0x1400815f4
mov r9, qword [rdx + 8]
cmp r11, 1
jne 0x140081604
xor r10d, r10d
xor eax, eax
xor r14d, r14d
xor ebx, ebx
xor ebp, ebp
jmp 0x140081672
lea rcx, str._mp_eq_integer_d__0_
lea rdx, str._home_simon_mem_.build_workdirs_bob_fffbk9my_putty_crypto_mpint.c
mov r8d, 0x7fc
call fcn.1400c9b7c
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x20]
mov r11, qword [rdx]
test r11, r11
jne 0x1400815ae
mov r13, r11
xor r10d, r10d
xor eax, eax
xor r14d, r14d
jmp 0x140081699
mov r8, r11
and r8, 0xfffffffffffffffe
xor r10d, r10d
xor eax, eax
xor r14d, r14d
xor ebx, ebx
xor ebp, ebp
nop word [rax + rax]
mov rdi, qword [r9 + rbp*8]
mov rsi, rdi
shr rsi, 1
mov ecx, edi
and ecx, 1
or rcx, rsi
cmovne r10, rbx
mov rbx, qword [r9 + rbp*8 + 8]
cmovne rax, rdi
mov rcx, r14
cmovne rcx, rbp
mov rsi, rbx
shr rsi, 1
mov edx, ebx
and edx, 1
lea r14, [rbp + 1]
or rdx, rsi
cmovne rax, rbx
cmovne r10, rdi
cmove r14, rcx
add rbp, 2
cmp rbp, r8
jne 0x140081620
mov rcx, qword [rsp + 0x38]
mov r13, r11
test r11b, 1
je 0x140081699
mov rsi, qword [r9 + rbp*8]
mov rdx, rsi
shr rdx, 1
mov edi, esi
and edi, 1
or rdi, rdx
cmovne rax, rsi
cmovne r10, rbx
cmovne r14, rbp
mov rsi, rax
shr rsi, 0x20
mov r8, rax
shr r8, 0x21
and esi, 1
shrd r10, rax, 0x20
mov rdx, r8
or rdx, rsi
cmovne r10, rax
mov rax, r10
shr rax, 0x30
mov rdx, r10
shr rdx, 0x31
and eax, 1
mov rbp, r10
shl rbp, 0x10
or rax, rdx
sete byte [rsp + 0x58]
cmovne rbp, r10
mov rax, rbp
shr rax, 0x38
mov rbx, rbp
shr rbx, 0x39
and eax, 1
mov rdx, rbp
shl rdx, 8
or rax, rbx
sete byte [rsp + 0x40]
cmovne rdx, rbp
mov rax, rdx
shr rax, 0x3c
mov rbp, rdx
shr rbp, 0x3d
and eax, 1
mov rbx, rdx
shl rbx, 4
or rax, rbp
cmovne rbx, rdx
sete byte [rsp + 0x48]
mov r15, rbx
shr r15, 0x3e
mov rax, rbx
shr rax, 0x3f
and r15d, 1
or r15, rax
lea r12, [rbx*4]
xor r12, rbx
add r15, 0xffffffffffffffff
and r12, r15
xor r12, rbx
lea rdx, [r12 + r12]
mov rax, rdx
xor rax, r12
sar r12, 0x3f
and rax, r12
xor rax, rdx
shr rax, 0x20
mov edx, 0x90d876cd
lea rbp, [rdx + 0x2028d09]
imul rbp, rax
shr rbp, 0x22
neg rbp
add rbp, rdx
add rbp, 0x6565fb1d
imul rbp, rax
shr rbp, 0x22
neg rbp
add rbp, rdx
add rbp, 0x255eab1b
imul rbp, rax
shr rbp, 0x21
neg rbp
add rbp, rdx
add rbp, 0xb552941
imul rbp, rax
shr rbp, 0x20
neg rbp
add rbp, rdx
add rbp, 0x1a0194eb
imul rbp, rax
shr rbp, 0x1f
neg rbp
add rbp, rdx
add rbp, 0x66845d36
imul rbp, rax
shr rbp, 0x1f
neg rbp
add rbp, rdx
add rbp, 0x5c210374
imul rbp, rax
shr rbp, 0x1f
sub rdx, rbp
imul rdx, rax
and rdx, 0xfffffffffc000000
shl rdx, 6
movabs rbx, 0x682799a000000000
sub rbx, rdx
xor eax, eax
mov rdx, r8
or rdx, rsi
mov rdx, rbx
cmove rdx, rax
mov qword [rsp + 0x68], rdx
shr rbx, 0x20
or r8, rsi
cmovne rbx, rax
add r13, qword [rcx]
shl r13, 6
lea rcx, [r13 + 3]
add r13, 0xffffffffffffff83
and r13, 0xffffffffffffffc0
cmp rcx, 0xbf
cmovb r13, rax
mov qword [rsp + 0x50], r13
lea rsi, [r13 + 0x100]
mov rdi, rsi
shr rdi, 6
mov rbp, rsi
shr rbp, 3
mov ecx, 1
mov edx, 0x10
mov r8, rbp
call fcn.140042eb0
mov r13, rax
mov qword [rsp + 0x30], rsi
test rsi, rsi
jne 0x1400818a7
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 [rsp + 0x28], rdi
mov qword [r13], rdi
mov rcx, r13
add rcx, 0x10
mov qword [r13 + 8], rcx
mov qword [rsp + 0x60], rbp
mov rdx, rbp
call fcn.1400778a0
mov r10, qword [r13]
test r10, r10
je 0x140081ab0
xor eax, eax
mov cl, byte [rsp + 0x58]
mov al, cl
mov rbp, rbx
mov rdi, qword [rsp + 0x68]
shld rbp, rdi, 0x10
mov rdx, rdi
shl rdx, 0x10
neg rax
xor rbp, rbx
xor rdx, rdi
and rbp, rax
and rdx, rax
xor eax, eax
mov cl, byte [rsp + 0x40]
mov al, cl
xor rbp, rbx
xor rdx, rdi
mov r8, rbp
shld r8, rdx, 8
mov rcx, rdx
shl rcx, 8
neg rax
xor r8, rbp
xor rcx, rdx
and r8, rax
and rcx, rax
xor eax, eax
mov bl, byte [rsp + 0x48]
mov al, bl
xor r8, rbp
xor rcx, rdx
mov rbp, r8
shld rbp, rcx, 4
mov rbx, rcx
shl rbx, 4
neg rax
xor rbp, r8
xor rbx, rcx
and rbp, rax
and rbx, rax
shr r15d, 1
xor rbp, r8
xor rbx, rcx
and r15d, 1
mov rdx, rbp
shld rdx, rbx, 2
lea r8, [rbx*4]
xor rdx, rbp
neg r15
xor r8, rbx
and rdx, r15
and r8, r15
xor rdx, rbp
xor r8, rbx
mov r9, rdx
shld r9, r8, 1
or r12, 0xfffffffffffffffe
lea rbp, [r8 + r8]
add r12, 1
xor r9, rdx
xor rbp, r8
and r9, r12
and rbp, r12
xor r9, rdx
xor rbp, r8
shl r14, 6
mov r8, qword [rsp + 0x50]
sub r8, r14
add r8, 0x40
shr r8, 6
xor ecx, ecx
xor r11d, r11d
xor eax, eax
jmp 0x1400819fa
mov r10, qword [rbx + rax*8]
and rbp, rsi
xor edx, edx
add rdi, r11
setb dl
add rdi, r10
adc rdx, 0
mov qword [rbx + rax*8], rdi
add rax, 1
mov r10, qword [r13]
mov r11, rdx
cmp rax, r10
jae 0x140081a30
mov edi, ecx
mov rbx, rax
xor rbx, r8
mov rsi, rbx
shr rsi, 1
and ebx, 1
xor ecx, ecx
or rbx, rsi
sete cl
or ecx, edi
mov rdi, rcx
neg rdi
and rdi, rbp
lea rsi, [rcx - 1]
mov rbx, qword [r13 + 8]
cmp r10, rax
ja 0x1400819d0
xor r10d, r10d
jmp 0x1400819d4
test r10, r10
je 0x140081ab0
add r8, 1
xor ebx, ebx
xor eax, eax
xor ebp, ebp
jmp 0x140081a7a
mov r10, qword [rdi + rbp*8]
and r9, rsi
xor edx, edx
add rcx, rax
setb dl
add rcx, r10
adc rdx, 0
mov qword [rdi + rbp*8], rcx
add rbp, 1
mov r10, qword [r13]
mov rax, rdx
cmp rbp, r10
jae 0x140081ab0
mov edx, ebx
mov rcx, rbp
xor rcx, r8
mov rdi, rcx
shr rdi, 1
and ecx, 1
xor ebx, ebx
or rcx, rdi
sete bl
or ebx, edx
mov rcx, rbx
neg rcx
and rcx, r9
lea rsi, [rbx - 1]
mov rdi, qword [r13 + 8]
cmp r10, rbp
ja 0x140081a50
xor r10d, r10d
jmp 0x140081a54
mov ecx, 1
mov edx, 0x10
mov rsi, qword [rsp + 0x60]
mov r8, rsi
call fcn.140042eb0
cmp qword [rsp + 0x30], 0
mov qword [rsp + 0x30], rax
jne 0x140081af2
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 + 0x30]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
mov rcx, rax
add rcx, 0x10
mov qword [rax + 8], rcx
mov rdx, rsi
call fcn.1400778a0
mov r11, qword [rsp + 0x30]
mov rbx, qword [r11]
test rbx, rbx
mov r10, qword [rsp + 0x20]
mov r15, qword [rsp + 0x50]
je 0x140081ba1
lea r8, [r15 + 0xc0]
shr r8, 6
xor edi, edi
mov ecx, 1
xor eax, eax
xor esi, esi
jmp 0x140081b69
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 0x140081ba1
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 0x140081b40
xor ebx, ebx
jmp 0x140081b44
mov rdi, qword [r10]
mov rbp, qword [rsp + 0x28]
add rdi, rbp
lea rbx, [rdi*8]
mov ecx, 1
mov edx, 0x10
mov r8, rbx
call fcn.140042eb0
mov r14, rax
test rdi, rdi
jne 0x140081be7
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], rdi
mov rcx, r14
add rcx, 0x10
mov qword [r14 + 8], rcx
mov rdx, rbx
call fcn.1400778a0
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.140042eb0
test rdi, rdi
mov qword [rsp + 0x40], rax
jne 0x140081c49
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 + 0x40]
mov qword [rax], rdi
mov rcx, rax
add rcx, 0x10
mov qword [rax + 8], rcx
mov rdx, rsi
mov rsi, rax
call fcn.1400778a0
add rbp, qword [rsi]
lea r12, [rbp*8]
mov ecx, 1
mov edx, 0x10
mov r8, r12
call fcn.140042eb0
test rbp, rbp
jne 0x140081ca3
mov rdi, rax
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, 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.1400778a0
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 + 0x20]
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.140042eb0
test rdi, rdi
jne 0x140081d48
lea rcx, [0x1401162de]
lea rdx, str._home_simon_mem_.build_workdirs_bob_fffbk9my_putty_crypto_mpint.c
mov r8d, 0x48
mov rsi, rax
call fcn.1400c9b7c
mov rax, rsi
mov qword [rax], rdi
mov rcx, rax
add rcx, 0x10
mov qword [rsp + 0x28], rax
mov qword [rax + 8], rcx
mov rdx, r12
call fcn.1400778a0
shr r15, 6
mov qword [rsp + 0x48], rbp
mov rcx, qword [rbp]
cmp rcx, r15
mov qword [rsp + 0x50], r15
mov rax, r15
cmovb rax, rcx
mov r15, rcx
sub r15, rax
cmp r15, rcx
cmovae r15, rcx
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx]
shl rcx, 6
or rcx, 4
mov qword [rsp + 0x58], rcx
cmp rcx, 0x15
mov r8, qword [rsp + 0x20]
jb 0x140081f10
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 8]
lea r12, [rcx + rax*8]
add r12, 8
mov eax, 0x14
jmp 0x140081de7
mov rax, qword [rsp + 0x60]
add rax, rax
add rax, 0xffffffffffffffff
cmp rax, qword [rsp + 0x58]
jae 0x140081f10
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x28]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x80], xmm0
mov rcx, r14
mov rdx, r13
lea r9, [rsp + 0x80]
call fcn.14007dbc0
mov r8, qword [rsp + 0x40]
mov r9, qword [r8]
test r9, r9
mov rax, qword [rsp + 0x30]
je 0x140081e80
mov rcx, qword [r8 + 8]
mov ebp, 1
xor edx, edx
jmp 0x140081e39
add rdx, 1
cmp r9, rdx
je 0x140081e80
cmp qword [rax], rdx
jbe 0x140081e50
mov rdi, qword [rax + 8]
mov rdi, qword [rdi + rdx*8]
cmp qword [r14], rdx
ja 0x140081e57
xor esi, esi
jmp 0x140081e5f
xor edi, edi
cmp qword [r14], rdx
jbe 0x140081e4b
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 0x140081e30
mov qword [rcx + rdx*8], rdi
jmp 0x140081e30
mov rax, qword [rsp + 0x28]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x48]
mov rdx, r13
lea r9, [rsp + 0x80]
call fcn.14007dbc0
cmp qword [r13], 0
mov r8, qword [rsp + 0x20]
je 0x140081dd0
xor eax, eax
jmp 0x140081edd
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 0x140081dd0
cmp r15, rax
jbe 0x140081ef0
mov rcx, qword [r12 + rax*8 - 8]
jmp 0x140081ef2
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 0x140081ec0
xor edx, edx
jmp 0x140081ec4
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 + 0x40]
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 rsi, qword [rsp + 0x48]
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 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 rsi, qword [rsp + 0x38]
mov rdi, qword [rsi]
add rdi, qword [r13]
lea rbx, [rdi*8]
mov ecx, 1
mov edx, 0x10
mov r8, rbx
call fcn.140042eb0
mov rbp, rax
test rdi, rdi
jne 0x140081ffa
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 [rbp], rdi
mov rcx, rbp
add rcx, 0x10
mov qword [rbp + 8], rcx
mov rdx, rbx
call fcn.1400778a0
mov rcx, rbp
mov rdx, r13
mov r8, rsi
call fcn.14007c6c0
mov rax, qword [rbp]
mov qword [rsp + 0x28], rbp
mov rbp, qword [rbp + 8]
mov rcx, qword [rsp + 0x50]
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.140042eb0
mov r15, rax
test rdi, rdi
jne 0x140082086
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 [r15], rdi
mov rcx, r15
add rcx, 0x10
mov qword [r15 + 8], rcx
mov rdx, r14
call fcn.1400778a0
cmp qword [r15], 0
mov rsi, qword [rsp + 0x20]
je 0x140082111
lea rax, [r12*8 + 8]
add rax, rbp
xor ecx, ecx
jmp 0x1400820d7
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 0x140082111
cmp rbx, rcx
jbe 0x1400820f0
mov rdx, qword [rax + rcx*8 - 8]
jmp 0x1400820f2
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 0x1400820c0
xor ebp, ebp
jmp 0x1400820c4
mov rdi, qword [rsi]
lea rbx, [rdi*8]
mov ecx, 1
mov edx, 0x10
mov r8, rbx
call fcn.140042eb0
mov r14, rax
test rdi, rdi
jne 0x14008214f
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], rdi
mov rcx, r14
add rcx, 0x10
mov qword [r14 + 8], rcx
mov rdx, rbx
call fcn.1400778a0
mov rcx, r14
mov rdx, r15
mov r8, rsi
call fcn.14007c6c0
mov r8, qword [r14]
test r8, r8
je 0x1400821f5
mov rcx, qword [r14 + 8]
mov esi, 1
xor edx, edx
mov r11, qword [rsp + 0x20]
mov rax, qword [rsp + 0x38]
jmp 0x1400821a9
add rdx, 1
cmp r8, rdx
je 0x1400821f0
cmp qword [rax], rdx
jbe 0x1400821c0
mov rbx, qword [rax + 8]
mov rbx, qword [rbx + rdx*8]
cmp qword [r14], rdx
ja 0x1400821c7
xor edi, edi
jmp 0x1400821cf
xor ebx, ebx
cmp qword [r14], rdx
jbe 0x1400821bb
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 0x1400821a0
mov qword [rcx + rdx*8], rbx
jmp 0x1400821a0
mov rdx, qword [r14]
jmp 0x1400821fc
xor edx, edx
mov r11, qword [rsp + 0x20]
mov r8, qword [r11]
cmp rdx, r8
mov rcx, r8
cmova rcx, rdx
test rcx, rcx
je 0x14008226b
mov eax, 1
xor ebx, ebx
jmp 0x140082247
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 0x140082270
cmp rdx, rbx
jbe 0x140082260
mov rbp, qword [r14 + 8]
mov rbp, qword [rbp + rbx*8]
cmp r8, rbx
ja 0x140082220
jmp 0x140082267
xor ebp, ebp
cmp r8, rbx
ja 0x140082220
xor esi, esi
jmp 0x140082228
mov edi, 1
test rdx, rdx
je 0x14008230b
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 0x1400822c0
nop dword [rax + rax]
mov rax, qword [r14 + 8]
mov rax, qword [rax + rbp*8]
cmp qword [r11], rbp
ja 0x1400822c7
xor edx, edx
jmp 0x1400822cf
xor eax, eax
cmp qword [r11], rbp
jbe 0x1400822ad
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 0x1400822f0
mov qword [rbx + rbp*8], rax
cmp r8, rbp
je 0x140082303
mov rdx, qword [r14]
add rbp, 1
cmp rdx, rbp
jbe 0x1400822c0
jmp 0x1400822a0
mov r8, qword [r11]
mov rbx, qword [r14]
jmp 0x14008230d
xor ebx, ebx
cmp rbx, r8
mov r9, r8
cmova r9, rbx
test r9, r9
je 0x14008237b
mov eax, 1
xor ebp, ebp
jmp 0x140082356
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 0x140082380
cmp rbx, rbp
jbe 0x140082370
mov rcx, qword [r14 + 8]
mov rcx, qword [rcx + rbp*8]
cmp r8, rbp
ja 0x140082330
jmp 0x140082377
xor ecx, ecx
cmp r8, rbp
ja 0x140082330
xor esi, esi
jmp 0x140082338
mov edx, 1
test rbx, rbx
je 0x140082414
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 0x1400823d0
nop dword [rax + rax]
mov rax, qword [r14 + 8]
mov rax, qword [rax + rcx*8]
cmp qword [r11], rcx
ja 0x1400823d7
xor ebx, ebx
jmp 0x1400823df
xor eax, eax
cmp qword [r11], rcx
jbe 0x1400823bd
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 0x140082401
mov qword [r10 + rcx*8], rax
cmp r8, rcx
je 0x140082414
mov rbx, qword [r14]
add rcx, 1
cmp rbx, rcx
jbe 0x1400823d0
jmp 0x1400823b0
mov rbp, qword [r15]
test rbp, rbp
je 0x1400824dd
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 0x1400824dd
mov al, bl
lea r8, [rbp - 1]
mov esi, 1
cmp rbp, 2
je 0x1400824bf
mov rbx, r8
and rbx, 0xfffffffffffffffe
mov edx, 1
jmp 0x140082482
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 0x1400824bb
mov rsi, rdx
cmp qword [r15], rdx
jbe 0x1400824a0
mov rdx, qword [r15 + 8]
mov rdx, qword [rdx + rsi*8]
jmp 0x1400824a2
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 0x140082460
xor edx, edx
jmp 0x140082469
add rsi, 2
test r8b, 1
je 0x1400824dd
cmp qword [r15], rsi
jbe 0x1400824d4
mov rdx, qword [r15 + 8]
mov rdx, qword [rdx + rsi*8]
jmp 0x1400824d6
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 0x140082550
mov esi, 1
xor ebp, ebp
jmp 0x140082526
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 0x14008254b
cmp rcx, rbp
jbe 0x140082540
mov rax, qword [r14 + 8]
mov rdi, qword [rax + rbp*8]
cmp r8, rbp
ja 0x140082500
jmp 0x140082547
xor edi, edi
cmp r8, rbp
ja 0x140082500
xor eax, eax
jmp 0x140082508
test rbx, rbx
je 0x140082569
lea rcx, str._mp_cmp_hs_remainder__d_
lea rdx, str._home_simon_mem_.build_workdirs_bob_fffbk9my_putty_crypto_mpint.c
mov r8d, 0x90d
call fcn.1400c9b7c
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1400825b1
mov rdi, rax
mov rax, qword [rax]
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.1400b9f30
mov rdx, qword [rdi]
sub rdx, rsi
shl rdx, 3
add rbx, qword [rdi + 8]
mov rcx, rbx
call fcn.1400778a0
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400825f9
mov rdi, rax
mov rax, qword [rax]
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.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 [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
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 [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, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400b8cc0
mov rcx, r14
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140042f50