Function at 0x14003d1f0
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 rsi, r9
mov rdi, r8
mov rax, qword [0x1400c5038]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r8, qword [rdx]
mov eax, 1
test r8, r8
cmovne rax, r8
je 0x14003d236
mov rbp, qword [rdx + 8]
mov rbx, qword [rbp]
jmp 0x14003d238
xor ebx, ebx
cmp r8, 2
mov qword [rsp + 0x38], rcx
jb 0x14003d2f8
lea r10, [rax - 1]
cmp rax, 2
jne 0x14003d266
mov r11d, 1
test r10b, 1
jne 0x14003d2e4
jmp 0x14003d2f8
mov r9, rdi
mov rax, r10
and rax, 0xfffffffffffffffe
neg rax
mov ebp, 1
jmp 0x14003d29e
mov rdi, qword [rdx + 8]
mov rdi, qword [rdi + r11*8 + 8]
or rbx, rdi
lea rdi, [rax + r11]
add rdi, 2
add rbp, 1
cmp rdi, 1
je 0x14003d2d2
mov r11, rbp
cmp r8, rbp
jbe 0x14003d2c0
mov rbp, qword [rdx + 8]
mov rbp, qword [rbp + r11*8]
jmp 0x14003d2c2
xor ebp, ebp
or rbx, rbp
lea rbp, [r11 + 1]
cmp r8, rbp
ja 0x14003d280
xor edi, edi
jmp 0x14003d289
add r11, 2
mov rdi, r9
mov rcx, qword [rsp + 0x38]
test r10b, 1
je 0x14003d2f8
cmp r8, r11
jbe 0x14003d2f3
mov rax, qword [rdx + 8]
mov rax, qword [rax + r11*8]
jmp 0x14003d2f5
xor eax, eax
or rbx, rax
mov rax, rbx
shr rax, 1
and ebx, 1
or rbx, rax
mov qword [rsp + 0x28], rdx
jne 0x14003d331
lea rcx, str._mp_eq_integer_d__0_
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_crypto_mpint.c
mov r8d, 0x7f4
call fcn.14007b7e4
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rdx]
test r8, r8
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rdi
je 0x14003d365
mov r10, qword [rdx + 8]
cmp r8, 1
jne 0x14003d372
xor r11d, r11d
xor edx, edx
xor r15d, r15d
xor esi, esi
xor ebx, ebx
test r8b, 1
jne 0x14003d3e8
jmp 0x14003d406
xor r11d, r11d
xor edx, edx
xor r15d, r15d
jmp 0x14003d406
mov r9, r8
and r9, 0xfffffffffffffffe
xor r11d, r11d
xor edx, edx
xor r15d, r15d
xor esi, esi
xor ebx, ebx
nop word cs:[rax + rax]
nop
mov rdi, qword [r10 + rbx*8]
mov rax, rdi
shr rax, 1
mov ebp, edi
and ebp, 1
or rbp, rax
cmovne r11, rsi
mov rsi, qword [r10 + 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 r11, rdi
cmove r15, rax
add rbx, 2
cmp r9, rbx
jne 0x14003d390
mov rcx, qword [rsp + 0x38]
test r8b, 1
je 0x14003d406
mov rdi, qword [r10 + rbx*8]
mov rbp, rdi
shr rbp, 1
mov eax, edi
and eax, 1
or rax, rbp
cmovne rdx, rdi
cmovne r11, rsi
cmovne r15, rbx
mov rax, rdx
shr rax, 0x20
mov rbp, rdx
shr rbp, 0x21
and eax, 1
xor ebx, ebx
or rax, rbp
sete bl
shrd r11, rdx, 0x20
xor r11, rdx
mov qword [rsp + 0x50], rbx
mov rax, rbx
neg rax
and rax, r11
xor rax, rdx
mov rbp, rax
shr rbp, 0x30
mov rdx, rax
shr rdx, 0x31
and ebp, 1
xor esi, esi
or rbp, rdx
sete sil
mov rbp, rax
shl rbp, 0x10
xor rbp, rax
mov rdx, rsi
neg rdx
and rdx, rbp
xor rdx, rax
mov rax, rdx
shr rax, 0x38
mov rbp, rdx
shr rbp, 0x39
and eax, 1
xor r14d, r14d
or rax, rbp
sete r14b
mov rax, rdx
shl rax, 8
xor rax, rdx
mov rbx, r14
neg rbx
and rbx, rax
xor rbx, rdx
mov rax, rbx
shr rax, 0x3c
mov rdx, rbx
shr rdx, 0x3d
and eax, 1
or rax, rdx
sete byte [rsp + 0x48]
add r8, qword [rcx]
shl r8, 6
lea rax, [r8 + 3]
add r8, 0xffffffffffffff83
and r8, 0xffffffffffffffc0
xor ecx, ecx
cmp rax, 0xbf
cmovae rcx, r8
mov qword [rsp + 0x58], rcx
lea rbp, [rcx + 0x100]
mov r12, rbp
shr r12, 6
mov rdi, rbp
shr rdi, 3
mov ecx, 1
mov edx, 0x10
mov r8, rdi
call fcn.140016170
mov r13, rax
mov qword [rsp + 0x40], rbp
test rbp, rbp
jne 0x14003d523
lea rcx, [0x1400b6958]
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.14007b7e4
mov qword [rsp + 0x30], r12
mov qword [r13], r12
mov rcx, r13
add rcx, 0x10
mov qword [r13 + 8], rcx
mov qword [rsp + 0x60], rdi
mov rdx, rdi
call fcn.1400349b0
mov r11, qword [r13]
test r11, r11
je 0x14003d84f
xor edi, edi
mov al, byte [rsp + 0x48]
mov dil, al
mov rax, rbx
shl rax, 4
xor rax, rbx
mov rcx, rdi
neg rcx
and rcx, rax
xor rcx, rbx
mov r9, rcx
shr r9, 0x3e
and r9d, 1
mov rax, rcx
shr rax, 0x3f
or r9, rax
lea r8, [rcx*4]
xor r8, rcx
add r9, 0xffffffffffffffff
and r8, r9
xor r8, rcx
lea rax, [r8 + r8]
mov rbx, rax
xor rbx, r8
sar r8, 0x3f
and rbx, r8
xor rbx, rax
mov ebp, 0x90d876cd
shr rbx, 0x20
lea rax, [rbp + 0x2028d09]
imul rax, rbx
shr rax, 0x22
neg rax
add rax, rbp
add rax, 0x6565fb1d
imul rax, rbx
shr rax, 0x22
neg rax
add rax, rbp
add rax, 0x255eab1b
imul rax, rbx
shr rax, 0x21
neg rax
add rax, rbp
add rax, 0xb552941
imul rax, rbx
shr rax, 0x20
neg rax
add rax, rbp
add rax, 0x1a0194eb
imul rax, rbx
shr rax, 0x1f
neg rax
add rax, rbp
add rax, 0x66845d36
imul rax, rbx
shr rax, 0x1f
neg rax
add rax, rbp
add rax, 0x5c210374
imul rax, rbx
shr rax, 0x1f
sub rbp, rax
imul rbp, rbx
and rbp, 0xfffffffffc000000
shl rbp, 6
movabs rax, 0x682799a000000000
sub rax, rbp
mov rdx, qword [rsp + 0x50]
neg edx
shr edx, 5
and edx, 1
lea rcx, [rdx - 1]
and rcx, rax
shr rax, 0x20
neg edx
neg esi
and eax, edx
shr esi, 4
and esi, 1
mov rbx, rax
shld rbx, rcx, 0x10
mov rdx, rcx
shl rdx, 0x10
xor rbx, rax
neg rsi
xor rdx, rcx
neg r14d
and rbx, rsi
and rdx, rsi
shr r14d, 3
xor rbx, rax
xor rdx, rcx
mov r10, rbx
shld r10, rdx, 8
and r14d, 1
mov rcx, rdx
shl rcx, 8
xor r10, rbx
neg r14
xor rcx, rdx
neg edi
and r10, r14
and rcx, r14
shr edi, 2
xor r10, rbx
xor rcx, rdx
and edi, 1
mov rdx, r10
shld rdx, rcx, 4
mov rbp, rcx
shl rbp, 4
xor rdx, r10
neg rdi
xor rbp, rcx
and rdx, rdi
and rbp, rdi
shr r9d, 1
xor rdx, r10
xor rbp, rcx
and r9d, 1
mov rcx, rdx
shld rcx, rbp, 2
lea rbx, [rbp*4]
xor rcx, rdx
neg r9
xor rbx, rbp
and rcx, r9
and rbx, r9
xor rcx, rdx
xor rbx, rbp
mov r9, rcx
shld r9, rbx, 1
or r8, 0xfffffffffffffffe
lea rbp, [rbx + rbx]
add r8, 1
xor r9, rcx
xor rbp, rbx
and r9, r8
and rbp, r8
xor r9, rcx
xor rbp, rbx
shl r15, 6
mov r8, qword [rsp + 0x58]
sub r8, r15
add r8, 0x40
shr r8, 6
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x14003d79b
mov r10, qword [rbx + rdx*8]
and rbp, rsi
xor esi, esi
add rdi, rcx
setb sil
add rdi, r10
adc rsi, 0
mov qword [rbx + rdx*8], rdi
add rdx, 1
mov r11, qword [r13]
mov rcx, rsi
cmp rdx, r11
jae 0x14003d7d1
mov edi, eax
mov rbx, rdx
xor rbx, r8
mov rsi, rbx
shr rsi, 1
and ebx, 1
xor eax, eax
or rbx, rsi
sete al
or eax, edi
mov rdi, rax
neg rdi
and rdi, rbp
lea rsi, [rax - 1]
mov rbx, qword [r13 + 8]
cmp r11, rdx
ja 0x14003d770
xor r10d, r10d
jmp 0x14003d774
test r11, r11
je 0x14003d84f
add r8, 1
xor ebx, ebx
xor esi, esi
xor ebp, ebp
jmp 0x14003d81a
mov rdi, qword [rdx + rbp*8]
and r9, rcx
xor ecx, ecx
add rax, rsi
setb cl
add rax, rdi
adc rcx, 0
mov qword [rdx + rbp*8], rax
add rbp, 1
mov r11, qword [r13]
mov rsi, rcx
cmp rbp, r11
jae 0x14003d84f
mov eax, ebx
mov rdx, rbp
xor rdx, r8
mov rdi, rdx
shr rdi, 1
and edx, 1
xor ebx, ebx
or rdx, rdi
sete bl
or ebx, eax
mov rax, rbx
neg rax
and rax, r9
lea rcx, [rbx - 1]
mov rdx, qword [r13 + 8]
cmp r11, rbp
ja 0x14003d7f0
xor edi, edi
jmp 0x14003d7f4
mov ecx, 1
mov edx, 0x10
mov rsi, qword [rsp + 0x60]
mov r8, rsi
call fcn.140016170
cmp qword [rsp + 0x40], 0
mov qword [rsp + 0x40], rax
jne 0x14003d891
lea rcx, [0x1400b6958]
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.14007b7e4
mov rax, qword [rsp + 0x40]
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.1400349b0
mov r11, qword [rsp + 0x40]
mov rbx, qword [r11]
test rbx, rbx
mov r10, qword [rsp + 0x28]
mov r15, qword [rsp + 0x58]
je 0x14003d941
lea r8, [r15 + 0xc0]
shr r8, 6
xor edi, edi
mov ecx, 1
xor eax, eax
xor esi, esi
jmp 0x14003d909
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 0x14003d941
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 0x14003d8e0
xor ebx, ebx
jmp 0x14003d8e4
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.140016170
mov r14, rax
test rdi, rdi
jne 0x14003d987
lea rcx, [0x1400b6958]
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.14007b7e4
mov qword [r14], rdi
mov rcx, r14
add rcx, 0x10
mov qword [r14 + 8], rcx
mov rdx, rbx
call fcn.1400349b0
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.140016170
test rdi, rdi
mov qword [rsp + 0x48], rax
jne 0x14003d9e9
lea rcx, [0x1400b6958]
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.14007b7e4
mov rax, qword [rsp + 0x48]
mov qword [rax], rdi
mov rcx, rax
add rcx, 0x10
mov qword [rax + 8], rcx
mov rdx, rsi
mov rsi, rax
call fcn.1400349b0
add rbp, qword [rsi]
lea r12, [rbp*8]
mov ecx, 1
mov edx, 0x10
mov r8, r12
call fcn.140016170
test rbp, rbp
jne 0x14003da43
mov rdi, rax
lea rcx, [0x1400b6958]
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.14007b7e4
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.1400349b0
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.140016170
test rdi, rdi
jne 0x14003dae8
lea rcx, [0x1400b6958]
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_crypto_mpint.c
mov r8d, 0x48
mov rsi, rax
call fcn.14007b7e4
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.1400349b0
shr r15, 6
mov qword [rsp + 0x50], rbp
mov rcx, qword [rbp]
cmp rcx, r15
mov qword [rsp + 0x58], 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 + 0x78], rcx
cmp rcx, 0x15
mov r8, qword [rsp + 0x28]
jb 0x14003dcb0
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 8]
lea r12, [rcx + rax*8]
add r12, 8
mov eax, 0x14
jmp 0x14003db87
mov rax, qword [rsp + 0x60]
add rax, rax
add rax, 0xffffffffffffffff
cmp rax, qword [rsp + 0x78]
jae 0x14003dcb0
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.140039910
mov r8, qword [rsp + 0x48]
mov r9, qword [r8]
test r9, r9
mov rax, qword [rsp + 0x40]
je 0x14003dc20
mov rcx, qword [r8 + 8]
mov ebp, 1
xor edx, edx
jmp 0x14003dbd9
add rdx, 1
cmp r9, rdx
je 0x14003dc20
cmp qword [rax], rdx
jbe 0x14003dbf0
mov rdi, qword [rax + 8]
mov rdi, qword [rdi + rdx*8]
cmp qword [r14], rdx
ja 0x14003dbf7
xor esi, esi
jmp 0x14003dbff
xor edi, edi
cmp qword [r14], rdx
jbe 0x14003dbeb
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 0x14003dbd0
mov qword [rcx + rdx*8], rdi
jmp 0x14003dbd0
mov rax, qword [rsp + 0x30]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x50]
mov rdx, r13
lea r9, [rsp + 0x80]
call fcn.140039910
cmp qword [r13], 0
mov r8, qword [rsp + 0x28]
je 0x14003db70
xor eax, eax
jmp 0x14003dc7d
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 0x14003db70
cmp r15, rax
jbe 0x14003dc90
mov rcx, qword [r12 + rax*8 - 8]
jmp 0x14003dc92
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 0x14003dc60
xor edx, edx
jmp 0x14003dc64
mov rdx, qword [r14]
mov rcx, qword [r14 + 8]
shl rdx, 3
call fcn.1400349b0
mov edx, 0x10
mov rcx, r14
call fcn.1400349b0
mov rcx, r14
call fcn.140016210
mov rsi, qword [rsp + 0x48]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
shl rdx, 3
call fcn.1400349b0
mov edx, 0x10
mov rcx, rsi
call fcn.1400349b0
mov rcx, rsi
call fcn.140016210
mov rsi, qword [rsp + 0x50]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
shl rdx, 3
call fcn.1400349b0
mov edx, 0x10
mov rcx, rsi
call fcn.1400349b0
mov rcx, rsi
call fcn.140016210
mov rsi, qword [rsp + 0x30]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
shl rdx, 3
call fcn.1400349b0
mov edx, 0x10
mov rcx, rsi
call fcn.1400349b0
mov rcx, rsi
call fcn.140016210
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.140016170
mov rbp, rax
test rdi, rdi
jne 0x14003dd9a
lea rcx, [0x1400b6958]
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.14007b7e4
mov qword [rbp], rdi
mov rcx, rbp
add rcx, 0x10
mov qword [rbp + 8], rcx
mov rdx, rbx
call fcn.1400349b0
mov rcx, rbp
mov rdx, r13
mov r8, rsi
call fcn.1400387d0
mov rax, qword [rbp]
mov qword [rsp + 0x30], rbp
mov rbp, qword [rbp + 8]
mov rcx, qword [rsp + 0x58]
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.140016170
mov r15, rax
test rdi, rdi
jne 0x14003de26
lea rcx, [0x1400b6958]
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.14007b7e4
mov qword [r15], rdi
mov rcx, r15
add rcx, 0x10
mov qword [r15 + 8], rcx
mov rdx, r14
call fcn.1400349b0
cmp qword [r15], 0
mov rsi, qword [rsp + 0x28]
je 0x14003deb1
lea rax, [r12*8 + 8]
add rax, rbp
xor ecx, ecx
jmp 0x14003de77
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 0x14003deb1
cmp rbx, rcx
jbe 0x14003de90
mov rdx, qword [rax + rcx*8 - 8]
jmp 0x14003de92
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 0x14003de60
xor ebp, ebp
jmp 0x14003de64
mov rdi, qword [rsi]
lea rbx, [rdi*8]
mov ecx, 1
mov edx, 0x10
mov r8, rbx
call fcn.140016170
mov r14, rax
test rdi, rdi
jne 0x14003deef
lea rcx, [0x1400b6958]
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_crypto_mpint.c
mov r8d, 0x48
call fcn.14007b7e4
mov qword [r14], rdi
mov rcx, r14
add rcx, 0x10
mov qword [r14 + 8], rcx
mov rdx, rbx
call fcn.1400349b0
mov rcx, r14
mov rdx, r15
mov r8, rsi
call fcn.1400387d0
mov r8, qword [r14]
test r8, r8
je 0x14003df95
mov rcx, qword [r14 + 8]
mov esi, 1
xor edx, edx
mov r11, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
jmp 0x14003df49
add rdx, 1
cmp r8, rdx
je 0x14003df90
cmp qword [rax], rdx
jbe 0x14003df60
mov rbx, qword [rax + 8]
mov rbx, qword [rbx + rdx*8]
cmp qword [r14], rdx
ja 0x14003df67
xor edi, edi
jmp 0x14003df6f
xor ebx, ebx
cmp qword [r14], rdx
jbe 0x14003df5b
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 0x14003df40
mov qword [rcx + rdx*8], rbx
jmp 0x14003df40
mov rdx, qword [r14]
jmp 0x14003df9c
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 0x14003e00b
mov eax, 1
xor ebx, ebx
jmp 0x14003dfe7
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 0x14003e010
cmp rdx, rbx
jbe 0x14003e000
mov rbp, qword [r14 + 8]
mov rbp, qword [rbp + rbx*8]
cmp r8, rbx
ja 0x14003dfc0
jmp 0x14003e007
xor ebp, ebp
cmp r8, rbx
ja 0x14003dfc0
xor esi, esi
jmp 0x14003dfc8
mov edi, 1
test rdx, rdx
je 0x14003e0ab
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 0x14003e060
nop dword [rax + rax]
mov rax, qword [r14 + 8]
mov rax, qword [rax + rbp*8]
cmp qword [r11], rbp
ja 0x14003e067
xor edx, edx
jmp 0x14003e06f
xor eax, eax
cmp qword [r11], rbp
jbe 0x14003e04d
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 0x14003e090
mov qword [rbx + rbp*8], rax
cmp r8, rbp
je 0x14003e0a3
mov rdx, qword [r14]
add rbp, 1
cmp rdx, rbp
jbe 0x14003e060
jmp 0x14003e040
mov r8, qword [r11]
mov rbx, qword [r14]
jmp 0x14003e0ad
xor ebx, ebx
cmp rbx, r8
mov r9, r8
cmova r9, rbx
test r9, r9
je 0x14003e11b
mov eax, 1
xor ebp, ebp
jmp 0x14003e0f6
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 0x14003e120
cmp rbx, rbp
jbe 0x14003e110
mov rcx, qword [r14 + 8]
mov rcx, qword [rcx + rbp*8]
cmp r8, rbp
ja 0x14003e0d0
jmp 0x14003e117
xor ecx, ecx
cmp r8, rbp
ja 0x14003e0d0
xor esi, esi
jmp 0x14003e0d8
mov edx, 1
test rbx, rbx
je 0x14003e1b4
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 0x14003e170
nop dword [rax + rax]
mov rax, qword [r14 + 8]
mov rax, qword [rax + rcx*8]
cmp qword [r11], rcx
ja 0x14003e177
xor ebx, ebx
jmp 0x14003e17f
xor eax, eax
cmp qword [r11], rcx
jbe 0x14003e15d
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 0x14003e1a1
mov qword [r10 + rcx*8], rax
cmp r8, rcx
je 0x14003e1b4
mov rbx, qword [r14]
add rcx, 1
cmp rbx, rcx
jbe 0x14003e170
jmp 0x14003e150
mov rcx, qword [r15]
test rcx, rcx
je 0x14003e1d9
mov rbp, qword [r15 + 8]
add edx, edi
xor ebx, ebx
add rdx, qword [rbp]
setb al
mov qword [rbp], rdx
cmp rcx, 1
jne 0x14003e3da
mov r8, qword [r11]
mov rcx, qword [r14]
cmp rcx, r8
mov rdx, r8
cmova rdx, rcx
test rdx, rdx
je 0x14003e250
mov esi, 1
xor ebp, ebp
jmp 0x14003e226
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 0x14003e24b
cmp rcx, rbp
jbe 0x14003e240
mov rax, qword [r14 + 8]
mov rdi, qword [rax + rbp*8]
cmp r8, rbp
ja 0x14003e200
jmp 0x14003e247
xor edi, edi
cmp r8, rbp
ja 0x14003e200
xor eax, eax
jmp 0x14003e208
test rbx, rbx
je 0x14003e269
lea rcx, str._mp_cmp_hs_remainder__d_
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_crypto_mpint.c
mov r8d, 0x905
call fcn.14007b7e4
mov rdi, qword [rsp + 0x68]
test rdi, rdi
je 0x14003e2ae
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.14006e1a0
mov rdx, qword [rdi]
sub rdx, rsi
shl rdx, 3
add rbx, qword [rdi + 8]
mov rcx, rbx
call fcn.1400349b0
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x14003e2f3
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.14006e1a0
mov rdx, qword [rdi]
sub rdx, rsi
shl rdx, 3
add rbx, qword [rdi + 8]
mov rcx, rbx
call fcn.1400349b0
mov rdx, qword [r13]
mov rcx, qword [r13 + 8]
shl rdx, 3
call fcn.1400349b0
mov edx, 0x10
mov rcx, r13
call fcn.1400349b0
mov rcx, r13
call fcn.140016210
mov rsi, qword [rsp + 0x40]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
shl rdx, 3
call fcn.1400349b0
mov edx, 0x10
mov rcx, rsi
call fcn.1400349b0
mov rcx, rsi
call fcn.140016210
mov rsi, qword [rsp + 0x30]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
shl rdx, 3
call fcn.1400349b0
mov edx, 0x10
mov rcx, rsi
call fcn.1400349b0
mov rcx, rsi
call fcn.140016210
mov rdx, qword [r15]
mov rcx, qword [r15 + 8]
shl rdx, 3
call fcn.1400349b0
mov edx, 0x10
mov rcx, r15
call fcn.1400349b0
mov rcx, r15
call fcn.140016210
mov rdx, qword [r14]
mov rcx, qword [r14 + 8]
shl rdx, 3
call fcn.1400349b0
mov edx, 0x10
mov rcx, r14
call fcn.1400349b0
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14006cf60
mov rcx, r14
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140016210
mov bl, al
mov eax, 1
jmp 0x14003e402
mov dl, bl
add rax, 1
mov rbx, rdx
cmp rcx, rax
je 0x14003e1d9
cmp qword [r15], rax
jbe 0x14003e420
mov rdx, qword [r15 + 8]
mov rdi, qword [rdx + rax*8]
jmp 0x14003e422
xor edi, edi
xor edx, edx
add rdi, rbx
setb bl
test rbp, rbp
je 0x14003e3f0
mov qword [rbp + rax*8], rdi
jmp 0x14003e3f0