Function at 0x140020f40
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movdqa xmmword [rsp + 0xa0], xmm7
movdqa xmmword [rsp + 0x90], xmm6
mov r14, r8
mov rdi, rdx
mov r12, rcx
mov rax, qword [0x140102058]
xor rax, rsp
mov qword [rsp + 0x88], rax
cmp qword [rcx], r8
jae 0x14001f505
mov qword [r12], r14
lea rsi, [r12 + 8]
mov rcx, qword [r12 + 8]
mov r8d, 4
mov rdx, r14
call fcn.1400416f0
mov qword [r12 + 8], rax
lea r15, [r12 + 0x10]
mov rdx, qword [r12]
mov rcx, qword [r12 + 0x10]
mov r8d, 4
call fcn.1400416f0
mov qword [r12 + 0x10], rax
mov rdx, qword [r12]
mov rcx, qword [r12 + 0x18]
mov r8d, 1
call fcn.1400416f0
mov qword [r12 + 0x18], rax
mov rdx, qword [r12]
mov rcx, qword [r12 + 0x20]
mov r8d, 8
call fcn.1400416f0
mov qword [r12 + 0x20], rax
mov rdx, qword [r12]
mov rcx, qword [r12 + 0x30]
mov r8d, 1
call fcn.1400416f0
mov qword [r12 + 0x30], rax
mov rdx, qword [r12]
mov rcx, qword [r12 + 0x28]
mov r8d, 8
call fcn.1400416f0
mov r11, rsi
mov qword [r12 + 0x28], rax
lea r13, [r12 + 0x48]
mov qword [r12 + 0x48], rdi
lea r9, [r12 + 0x50]
mov qword [r12 + 0x50], r14
jmp 0x14001f52c
lea r13, [r12 + 0x48]
mov qword [r12 + 0x48], rdi
lea r9, [r12 + 0x50]
mov qword [r12 + 0x50], r14
lea r15, [r12 + 0x10]
lea r11, [r12 + 8]
test r14, r14
je 0x14001f5fe
xor eax, eax
lea rcx, [0x1400c97a0]
nop word cs:[rax + rax]
nop
lea rdx, [rax + rax*2]
mov edx, dword [rdi + rdx*4 + 4]
mov ebp, 0xffffffff
mov ebx, 0x510
jmp 0x14001f56b
mov ebx, edi
mov edi, ebx
sub edi, ebp
cmp edi, 1
jle 0x14001f5a0
lea esi, [rbx + rbp]
mov edi, esi
shr edi, 0x1f
add edi, esi
sar edi, 1
movsxd rsi, edi
lea rsi, [rsi + rsi*2]
cmp dword [rcx + rsi*4], edx
jg 0x14001f560
mov ebp, edi
cmp dword [rcx + rsi*4 + 4], edx
jl 0x14001f562
movzx edx, byte [rcx + rsi*4 + 8]
jmp 0x14001f5a5
mov edx, 0x16
mov rbp, qword [r15]
mov dword [rbp + rax*4], edx
mov rbp, qword [r11]
mov dword [rbp + rax*4], edx
add rax, 1
mov r8, qword [r9]
cmp rax, r8
jae 0x14001f5c8
mov rdi, qword [r13]
jmp 0x14001f540
test r8, r8
mov qword [rsp + 0x40], r9
je 0x14001f603
mov rax, qword [r11]
xor ecx, ecx
mov edx, 0x83f6
nop dword [rax]
mov ebp, dword [rax + rcx*4]
bt edx, ebp
jb 0x14001f5f5
add rcx, 1
cmp r8, rcx
jne 0x14001f5e0
xor eax, eax
jmp 0x14001f608
mov ecx, dword [r12 + 0x58]
xor eax, eax
jmp 0x14001f61b
mov qword [rsp + 0x40], r9
mov al, 1
xor r8d, r8d
mov ecx, dword [r12 + 0x58]
mov edx, 0x83f6
bt edx, ecx
jae 0x140020aa4
test ecx, ecx
je 0x14001f630
cmp ecx, 4
jne 0x14001f63c
mov cl, 1
mov rsi, qword [rsp + 0x40]
jmp 0x14001f6e2
xor ecx, ecx
mov rsi, qword [rsp + 0x40]
jmp 0x14001f6e2
test al, al
mov rsi, qword [rsp + 0x40]
je 0x14001f64e
mov al, 1
xor ecx, ecx
jmp 0x14001f6e2
mov rax, qword [r11]
xor ebp, ebp
mov edx, 0x908
jmp 0x14001f675
mov rbx, rbp
test dil, 0x31
jne 0x14001f6db
add rbx, 1
mov rbp, rbx
cmp rbx, r8
jae 0x14001f6d5
mov ecx, dword [rax + rbp*4]
mov edi, 1
shl edi, cl
bt edx, ecx
jae 0x14001f660
add rbp, 1
mov rbx, r8
cmp rbp, r8
jae 0x14001f669
mov ecx, 1
jmp 0x14001f6ac
add ecx, 1
add rbp, 1
cmp r8, rbp
je 0x14001f6d0
mov ebx, dword [rax + rbp*4]
bt edx, ebx
jb 0x14001f6a0
cmp ebx, 0xa
jne 0x14001f6a3
add ecx, 0xffffffff
jne 0x14001f6a3
mov rbx, rbp
jmp 0x14001f669
mov rbx, r8
jmp 0x14001f669
xor eax, eax
xor ecx, ecx
jmp 0x14001f6e2
test ecx, ecx
setne cl
xor eax, eax
mov qword [rsp + 0x70], r15
mov byte [r12 + 0x478], cl
mov qword [r12 + 0x458], 0
mov byte [r12 + 0x5c], cl
mov dword [r12 + 0x60], 0
mov byte [r12 + 0x5d], 0
pxor xmm0, xmm0
movdqu xmmword [r12 + 0x460], xmm0
mov qword [r12 + 0x470], 0
test al, al
mov qword [rsp + 0x50], r11
je 0x14001f7ab
test r8, r8
je 0x14001fd4e
mov rax, qword [r11]
mov ecx, dword [rax]
mov edx, 0x402c6
bt edx, ecx
jae 0x14001f753
mov dword [rax], 0x12
mov r8, qword [rsi]
cmp r8, 2
jb 0x14001fd51
mov eax, 1
mov ecx, 0x402c6
jmp 0x14001f780
add rax, 1
mov r8, qword [rsi]
cmp rax, r8
jae 0x14001fd51
mov rdx, qword [r11]
mov ebp, dword [rdx + rax*4]
bt ecx, ebp
jae 0x14001f770
mov dword [rdx + rax*4], 0x12
mov rdx, qword [r11]
cmp dword [rdx + rax*4 - 4], 0x12
jne 0x14001f770
mov rdx, qword [r12 + 0x18]
movzx ebx, byte [rdx + rax - 1]
mov byte [rdx + rax], bl
jmp 0x14001f770
lea rax, [r12 + 0x458]
mov qword [rsp + 0x48], rax
lea rdi, [r12 + 0x460]
lea r9, [r12 + 0x468]
lea rax, [r12 + 0x470]
mov qword [rsp + 0x68], rax
mov eax, 2
mov qword [rsp + 0x60], rax
xor r15d, r15d
mov r14d, 0x908
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x58], r9
jmp 0x14001f813
xor ecx, ecx
add rcx, 1
mov qword [rdi], rcx
add r15, 1
mov r8, qword [rsi]
add qword [rsp + 0x60], 1
cmp r15, r8
jae 0x14001f732
mov rcx, qword [r11]
mov r10d, dword [rcx + r15*4]
lea eax, [r10 - 1]
cmp eax, 0x12
ja case.0x14001f835.4
lea rbx, [0x140020ed4]
movsxd rdx, dword [rbx + rax*4]
add rdx, rbx
jmp rdx
mov rcx, qword [r12 + 0x458]
mov cl, byte [r12 + rcx*8 + 0x5c]
mov rdx, qword [r12 + 0x18]
mov byte [rdx + r15], cl
cmp eax, 6
ja case.0x14001f864.2
lea rcx, [0x140020f20]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [r12 + 0x458]
mov bl, byte [r12 + rax*8 + 0x5c]
or bl, 1
add bl, 1
jmp 0x14001fb3e
cmp qword [rdi], 0
jne case.0x14001f835.18
mov rax, qword [r9]
mov rcx, r9
test rax, rax
je 0x14001fd27
add rax, 0xffffffffffffffff
mov qword [rcx], rax
mov rax, qword [r12 + 0x458]
mov al, byte [r12 + rax*8 + 0x5c]
jmp 0x14001fb03
mov rax, qword [rdi]
mov rcx, rdi
test rax, rax
jne 0x14001f933
mov rax, qword [rsp + 0x68]
cmp qword [rax], 0
je case.0x14001f835.4
mov qword [r12 + 0x468], 0
mov rax, qword [r12 + 0x458]
cmp byte [r12 + rax*8 + 0x5d], 0
je 0x14001f99b
mov rcx, rax
test rcx, rcx
jne 0x14001f91f
lea rcx, str.ctx__ds_sp___0
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_terminal_bidi.c
mov r8d, 0xa66
call fcn.1400b215c
mov r9, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x38]
mov r11, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
add rcx, 0xffffffffffffffff
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
add rax, 0xffffffffffffffff
mov qword [rcx], rax
mov rax, qword [r12 + 0x458]
mov al, byte [r12 + rax*8 + 0x5c]
mov rcx, qword [r12 + 0x18]
mov byte [rcx + r15], al
mov rax, qword [r12 + 0x458]
mov eax, dword [r12 + rax*8 + 0x60]
test eax, eax
je 0x14001f7fd
xor ecx, ecx
cmp eax, 1
setne cl
shl ecx, 2
mov rax, qword [r11]
mov dword [rax + r15*4], ecx
jmp 0x14001f7fd
lea rcx, [rax - 1]
mov qword [r12 + 0x458], rcx
cmp byte [r12 + rax*8 + 0x55], 0
mov rax, rcx
jne 0x14001f8e5
test rax, rax
jne 0x14001f980
lea rcx, str.ctx__ds_sp___0
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_terminal_bidi.c
mov r8d, 0xa66
call fcn.1400b215c
mov r9, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x38]
mov r11, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
jmp 0x14001f980
lea rax, [r15 + 1]
cmp rax, r8
jae 0x14001fa12
mov ebp, 1
mov rdx, rax
jmp 0x14001f9fc
add ebp, 1
add rdx, 1
cmp r8, rdx
je 0x14001fa12
mov ebx, dword [rcx + rdx*4]
bt r14d, ebx
jb 0x14001f9f0
cmp ebx, 0xa
jne 0x14001f9f3
add ebp, 0xffffffff
jne 0x14001f9f3
mov r8, rdx
mov rsi, r8
mov r10d, 3
sub rsi, rax
je 0x14001fbf7
lea r9, [rcx + rax*4]
mov rbp, qword [rsp + 0x60]
sub rbp, r8
lea rbx, [rcx + r15*4]
xor eax, eax
jmp 0x14001fa5d
mov rdx, rax
test dil, 0x31
jne 0x14001fc03
add rdx, 1
mov rax, rdx
cmp rdx, rsi
jae 0x14001fc12
mov ecx, dword [r9 + rax*4]
mov edi, 1
shl edi, cl
bt r14d, ecx
jae 0x14001fa40
add rax, 1
mov rdx, rsi
cmp rax, rsi
jae 0x14001fa4d
mov ecx, 1
jmp 0x14001faa5
add ecx, 1
lea rdx, [rax + rbp]
add rdx, 1
add rax, 1
cmp rdx, 1
je 0x14001fac0
mov edx, dword [rbx + rax*4 + 4]
bt r14d, edx
jb 0x14001fa90
cmp edx, 0xa
jne 0x14001fa93
add ecx, 0xffffffff
jne 0x14001fa93
mov rdx, rax
jmp 0x14001fa4d
mov rdx, rsi
jmp 0x14001fa4d
add r8, 0xffffffffffffffff
cmp r15, r8
je 0x14001fafb
lea rcx, str.i__ctx__textlen___1
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_terminal_bidi.c
mov r8d, 0xaf5
call fcn.1400b215c
mov r9, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x38]
mov r11, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
mov al, byte [r12 + 0x478]
mov rcx, qword [r12 + 0x18]
mov byte [rcx + r15], al
jmp 0x14001f7fd
mov rax, qword [r12 + 0x458]
mov bl, byte [r12 + rax*8 + 0x5c]
or bl, 1
add bl, 1
mov ebp, 1
jmp 0x14001fb5a
mov rax, qword [r12 + 0x458]
mov bl, byte [r12 + rax*8 + 0x5c]
add bl, 1
or bl, 1
xor ebp, ebp
jmp 0x14001fb5a
mov rax, qword [r12 + 0x458]
mov bl, byte [r12 + rax*8 + 0x5c]
add bl, 1
or bl, 1
mov ebp, 2
mov rcx, qword [rdi]
cmp bl, 0x7d
ja 0x14001fbdf
test rcx, rcx
jne 0x14001f7fd
mov rcx, qword [r9]
test rcx, rcx
jne 0x14001fbeb
add rax, 1
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
cmp rax, 0x7f
jb 0x14001fbba
lea rcx, str.ctx__ds_sp___lenof_ctx__dsstack_
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_terminal_bidi.c
mov r8d, 0xa5e
call fcn.1400b215c
mov r9, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x38]
mov r11, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov byte [r12 + rax*8 + 0x5c], bl
mov rax, qword [r12 + 0x458]
mov dword [r12 + rax*8 + 0x60], ebp
mov rax, qword [r12 + 0x458]
mov byte [r12 + rax*8 + 0x5d], 0
jmp 0x14001f7fd
test rcx, rcx
jne 0x14001f7fd
mov rcx, qword [r9]
add rcx, 1
mov qword [r9], rcx
jmp 0x14001f7fd
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
jmp case.0x14001f835.3
xor eax, eax
test ecx, ecx
setne al
lea r10d, [rax + rax*4]
add r10d, 3
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x58]
mov rax, qword [r12 + 0x458]
mov al, byte [r12 + rax*8 + 0x5c]
mov rcx, qword [r12 + 0x18]
mov byte [rcx + r15], al
mov rax, qword [r12 + 0x458]
mov ecx, dword [r12 + rax*8 + 0x60]
test ecx, ecx
je 0x14001fc6c
xor eax, eax
cmp ecx, 1
je 0x14001fc5d
cmp ecx, 2
mov eax, r10d
mov ecx, 4
cmove eax, ecx
mov rcx, qword [r11]
mov dword [rcx + r15*4], eax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov cl, byte [r12 + rax*8 + 0x5c]
lea edx, [rcx + 1]
or dl, 1
or cl, 1
add cl, 1
cmp r10d, 8
movzx edx, dl
movzx ebx, cl
cmove ebx, edx
mov rcx, qword [r12 + 0x460]
cmp bl, 0x7d
ja 0x14001f7f6
test rcx, rcx
jne 0x14001f7f6
cmp qword [r9], 0
jne 0x14001f7f4
add rax, 1
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
cmp rax, 0x7f
jb 0x14001fcf5
lea rcx, str.ctx__ds_sp___lenof_ctx__dsstack_
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_terminal_bidi.c
mov r8d, 0xa5e
call fcn.1400b215c
mov r9, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x38]
mov r11, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov byte [r12 + rax*8 + 0x5c], bl
mov rax, qword [r12 + 0x458]
mov dword [r12 + rax*8 + 0x60], 0
mov rax, qword [r12 + 0x458]
mov byte [r12 + rax*8 + 0x5d], 1
add qword [r12 + 0x470], 1
jmp 0x14001f7fd
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
test rax, rax
je case.0x14001f835.18
cmp byte [r12 + rax*8 + 0x5d], 0
mov rcx, qword [rsp + 0x48]
jne case.0x14001f835.18
jmp 0x14001f893
xor r8d, r8d
mov rcx, qword [r12 + 0x30]
xor edx, edx
call fcn.1400a7760
mov rbx, qword [r12 + 0x50]
test rbx, rbx
je 0x140020a98
lea rax, [r12 + 0x40]
mov qword [rsp + 0x58], rax
xor r14d, r14d
xor eax, eax
mov qword [rsp + 0x48], rax
xor r15d, r15d
mov r11, qword [rsp + 0x50]
mov rax, qword [r12 + 0x30]
nop dword [rax]
cmp byte [rax + r14], 0
je 0x14001fdb0
add r14, 1
cmp r14, rbx
jb 0x14001fd90
jmp 0x140020045
mov rcx, qword [r12 + 0x38]
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 1
mov r8d, 0x20
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
mov r9, rsi
call fcn.140041760
mov r8, rax
mov qword [r12 + 0x38], rax
shl rsi, 5
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x60], rsi
mov qword [rax + rsi], r15
mov rax, qword [r12 + 0x18]
mov r15b, byte [rax + r14]
cmp r14, qword [r12 + 0x50]
jae 0x14001ff20
mov eax, r15d
mov rsi, r14
mov r11, qword [rsp + 0x50]
mov r10d, 0x908
cmp al, r15b
je 0x14001fe49
lea rcx, str.ctx__levels_j___irslevel
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_terminal_bidi.c
mov rdi, r8
mov r8d, 0xb90
call fcn.1400b215c
mov r8, rdi
mov r10d, 0x908
mov r11, qword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
lea rbx, [rax*8]
xor eax, eax
nop dword [rax + rax]
mov rdi, rax
add rax, rsi
mov rcx, qword [r12 + 0x30]
add rcx, rsi
mov byte [rdi + rcx], 1
lea rdx, [rsi + rdi]
add rdx, 1
mov rcx, qword [r12 + 0x20]
add rcx, rbx
mov qword [rcx + rdi*8], rax
mov rcx, qword [r12 + 0x50]
cmp rdx, rcx
jae 0x14001ff32
mov rdx, qword [r12 + 0x18]
lea rbp, [rdx + rsi]
lea rax, [rdi + 1]
cmp byte [rdi + rbp + 1], r15b
je 0x14001fe60
mov qword [rsp + 0x68], r8
mov r9, qword [r11]
lea rbp, [r9 + rsi*4]
mov ebp, dword [rbp + rax*4 - 4]
bt r10d, ebp
jae 0x14001ff40
mov rbp, qword [rsp + 0x38]
lea r8, [rax + rbp]
add rsi, rax
mov ebx, 1
jmp 0x14001feec
add ebx, 1
add rsi, 1
cmp rcx, rsi
je 0x14001ff40
mov eax, dword [r9 + rsi*4]
bt r10d, eax
jb 0x14001fee0
cmp eax, 0xa
jne 0x14001fee3
add ebx, 0xffffffff
jne 0x14001fee3
cmp rsi, rcx
jae 0x14001ff40
mov al, byte [rdx + rsi]
mov qword [rsp + 0x38], r8
mov r8, qword [rsp + 0x68]
cmp al, r15b
jne 0x14001fe1f
jmp 0x14001fe49
mov r11, qword [rsp + 0x50]
mov r10d, 0x908
mov rsi, qword [rsp + 0x38]
jmp 0x14001ff51
mov rsi, qword [rsp + 0x38]
add rsi, rdi
add rsi, 1
jmp 0x14001ff51
mov rsi, qword [rsp + 0x38]
add rsi, rdi
add rsi, 1
mov r8, qword [rsp + 0x68]
add qword [rsp + 0x48], 1
movzx eax, r15b
mov rcx, qword [rsp + 0x60]
mov qword [r8 + rcx + 8], rsi
mov rbx, qword [r12 + 0x18]
mov cl, byte [rbx + r14]
mov dl, byte [r12 + 0x478]
mov rbp, r14
mov r15, rsi
nop dword [rax]
sub rbp, 1
jb 0x14001ff92
mov rdi, qword [r11]
cmp dword [rdi + rbp*4], 0x12
je 0x14001ff80
mov dl, byte [rbx + rbp]
cmp cl, dl
movzx ecx, cl
movzx edx, dl
cmova edx, ecx
shl dl, 2
and dl, 4
movzx ecx, dl
mov r9, r8
mov rdx, qword [rsp + 0x60]
mov dword [r8 + rdx + 0x10], ecx
mov rcx, qword [r12 + 0x20]
mov rbx, qword [rcx + r15*8 - 8]
mov rdi, qword [r12 + 8]
mov r8, qword [r12 + 0x18]
mov cl, byte [r8 + rbx]
mov dl, byte [r12 + 0x478]
mov ebp, dword [rdi + rbx*4]
bt r10d, ebp
jae 0x14001ffe3
mov r10, qword [rsp + 0x40]
jmp 0x140020010
mov r10, qword [rsp + 0x40]
mov rsi, qword [r10]
add rbx, 1
nop
cmp rbx, rsi
jae 0x140020010
lea rbp, [rbx + 1]
cmp dword [rdi + rbx*4], 0x12
mov rbx, rbp
je 0x14001fff0
mov dl, byte [r8 + rbp - 1]
nop word [rax + rax]
cmp cl, dl
movzx ecx, cl
movzx edx, dl
cmova edx, ecx
shl dl, 2
and dl, 4
movzx ecx, dl
mov rdx, qword [rsp + 0x60]
mov dword [r9 + rdx + 0x14], ecx
shl eax, 2
and eax, 4
mov dword [r9 + rdx + 0x18], eax
mov rbx, qword [r10]
cmp r14, rbx
jb 0x14001fd87
cmp qword [rsp + 0x48], 0
je 0x14002098b
lea r8, [r12 + 0x494]
lea rax, [r12 + 0x4a8]
mov qword [rsp + 0x38], rax
xor r15d, r15d
mov r10d, 0x9031
mov r9d, 0x700d08
jmp 0x140020094
mov r15, qword [rsp + 0x60]
add r15, 1
cmp r15, qword [rsp + 0x48]
je 0x140020983
mov rdx, qword [r12 + 0x38]
mov rbx, r15
shl rbx, 5
mov rbp, qword [rdx + rbx]
shl rbp, 3
add rbp, qword [r12 + 0x20]
mov qword [r12 + 0x480], rbp
mov rcx, qword [rdx + rbx + 8]
sub rcx, qword [rdx + rbx]
mov qword [r12 + 0x488], rcx
mov eax, dword [rdx + rbx + 0x10]
mov dword [r12 + 0x490], eax
mov edi, dword [rdx + rbx + 0x14]
mov dword [r12 + 0x494], edi
mov edx, dword [rdx + rbx + 0x18]
mov dword [r12 + 0x498], edx
mov qword [rsp + 0x60], r15
je 0x140020640
mov edx, 1
jmp 0x14002011c
mov dword [rdi + rbx*4], eax
mov rcx, qword [r12 + 0x488]
cmp rdx, rcx
jae 0x140020150
mov rbp, qword [r12 + 0x480]
add rdx, 1
mov rbx, qword [rbp + rdx*8 - 8]
mov rdi, qword [r11]
mov ebp, dword [rdi + rbx*4]
cmp ebp, 0x11
je 0x140020100
mov esi, 0xd08
bt esi, ebp
jae 0x140020142
mov eax, 0x16
cmp rdx, rcx
jb 0x140020110
jmp 0x140020150
cmp ebp, 0x12
cmovne eax, ebp
cmp rdx, rcx
jb 0x140020110
nop dword [rax]
test rcx, rcx
je 0x140020640
mov eax, dword [r12 + 0x490]
xor edx, edx
jmp 0x140020184
mov esi, 0x31
bt esi, ebx
cmovb eax, ebx
add rdx, 1
cmp rdx, rcx
jae 0x1400201c0
mov rbp, qword [r12 + 0x480]
mov rbp, qword [rbp + rdx*8]
mov rdi, qword [r12 + 8]
mov ebx, dword [rdi + rbp*4]
cmp ebx, 0xc
jne 0x140020170
cmp eax, 5
jne 0x140020170
mov dword [rdi + rbp*4], 0xf
mov rcx, qword [r12 + 0x488]
mov eax, 5
jmp 0x14002017b
test rcx, rcx
je 0x140020640
xor eax, eax
jmp 0x1400201d9
add rax, 1
cmp rax, rcx
jae 0x140020210
mov rdx, qword [r12 + 0x480]
mov rdx, qword [rdx + rax*8]
mov rbp, qword [r12 + 8]
cmp dword [rbp + rdx*4], 5
jne 0x1400201d0
mov dword [rbp + rdx*4], 4
mov rcx, qword [r12 + 0x488]
jmp 0x1400201d0
test rcx, rcx
je 0x140020640
mov ebx, 0x16
xor ebp, ebp
xor eax, eax
mov edx, 0x16
jmp 0x14002024e
mov r11d, edx
mov edx, ebx
mov rdi, rbp
add rax, 1
mov rbp, rdi
mov ebx, edx
mov edx, r11d
cmp rax, rcx
mov r11, qword [rsp + 0x50]
jae 0x1400202b5
mov rdi, qword [r12 + 0x480]
mov rdi, qword [rdi + rax*8]
mov r14, qword [r12 + 8]
mov esi, dword [r14 + rdi*4]
cmp esi, 0x12
je 0x140020230
cmp edx, esi
jne 0x140020290
cmp ebx, 0xd
jne 0x140020297
cmp edx, 0xc
jne 0x140020297
mov dword [r14 + rbp*4], edx
mov rcx, qword [r12 + 0x488]
jmp 0x1400202b0
mov r11d, ebx
mov edx, esi
jmp 0x140020238
cmp ebx, 0x10
jne 0x1400202b0
cmp edx, 0xf
je 0x140020276
mov r11d, 0x10
cmp edx, 0xc
je 0x140020276
jmp 0x140020238
mov r11d, ebx
jmp 0x140020238
test rcx, rcx
je 0x140020640
xor eax, eax
xor edx, edx
jmp 0x1400202db
mov al, 1
add rdx, 1
cmp rdx, rcx
jae 0x140020318
mov rbp, qword [r12 + 0x480]
mov rbp, qword [rbp + rdx*8]
mov rbx, qword [r12 + 8]
mov edi, dword [rbx + rbp*4]
cmp edi, 0xc
je 0x1400202d0
test al, 1
jne 0x1400202fd
xor eax, eax
jmp 0x1400202d2
mov esi, 0x44000
bt esi, edi
jae 0x1400202f9
mov dword [rbx + rbp*4], 0xc
mov rcx, qword [r12 + 0x488]
jmp 0x1400202d2
test rcx, rcx
jne 0x140020339
jmp 0x140020640
xor edx, edx
mov eax, edx
test rcx, rcx
je 0x140020372
mov rdx, qword [r12 + 0x480]
mov rbp, qword [rdx + rcx*8 - 8]
add rcx, 0xffffffffffffffff
mov rbx, qword [r12 + 8]
mov edi, dword [rbx + rbp*4]
mov dl, 1
cmp edi, 0xc
je 0x140020332
test al, 1
je 0x140020330
mov edx, 0x44000
bt edx, edi
jae 0x140020330
mov dword [rbx + rbp*4], 0xc
mov edx, eax
jmp 0x140020332
mov r14, qword [r12 + 0x488]
test r14, r14
je 0x140020640
xor ecx, ecx
xor edx, edx
jmp 0x140020399
add rdx, 1
cmp rdx, r14
jae 0x1400203da
mov ebx, ecx
mov rcx, qword [r12 + 0x480]
mov rbp, qword [rcx + rdx*8]
mov rdi, qword [r12 + 8]
mov esi, dword [rdi + rbp*4]
mov cl, 1
mov eax, 0x16000
bt eax, esi
jb 0x140020390
xor ecx, ecx
test bl, 1
je 0x140020390
cmp esi, 0x12
jne 0x140020390
mov dword [rdi + rbp*4], 0x10
mov r14, qword [r12 + 0x488]
mov ecx, ebx
jmp 0x140020390
test r14, r14
jne 0x1400203f7
jmp 0x140020640
mov ecx, edx
test r14, r14
je 0x140020433
mov rdx, qword [r12 + 0x480]
mov rbp, qword [rdx + r14*8 - 8]
add r14, 0xffffffffffffffff
mov rbx, qword [r12 + 8]
mov edi, dword [rbx + rbp*4]
mov dl, 1
mov eax, 0x16000
bt eax, edi
jb 0x1400203f0
xor edx, edx
test cl, 1
je 0x1400203f0
cmp edi, 0x12
jne 0x1400203f0
mov dword [rbx + rbp*4], 0x10
mov edx, ecx
jmp 0x1400203f0
mov rax, qword [r12 + 0x488]
test rax, rax
je 0x140020640
xor ecx, ecx
jmp 0x140020459
add rcx, 1
cmp rcx, rax
jae 0x14002048a
mov rdx, qword [r12 + 0x480]
mov rdx, qword [rdx + rcx*8]
mov rbp, qword [r12 + 8]
mov ebx, dword [rbp + rdx*4]
mov esi, 0x16000
bt esi, ebx
jae 0x140020450
mov dword [rbp + rdx*4], 0x16
mov rax, qword [r12 + 0x488]
jmp 0x140020450
test rax, rax
je 0x140020640
mov ecx, dword [r12 + 0x490]
xor edx, edx
jmp 0x1400204b4
mov esi, 0x31
bt esi, ebx
cmovb ecx, ebx
add rdx, 1
cmp rdx, rax
jae 0x1400204e5
mov rbp, qword [r12 + 0x480]
mov rbp, qword [rbp + rdx*8]
mov rdi, qword [r12 + 8]
mov ebx, dword [rdi + rbp*4]
cmp ebx, 0xc
jne 0x1400204a0
test ecx, ecx
jne 0x1400204a0
mov dword [rdi + rbp*4], 0
mov rax, qword [r12 + 0x488]
xor ecx, ecx
jmp 0x1400204ab
test rax, rax
je 0x140020640
xor eax, eax
mov rcx, qword [r12 + 0x28]
mov qword [rcx + rax*8], 0xffffffffffffffff
add rax, 1
mov r15, qword [r12 + 0x488]
cmp rax, r15
jb 0x1400204f0
test r15, r15
je 0x140020976
xor r11d, r11d
xor r14d, r14d
nop dword [rax]
mov rax, qword [r12 + 0x480]
mov rax, qword [rax + r14*8]
mov rcx, qword [r12 + 0x48]
lea rax, [rax + rax*2]
mov edx, dword [rcx + rax*4 + 4]
mov ebp, 0x80
mov ebx, 0xffffffff
jmp 0x140020563
mov ebp, eax
mov eax, ebx
mov ecx, ebp
sub ecx, eax
mov ebx, eax
cmp ecx, 1
jle 0x140020610
lea ecx, [rbx + rbp]
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
movsxd rcx, eax
shl rcx, 4
lea rsi, [0x1400cd730]
cmp dword [rcx + rsi], edx
ja 0x140020550
jb 0x140020554
lea rax, [0x1400cd730]
mov eax, dword [rcx + rax + 0xc]
cmp eax, 1
je 0x1400205e3
cmp eax, 2
jne 0x140020610
lea rax, [0x1400cd730]
mov ebp, dword [rcx + rax + 4]
mov edi, dword [rcx + rax + 8]
mov rax, r11
shl rax, 4
add rax, qword [rsp + 0x38]
mov rdx, r11
nop word [rax + rax]
sub rdx, 1
jb 0x140020610
mov ecx, dword [rax - 0x18]
add rax, 0xfffffffffffffff0
cmp ecx, ebp
je 0x1400205d5
cmp ecx, edi
jne 0x1400205c0
mov rax, qword [rax]
mov rcx, qword [r12 + 0x28]
mov qword [rcx + rax*8], r14
jmp 0x140020613
cmp r11, 0x3e
ja 0x14002062b
mov rax, r11
shl rax, 4
mov dword [r12 + rax + 0x4a0], edx
mov qword [r12 + rax + 0x4a8], r14
add r11, 1
nop word cs:[rax + rax]
nop
mov rdx, r11
add r14, 1
mov r15, qword [r12 + 0x488]
mov r11, rdx
cmp r14, r15
jb 0x140020520
test r15, r15
mov r11, qword [rsp + 0x50]
je 0x140020640
xor r14d, r14d
jmp 0x140020812
xor r15d, r15d
mov ebx, dword [r12 + 0x490]
mov rax, 0xffffffffffffffff
xor edx, edx
jmp 0x140020689
cmp rax, 0xffffffffffffffff
mov r14, rax
cmove r14, rdx
test ebp, 0x700d08
cmove r14, rax
mov ebp, ebx
add rdx, 1
mov ebx, ebp
mov rax, r14
cmp rdx, r15
ja 0x140020780
mov rcx, r8
cmp rdx, r15
jae 0x1400206a6
mov rcx, qword [r12 + 0x480]
mov rcx, qword [rcx + rdx*8]
shl rcx, 2
add rcx, qword [r12 + 8]
mov ecx, dword [rcx]
mov ebp, 1
shl ebp, cl
bt r10d, ecx
jae 0x140020660
xor ebp, ebp
test ecx, ecx
setne bpl
shl ebp, 2
mov r14, 0xffffffffffffffff
cmp rax, 0xffffffffffffffff
je 0x140020677
cmp ebp, ebx
je 0x1400206d9
mov ebx, dword [r12 + 0x498]
cmp rdx, rax
jbe 0x140020677
mov esi, edx
sub esi, eax
lea rdi, [rax + 1]
test sil, 1
je 0x140020713
mov rsi, qword [r12 + 0x480]
mov r11, qword [rsi + rax*8]
mov rsi, qword [r12 + 8]
mov eax, dword [rsi + r11*4]
bt r9d, eax
jae 0x14002070b
mov dword [rsi + r11*4], ebx
mov rax, rdi
mov r11, qword [rsp + 0x50]
cmp rdx, rdi
jne 0x140020739
mov r15, qword [r12 + 0x488]
jmp 0x140020677
add rax, 2
cmp rax, rdx
jae 0x140020718
mov rdi, qword [r12 + 0x480]
mov rdi, qword [rdi + rax*8]
mov rsi, qword [r12 + 8]
mov ecx, dword [rsi + rdi*4]
bt r9d, ecx
jae 0x140020756
mov dword [rsi + rdi*4], ebx
mov rcx, qword [r12 + 0x480]
mov rdi, qword [rcx + rax*8 + 8]
mov rsi, qword [r12 + 8]
mov ecx, dword [rsi + rdi*4]
bt r9d, ecx
jae 0x140020730
mov dword [rsi + rdi*4], ebx
jmp 0x140020730
test r15, r15
je 0x140020080
xor eax, eax
jmp 0x1400207ac
mov dl, 2
add dl, bl
mov byte [rsi + rcx], dl
mov r15, qword [r12 + 0x488]
add rax, 1
cmp rax, r15
jae 0x140020080
mov rcx, qword [r12 + 0x480]
mov rcx, qword [rcx + rax*8]
mov rdx, qword [r12 + 8]
mov rsi, qword [r12 + 0x18]
movzx ebx, byte [rsi + rcx]
mov ebp, dword [rdx + rcx*4]
test bl, 1
jne 0x1400207e0
cmp ebp, 4
je 0x1400207f3
cmp ebp, 0xf
je 0x140020790
cmp ebp, 0xc
je 0x140020790
jmp 0x14002079f
cmp ebp, 0xf
ja 0x14002079f
mov dl, 1
mov edi, 0x9001
bt edi, ebp
jb 0x140020792
jmp 0x14002079f
mov dl, 1
jmp 0x140020792
add r14, 1
cmp r14, r15
mov r11, qword [rsp + 0x50]
jae 0x140020643
mov rax, qword [r12 + 0x28]
mov r11, qword [rax + r14*8]
cmp r11, 0xffffffffffffffff
je 0x140020800
mov rdi, qword [r12 + 8]
mov rbp, qword [r12 + 0x480]
mov rax, qword [rbp + r14*8]
mov ecx, dword [rdi + rax*4]
mov edx, 0x780000
bt edx, ecx
jae 0x140020800
mov rcx, qword [rbp + r11*8]
mov ecx, dword [rdi + rcx*4]
bt edx, ecx
jae 0x140020800
lea rcx, [r14 + 1]
cmp rcx, r11
jae 0x140020800
xor ebx, ebx
jmp 0x140020869
add rcx, 1
cmp r11, rcx
je 0x140020892
mov rdx, qword [rbp + rcx*8]
mov esi, dword [rdi + rdx*4]
bt r10d, esi
jae 0x140020860
xor edx, edx
test esi, esi
setne dl
shl edx, 2
mov bl, 1
cmp edx, dword [r12 + 0x498]
jne 0x140020860
mov rcx, r14
jmp 0x1400208c5
test bl, 1
je 0x140020800
mov rcx, r14
nop
sub rcx, 1
jb 0x140020960
mov rdx, qword [rbp + rcx*8]
mov esi, dword [rdi + rdx*4]
bt r10d, esi
jae 0x1400208a0
xor edx, edx
test esi, esi
setne dl
shl edx, 2
mov rcx, r14
mov dword [rdi + rax*4], edx
mov rdi, qword [r12 + 0x488]
add rcx, 1
cmp rcx, rdi
jae 0x140020901
mov rbx, qword [r12 + 0x10]
mov rsi, qword [r12 + 0x480]
mov rax, qword [rsi + rcx*8]
mov ebx, dword [rbx + rax*4]
cmp ebx, 0x12
je 0x1400208d0
cmp ebx, 0x11
jne 0x14002090f
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsi]
jmp 0x1400208c5
mov rax, qword [r12 + 0x480]
mov rax, qword [rax + r11*8]
jmp 0x140020913
mov rax, qword [rsi + r11*8]
mov rcx, qword [r12 + 8]
mov dword [rcx + rax*4], edx
mov r15, qword [r12 + 0x488]
nop word cs:[rax + rax]
nop dword [rax]
add r11, 1
cmp r11, r15
jae 0x140020800
mov rcx, qword [r12 + 0x10]
mov rax, qword [r12 + 0x480]
mov rax, qword [rax + r11*8]
mov ecx, dword [rcx + rax*4]
cmp ecx, 0x12
je 0x140020930
cmp ecx, 0x11
je 0x140020913
jmp 0x140020800
mov edx, dword [r12 + 0x490]
cmp edx, 0x16
jne 0x14002088d
jmp 0x140020800
xor r15d, r15d
mov r11, qword [rsp + 0x50]
jmp 0x140020643
mov rax, qword [rsp + 0x40]
mov rbx, qword [rax]
mov qword [r12 + 0x488], 0
test rbx, rbx
mov rsi, qword [rsp + 0x70]
je 0x140020aa4
mov bpl, 1
mov edx, 0x180000
mov r8, qword [rsp + 0x40]
jmp 0x1400209da
movzx ecx, byte [r12 + 0x478]
mov rbp, qword [r12 + 0x18]
mov byte [rbp + rax - 1], cl
mov bpl, 1
test rbx, rbx
je 0x140020a25
mov rax, rbx
add rbx, 0xffffffffffffffff
mov rcx, qword [rsi]
mov ecx, dword [rcx + rax*4 - 4]
mov edi, 1
shl edi, cl
bt edx, ecx
jb 0x1400209c0
test bpl, 1
je 0x1400209d5
test edi, 0x200d08
je 0x140020a16
movzx ecx, byte [r12 + 0x478]
mov rdi, qword [r12 + 0x18]
mov byte [rdi + rax - 1], cl
jmp 0x1400209d5
and edi, 0x402c6
movzx ebp, bpl
cmove ebp, edi
jmp 0x1400209d5
mov r8, qword [r8]
test r8, r8
je 0x140020aa4
mov rax, qword [rsi]
mov eax, dword [rax]
mov ecx, 0x402c6
bt ecx, eax
jae 0x140020a50
mov rax, qword [r12 + 0x18]
mov cl, byte [r12 + 0x478]
mov byte [rax], cl
mov r8, qword [r12 + 0x50]
cmp r8, 2
jb 0x140020ad8
mov eax, 1
mov ecx, 0x402c6
jmp 0x140020a79
add rax, 1
cmp rax, r8
jae 0x140020ad8
mov rdx, qword [rsi]
mov edx, dword [rdx + rax*4]
bt ecx, edx
jae 0x140020a70
mov rdx, qword [r12 + 0x18]
movzx ebx, byte [rdx + rax - 1]
mov byte [rdx + rax], bl
mov r8, qword [r12 + 0x50]
jmp 0x140020a70
mov qword [r12 + 0x488], 0
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1400a5f20
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test r8, r8
je 0x140020aa4
xor ecx, ecx
lea rdx, [0x1400cdf30]
mov r9, qword [rsp + 0x40]
jmp 0x140020aff
mov dword [r8], ebp
mov r8, qword [r9]
add rcx, 1
cmp rcx, r8
jae 0x140020b59
mov rax, qword [r12 + 0x18]
test byte [rax + rcx], 1
je 0x140020af6
mov rax, qword [r13]
lea rbp, [rcx + rcx*2]
lea r8, [rax + rbp*4]
add r8, 4
mov ebp, dword [rax + rbp*4 + 4]
mov ebx, 0xffffffff
mov edi, 0x1ac
jmp 0x140020b3b
mov edi, esi
mov eax, edi
sub eax, ebx
cmp eax, 1
jle 0x140020af0
lea eax, [rbx + rdi]
mov esi, eax
shr esi, 0x1f
add esi, eax
sar esi, 1
movsxd rax, esi
cmp dword [rdx + rax*8], ebp
ja 0x140020b30
mov ebx, esi
jb 0x140020b32
mov ebp, dword [rdx + rax*8 + 4]
jmp 0x140020af0
test r8, r8
je 0x140020aa4
mov rcx, qword [r12 + 0x18]
cmp r8, 8
jae 0x140020b77
xor r9d, r9d
xor edx, edx
jmp 0x140020d71
mov rdx, r8
and rdx, 0xfffffffffffffff8
lea rax, [rdx - 8]
mov rbx, rax
shr rbx, 3
add rbx, 1
test rax, rax
je 0x140020c87
mov rbp, rbx
and rbp, 0xfffffffffffffffe
neg rbp
pxor xmm2, xmm2
xor edi, edi
movdqa xmm3, xmmword [0x1400c96f0]
pxor xmm0, xmm0
pxor xmm1, xmm1
nop word cs:[rax + rax]
movd xmm5, dword [rcx + rdi]
movd xmm6, dword [rcx + rdi + 4]
punpcklbw xmm5, xmm2
punpcklwd xmm5, xmm2
punpcklbw xmm6, xmm2
punpcklwd xmm6, xmm2
movdqa xmm4, xmm0
pxor xmm4, xmm3
movdqa xmm7, xmm5
por xmm7, xmm3
pcmpgtd xmm4, xmm7
pand xmm0, xmm4
pandn xmm4, xmm5
por xmm4, xmm0
movdqa xmm5, xmm1
pxor xmm5, xmm3
movdqa xmm0, xmm6
por xmm0, xmm3
pcmpgtd xmm5, xmm0
pand xmm1, xmm5
pandn xmm5, xmm6
por xmm5, xmm1
movd xmm1, dword [rcx + rdi + 8]
movd xmm6, dword [rcx + rdi + 0xc]
punpcklbw xmm1, xmm2
punpcklwd xmm1, xmm2
punpcklbw xmm6, xmm2
punpcklwd xmm6, xmm2
movdqa xmm0, xmm4
pxor xmm0, xmm3
movdqa xmm7, xmm1
por xmm7, xmm3
pcmpgtd xmm0, xmm7
pand xmm4, xmm0
pandn xmm0, xmm1
por xmm0, xmm4
movdqa xmm1, xmm5
pxor xmm1, xmm3
movdqa xmm4, xmm6
por xmm4, xmm3
pcmpgtd xmm1, xmm4
pand xmm5, xmm1
pandn xmm1, xmm6
por xmm1, xmm5
add rdi, 0x10
add rbp, 2
jne 0x140020bc0
jmp 0x140020c91
pxor xmm0, xmm0
xor edi, edi
pxor xmm1, xmm1
test bl, 1
je 0x140020cf9
movd xmm2, dword [rcx + rdi]
movd xmm3, dword [rcx + rdi + 4]
pxor xmm4, xmm4
punpcklbw xmm2, xmm4
punpcklwd xmm2, xmm4
punpcklbw xmm3, xmm4
punpcklwd xmm3, xmm4
movdqa xmm4, xmmword [0x1400c96f0]
movdqa xmm5, xmm0
pxor xmm5, xmm4
movdqa xmm6, xmm2
por xmm6, xmm4
pcmpgtd xmm5, xmm6
pand xmm0, xmm5
pandn xmm5, xmm2
por xmm0, xmm5
movdqa xmm2, xmm1
pxor xmm2, xmm4
por xmm4, xmm3
pcmpgtd xmm2, xmm4
pand xmm1, xmm2
pandn xmm2, xmm3
por xmm1, xmm2
movdqa xmm2, xmmword [0x1400c96f0]
movdqa xmm3, xmm1
pxor xmm3, xmm2
movdqa xmm4, xmm0
pxor xmm4, xmm2
pcmpgtd xmm4, xmm3
pand xmm0, xmm4
pandn xmm4, xmm1
por xmm4, xmm0
pshufd xmm0, xmm4, 0xee
movdqa xmm1, xmm4
pxor xmm1, xmm2
movdqa xmm3, xmm0
pxor xmm3, xmm2
pcmpgtd xmm1, xmm3
pand xmm4, xmm1
pandn xmm1, xmm0
por xmm1, xmm4
pshufd xmm0, xmm1, 0x55
movdqa xmm3, xmm1
pxor xmm3, xmm2
pxor xmm2, xmm0
pcmpgtd xmm3, xmm2
pand xmm1, xmm3
pandn xmm3, xmm0
por xmm3, xmm1
movd r9d, xmm3
cmp r8, rdx
je 0x140020d98
mov eax, r9d
nop word cs:[rax + rax]
nop
movzx r9d, byte [rcx + rdx]
cmp eax, r9d
cmova r9d, eax
add rdx, 1
mov eax, r9d
cmp r8, rdx
jne 0x140020d80
test r9d, r9d
je 0x140020aa4
mov rax, r8
jmp 0x140020dbc
xor eax, eax
add r9d, 0xffffffff
je 0x140020aa4
test rax, rax
je 0x140020db0
xor ecx, ecx
jmp 0x140020de2
mov rbp, rcx
add rbp, 1
mov rax, r8
mov rcx, rbp
cmp rbp, r8
jae 0x140020db2
mov rbx, qword [r12 + 0x18]
movzx edx, byte [rbx + rcx]
cmp r9d, edx
ja 0x140020dd0
lea rdi, [rcx + 1]
cmp rax, rdi
mov rbp, rdi
cmova rbp, rax
add rbp, 0xffffffffffffffff
mov rdx, rdi
nop word cs:[rax + rax]
nop
cmp rdx, rax
jae 0x140020e29
movzx esi, byte [rbx + rdx]
add rdx, 1
cmp r9d, esi
jbe 0x140020e10
add rdx, 0xfffffffffffffffe
mov rbp, rdx
cmp rcx, rbp
jae 0x140020dd3
lea rax, [rbp*4]
lea rax, [rax + rax*2]
shl rcx, 2
lea rcx, [rcx + rcx*2]
mov rbx, rbp
nop word cs:[rax + rax]
nop
mov rdx, qword [r13]
mov esi, dword [rdx + rcx + 8]
mov dword [rsp + 0x80], esi
mov rsi, qword [rdx + rcx]
mov qword [rsp + 0x78], rsi
mov rsi, qword [rdx + rax]
mov qword [rdx + rcx], rsi
mov esi, dword [rdx + rax + 8]
mov dword [rdx + rcx + 8], esi
mov rdx, qword [r13]
mov esi, dword [rsp + 0x80]
mov dword [rdx + rax + 8], esi
mov rsi, qword [rsp + 0x78]
mov qword [rdx + rax], rsi
add rbx, 0xffffffffffffffff
add rax, 0xfffffffffffffff4
lea rdx, [rdi + 1]
add rcx, 0xc
cmp rdi, rbx
mov rdi, rdx
jb 0x140020e50
mov rax, qword [rsp + 0x40]
mov r8, qword [rax]
jmp 0x140020dd3
lea rcx, str.false___how_did_this_get_past_the_outer_switch__
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_terminal_bidi.c
mov r8d, 0xa95
call fcn.1400b215c
call fcn.1400079c0
int3
mov dword [rcx + 0x58], 0x16
jmp 0x14001f400