Function at 0x431f90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x238
mov rax, qword [rcx]
mov qword [rsp + 0x280], rcx
mov qword [rsp + 0x288], rdx
mov dword [rsp + 0x290], r8d
mov dword [rsp + 0x298], r9d
mov qword [rsp + 0xa8], rax
mov rax, qword [rcx + 0x18]
test rax, rax
mov rdi, rax
mov qword [rsp + 0xc0], rax
je 0x432015
mov r12d, dword [rsp + 0x2a0]
movzx eax, byte [rcx + 0x30]
test r12d, r12d
je 0x432606
test al, 8
je 0x432606
test al, 1
mov eax, 0
mov rsi, rax
cmove rsi, rdi
mov qword [rsp + 0xc0], rsi
mov rax, qword [rsp + 0x280]
mov ebp, dword [rax + 0xc]
test ebp, ebp
je 0x432625
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x68], 0
je 0x432625
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x70], 0
je 0x432625
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x78], 0
je 0x432625
cmp qword [rax + 0x80], 0
je 0x432625
xor eax, eax
cmp qword [rsp + 0x2b0], 0
lea rdi, [rsp + 0x1e0]
mov ecx, 0xa
mov qword [0x00501fc0], 0
mov qword [0x00501fc8], 0
mov qword [rsp + 0x80], rdi
mov dword [rsp + 0xa0], 1
rep stosq qword [rdi], rax
je 0x4325e5
mov rax, qword [rsp + 0x280]
mov rdi, qword [rsp + 0xa8]
mov ecx, 9
mov eax, dword [rax + 0x10]
mov edi, dword [rdi + 0x24]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x280]
lea edx, [rdi + 1]
mov dword [rsp + 0x38], edi
lea rdi, [rsp + 0x190]
mov r8, qword [rax + 0x20]
mov eax, dword [rsp + 0x290]
mov rsi, rdi
mov qword [rsp + 0xc8], rdi
add eax, 1
cmp eax, edx
cmovle edx, eax
xor eax, eax
test dword [rsp + 0x30], 0x400000
rep stosq qword [rdi], rax
mov rax, qword [rsp + 0x288]
mov rcx, rsi
mov qword [rsp + 0x1c8], r8
setne byte [rsp + 0x1d0]
mov qword [rsp + 0x190], rax
mov eax, dword [rsp + 0x290]
mov dword [rsp + 0x1b8], eax
mov dword [rsp + 0x1bc], eax
call fcn.0042aa80
test eax, eax
mov esi, eax
jne 0x433ef0
cmp qword [rsp + 0x1c8], 0
je 0x4325a0
test byte [rsp + 0x1d0], 1
mov rax, qword [rsp + 0x1a0]
jne 0x43218a
mov qword [rsp + 0x198], rax
mov eax, dword [rsp + 0x1ac]
mov dword [rsp + 0x1ac], eax
mov eax, dword [rsp + 0x2a8]
mov dword [rsp + 0x1e4], 0xffffffff
mov dword [rsp + 0x1bc], eax
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x90]
lea ebx, [rax + rax]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x2c0]
test ebx, ebx
mov dword [rsp + 0x1e0], eax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x1f0], rax
jle 0x43397e
movsxd rsi, ebx
lea rcx, [rsi + rsi*4]
shl rcx, 2
call sub.msvcrt.dll_malloc
lea rcx, [rsi*8]
mov rdi, rax
mov qword [rsp + 0x210], rax
call sub.msvcrt.dll_malloc
test rdi, rdi
mov qword [rsp + 0x228], rax
je 0x433350
test rax, rax
je 0x433350
cmp qword [rsp + 0x2b0], 1
mov dword [rsp + 0x204], 0
mov dword [rsp + 0x208], ebx
mov dword [rsp + 0x218], 1
mov dword [rsp + 0x21c], 0
mov dword [rsp + 0x220], ebx
ja 0x43227d
mov rax, qword [rsp + 0xa8]
test byte [rax + 0x98], 2
je 0x433abb
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x24]
lea ecx, [rax + 1]
mov dword [rsp + 0x30], eax
movsxd rcx, ecx
shl rcx, 3
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rsp + 0x1f8], rax
je 0x433f61
mov eax, dword [rsp + 0x2c0]
mov esi, dword [rsp + 0x2a0]
and eax, 1
cmp eax, 1
sbb eax, eax
and eax, 2
add eax, 4
test esi, esi
mov dword [rsp + 0x1c0], eax
js 0x433e69
mov eax, dword [rsp + 0x298]
add eax, dword [rsp + 0x2a0]
mov dword [rsp + 0xe4], 1
mov dword [rsp + 0xd0], eax
mov eax, dword [rsp + 0x298]
mov dword [rsp + 0xd4], eax
mov rax, qword [sym.imp.msvcrt.dll___mb_cur_max]
mov dword [rsp + 0xe0], 1
mov rax, qword [rax]
cmp dword [rax], 1
je 0x43233c
mov rax, qword [rsp + 0x280]
mov dword [rsp + 0xe0], 0
test byte [rax + 0x12], 0x40
je 0x433a8c
movsxd rax, dword [rsp + 0xd0]
lea r14, [rsp + 0x150]
lea r15, [rsp + 0x110]
lea rbp, [rsp + 0x130]
mov r13d, 0xffffffff
mov dword [rsp + 0x30], r13d
mov rdi, r14
mov r14, r15
mov r13, rbp
mov qword [rsp + 0xf8], rax
lea rax, [rsp + 0x10c]
mov qword [rsp + 0xb8], rax
cmp qword [rsp + 0xc0], 0
je 0x43248e
mov ebx, dword [rsp + 0xe0]
test ebx, ebx
je 0x4339d1
mov r11d, dword [rsp + 0x2a0]
mov rax, qword [rsp + 0x280]
test r11d, r11d
mov rcx, qword [rax + 0x20]
js 0x433deb
test rcx, rcx
mov eax, dword [rsp + 0xd0]
jne 0x433d72
cmp dword [rsp + 0x298], eax
jge 0x433efd
movsxd rax, dword [rsp + 0x298]
mov rsi, qword [rsp + 0x288]
movzx edx, byte [rsi + rax]
lea rax, [rsi + rax + 1]
mov rsi, qword [rsp + 0xc0]
cmp byte [rsi + rdx], 0
jne 0x43248e
mov r10, qword [rsp + 0xc0]
mov r9d, dword [rsp + 0xd0]
mov edx, dword [rsp + 0x298]
jmp 0x432437
movzx r8d, byte [rax]
add rax, 1
cmp byte [r10 + r8], 0
jne 0x4339c5
add edx, 1
cmp edx, r9d
jne 0x432424
xor eax, eax
mov esi, dword [rsp + 0xd0]
cmp esi, dword [rsp + 0x290]
jge 0x432465
mov rax, qword [rsp + 0x288]
mov rsi, qword [rsp + 0xf8]
movzx eax, byte [rax + rsi]
test rcx, rcx
je 0x43246e
movzx eax, byte [rcx + rax]
mov rsi, qword [rsp + 0xc0]
cmp byte [rsi + rax], 0
je 0x43440a
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x298], eax
mov rax, qword [rsp + 0x280]
mov r8d, dword [rsp + 0x2c0]
mov edx, dword [rsp + 0x298]
mov rcx, qword [rsp + 0xc8]
movzx eax, byte [rax + 0x30]
mov r9d, eax
mov byte [rsp + 0x30], al
shr r9b, 7
and r9d, 1
call fcn.0042c980
test eax, eax
jne 0x433a7d
mov rax, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x1f0]
mov dword [rsp + 0x218], 0
mov dword [rsp + 0x204], 0
mov dword [rsp + 0x200], 0
mov dword [rsp + 0x10c], 0
mov rbx, qword [rax]
mov eax, dword [rcx + 0x24]
mov r12, qword [rbx + 0x68]
mov dword [rsp + 0x6c], eax
test byte [r12 + 0x30], 0x20
je 0x43264b
mov rsi, qword [rsp + 0x280]
mov r8d, dword [rsp + 0x1e0]
lea edx, [rax - 1]
movzx esi, byte [rsi + 0x30]
mov r9d, esi
mov byte [rsp + 0x30], sil
shr r9b, 7
and r9d, 1
call fcn.0042c900
test al, 1
jne 0x43263e
test eax, eax
je 0x43264b
mov edx, eax
and edx, 6
cmp edx, 6
je 0x433f41
test al, 2
jne 0x433acc
test al, 4
je 0x43264b
mov r8, qword [r12 + 0x18]
mov rcx, qword [rsp + 0xb8]
mov r9d, eax
mov rdx, rbx
call fcn.0042d8c0
mov r12, rax
jmp 0x432642
test byte [rsp + 0x1d0], 1
mov rax, qword [rsp + 0x288]
mov qword [rsp + 0x1a0], rax
jne 0x43218a
mov qword [rsp + 0x198], rax
mov rax, qword [sym.imp.msvcrt.dll___mb_cur_max]
mov rdx, qword [rax]
mov eax, dword [rsp + 0x290]
cmp dword [rdx], 1
jg 0x43218a
jmp 0x432191
mov rax, qword [rsp + 0xa8]
mov edi, dword [rax + 0x90]
xor eax, eax
test edi, edi
setne al
mov dword [rsp + 0xa0], eax
jmp 0x4320b9
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0xc0], 0
mov ebp, dword [rax + 0xc]
test ebp, ebp
jne 0x432028
mov eax, 1
add rsp, 0x238
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r12, qword [rbx + 0x70]
test r12, r12
je 0x433350
mov rax, qword [rsp + 0x1f8]
test rax, rax
je 0x432661
movsxd rdx, dword [rsp + 0x6c]
mov qword [rax + rdx*8], r12
mov r10d, dword [rbx + 0x90]
test r10d, r10d
jne 0x4338f1
movzx eax, byte [r12 + 0x30]
test al, 0x10
jne 0x43387e
test al, 4
jne 0x433462
mov rbx, qword [rsp + 0x1f0]
mov dword [rsp + 0x6c], 0xffffffff
mov dword [rsp + 0xa4], 0
mov rax, qword [rsp + 0x80]
movsxd rbp, dword [rbx + 0x24]
add rax, 0x18
mov qword [rsp + 0x98], rax
nop word [rax + rax]
cmp dword [rbx + 0x2c], ebp
jle 0x432803
mov rax, qword [rsp + 0x280]
lea esi, [rbp + 1]
cmp esi, dword [rbx + 0x20]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
jge 0x4326ed
mov eax, dword [rbx + 0x1c]
cmp esi, eax
jl 0x43271b
cmp eax, dword [rbx + 0x28]
jge 0x43271b
mov rdx, qword [rsp + 0x98]
mov rcx, rbx
call fcn.0042c870
test eax, eax
mov dword [rsp + 0x10c], eax
jne 0x433350
mov rbx, qword [rsp + 0x1f0]
movsxd rbp, dword [rbx + 0x24]
lea esi, [rbp + 1]
test r12, r12
mov dword [rsp + 0x10c], 0
je 0x432d55
mov rax, qword [rbx + 8]
mov dword [rbx + 0x24], esi
movzx eax, byte [rax + rbp]
mov byte [rsp + 0x48], al
mov rax, qword [r12 + 0x20]
test rax, rax
mov qword [rsp + 0x40], rax
je 0x432d5d
movzx eax, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov r12, qword [rcx + rax*8]
mov rax, qword [rsp + 0x1f8]
test rax, rax
je 0x432787
cmp dword [rsp + 0x200], esi
jge 0x432ba5
movsxd rdx, esi
mov qword [rax + rdx*8], r12
mov dword [rsp + 0x200], esi
mov rax, qword [rsp + 0x30]
mov ebx, dword [rax + 0x90]
test ebx, ebx
je 0x432ae0
test r12, r12
je 0x432af0
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x80]
lea r9, [r12 + 8]
mov dword [rsp + 0x20], esi
lea rdx, [rax + 0x94]
lea rcx, [rax + 0x18]
call fcn.0042c730
test eax, eax
mov dword [rsp + 0x10c], eax
jne 0x433350
movzx eax, byte [r12 + 0x30]
test al, 0x10
jne 0x432c60
test al, 4
mov rbx, qword [rsp + 0x1f0]
jne 0x432b70
movsxd rbp, dword [rbx + 0x24]
cmp dword [rbx + 0x2c], ebp
jg 0x4326c9
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0xffffffff
je 0x432a57
cmp eax, 0xfffffffe
je 0x433350
cmp qword [rsp + 0x2b0], 1
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x1e4], eax
jbe 0x4333f0
mov rax, qword [rsp + 0x280]
test byte [rax + 0x30], 0x10
jne 0x4333f0
mov esi, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x1f0]
mov r9d, dword [rsp + 0x1e0]
movsxd rax, esi
mov rax, qword [rdx + rax*8]
mov edx, dword [rax + 0xc]
mov qword [rsp + 0x20], rcx
lea r8, [rax + 0x10]
mov rcx, qword [rsp + 0x280]
mov dword [rsp + 0x28], esi
call fcn.0042ccc0
mov rsi, qword [rsp + 0xa8]
mov dword [rsp + 0x1e8], eax
test byte [rsi + 0x98], 1
jne 0x433875
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x90]
test eax, eax
je 0x432ab4
mov eax, dword [rsp + 0x1e8]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x280]
mov rsi, qword [rax]
mov eax, dword [rsp + 0x30]
lea ebx, [rax + 1]
movsxd rbx, ebx
shl rbx, 3
mov rcx, rbx
call sub.msvcrt.dll_malloc
test rax, rax
mov rbp, rax
je 0x433347
mov r8d, dword [rsi + 0x90]
test r8d, r8d
je 0x4334cb
mov rcx, rbx
call sub.msvcrt.dll_malloc
test rax, rax
mov r15, rax
je 0x433347
mov r12d, dword [rsp + 0x30]
mov qword [rsp + 0x48], rsi
mov esi, r12d
lea eax, [rsi + 1]
xor edx, edx
mov rcx, r15
movsxd rbx, eax
mov dword [rsp + 0x40], eax
shl rbx, 3
mov r8, rbx
call sub.msvcrt.dll_memset
mov ecx, dword [rsp + 0x204]
test ecx, ecx
jle 0x43297f
sub ecx, 1
mov r8, qword [rsp + 0x210]
lea rdx, [rcx + rcx*4]
lea rdx, [rdx*4 + 0x24]
lea rax, [r8 + 0x10]
add rdx, r8
nop dword [rax]
mov dword [rax], 0
add rax, 0x14
cmp rax, rdx
jne 0x432970
mov eax, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x80]
mov r8, rdi
mov rcx, qword [rsp + 0x280]
mov qword [rsp + 0x158], rbp
mov qword [rsp + 0x160], r15
mov dword [rsp + 0x17c], esi
mov dword [rsp + 0x178], eax
mov dword [rsp + 0x180], 0
mov dword [rsp + 0x150], 0xffffffff
mov dword [rsp + 0x154], 0xffffffff
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x20], 0
call fcn.0042e8e0
mov rcx, qword [rsp + 0x170]
mov r12d, eax
call fcn.0045e230
test r12d, r12d
jne 0x433eb8
cmp qword [rbp], 0
jne 0x433f6d
cmp qword [r15], 0
jne 0x433f6d
mov rax, qword [rsp + 0x1f8]
lea rax, [rax + rbx - 8]
jmp 0x432a42
mov rcx, qword [rax - 8]
sub rax, 8
test byte [rcx + 0x30], 4
jne 0x43398f
sub esi, 1
jns 0x432a30
mov rcx, rbp
call fcn.0045e230
mov rcx, r15
call fcn.0045e230
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 0x48]
lea rcx, [rax + 0x3c]
call fcn.0042c680
mov eax, dword [rsp + 0xe4]
add dword [rsp + 0x298], eax
mov eax, dword [rsp + 0xd0]
cmp eax, dword [rsp + 0x298]
mov dword [rsp + 0x21c], 0
mov dword [rsp + 0x204], 0
jl 0x432ab4
mov eax, dword [rsp + 0xd4]
cmp eax, dword [rsp + 0x298]
jle 0x432388
mov r13d, dword [rsp + 0x30]
cmp r13d, 0xffffffff
jne 0x433596
xor esi, esi
cmp r13d, 0xffffffff
mov rcx, qword [rsp + 0x1f8]
sete sil
jmp 0x43335d
test r12, r12
jne 0x4327d8
nop dword [rax]
mov r11d, dword [rsp + 0x10c]
mov rbx, qword [rsp + 0x1f0]
test r11d, r11d
mov eax, dword [rbx + 0x24]
jne 0x433350
mov edx, dword [rsp + 0xa0]
xor edx, 1
test dword [rsp + 0xa4], edx
jne 0x432803
mov rdx, qword [rsp + 0x1f8]
test rdx, rdx
je 0x432803
mov ecx, dword [rsp + 0x200]
cmp ecx, eax
jl 0x432803
movsxd r8, eax
lea rdx, [rdx + r8*8]
cmp qword [rdx], 0
je 0x432b63
jmp 0x433318
add rdx, 8
cmp qword [rdx], 0
jne 0x433318
add eax, 1
cmp ecx, eax
jge 0x432b55
jmp 0x432803
test al, 0x20
jne 0x432cb0
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x6c], eax
mov r10d, dword [rsp + 0xa0]
test r10d, r10d
je 0x432803
movsxd rbp, dword [rsp + 0x6c]
mov dword [rsp + 0xa4], 1
jmp 0x4326c0
movsxd rbp, esi
shl rbp, 3
lea r15, [rax + rbp]
mov rax, qword [r15]
test rax, rax
je 0x432d4d
test r12, r12
mov r8, qword [rax + 0x18]
je 0x432ced
mov rbx, qword [r12 + 0x18]
mov rcx, rdi
mov rdx, rbx
call fcn.0042d6c0
test eax, eax
mov dword [rsp + 0x10c], eax
jne 0x433350
mov rax, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x1f0]
mov r8d, dword [rsp + 0x1e0]
movzx eax, byte [rax + 0x30]
mov byte [rsp + 0x38], al
mov r9d, eax
mov eax, dword [rcx + 0x24]
shr r9b, 7
and r9d, 1
lea edx, [rax - 1]
call fcn.0042c900
add rbp, qword [rsp + 0x1f8]
mov rdx, qword [rsp + 0x30]
mov r9d, eax
mov rcx, qword [rsp + 0xb8]
mov r8, rdi
call fcn.0042d8c0
test rbx, rbx
mov r12, rax
mov qword [rbp], rax
je 0x432787
mov rcx, qword [rsp + 0x158]
call fcn.0045e230
jmp 0x432787
mov r8, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x280]
lea rdx, [r12 + 8]
call fcn.00431750
test eax, eax
mov dword [rsp + 0x10c], eax
jne 0x433350
mov rax, qword [rsp + 0x1f8]
movsxd rsi, esi
mov r12, qword [rax + rsi*8]
test r12, r12
je 0x434422
movzx eax, byte [r12 + 0x30]
jmp 0x4327e6
movsxd rbp, dword [rbx + 0x24]
mov edx, dword [r12 + 0xc]
lea r8, [r12 + 0x10]
mov r9d, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x280]
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x28], ebp
call fcn.0042ccc0
test eax, eax
je 0x4326c0
mov dword [rsp + 0x6c], ebp
jmp 0x432b7f
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
mov rcx, rbx
mov r8d, dword [rsp + 0x1e0]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x158], rdx
lea edx, [rsi - 1]
movzx eax, byte [rax + 0x30]
mov r9d, eax
mov byte [rsp + 0x38], al
shr r9b, 7
and r9d, 1
call fcn.0042c900
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0xb8]
mov r9d, eax
mov r8, rdi
call fcn.0042d8c0
mov r12, rax
mov qword [r15], r12
jmp 0x432787
mov dword [rbx + 0x24], esi
jmp 0x43275f
mov rax, qword [rsp + 0x280]
mov ecx, 0x3000
mov rax, qword [rax]
mov qword [rsp + 0xb0], rax
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rsp + 0x78], rax
je 0x433036
add rax, 0x1000
mov edx, 0x100
mov ecx, 8
mov qword [rsp + 0x90], rax
call sub.msvcrt.dll_calloc
test rax, rax
mov qword [rsp + 0xd8], rax
je 0x433e9c
mov qword [r14], 0
mov qword [r14 + 8], 0
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], 0
mov r8d, dword [r12 + 0xc]
test r8d, r8d
jle 0x4342bc
xor ebp, ebp
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 0
mov r12d, ebp
mov dword [rsp + 0x88], 0
mov rbp, rdi
mov rax, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rax, qword [rax + 0x10]
movsxd rdi, dword [rax + rdi]
mov rax, qword [rsp + 0xb0]
shl rdi, 4
add rdi, qword [rax + 0x18]
movzx eax, byte [rdi + 8]
mov qword [rsp + 0x70], rdi
mov edi, dword [rdi + 8]
mov edx, edi
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x50], edi
shr edx, 8
and dx, 0x3ff
cmp eax, 0x17
je 0x433045
cmp dword [rsp + 0x38], 0x13
je 0x433324
cmp dword [rsp + 0x38], 0x16
je 0x433930
mov rdi, qword [rsp + 0x58]
add dword [rsp + 0x88], 1
mov eax, dword [rsp + 0x88]
add qword [rsp + 0x60], 4
cmp eax, dword [rdi + 0xc]
jl 0x432e04
mov rdi, rbp
mov ebp, r12d
mov r12, qword [rsp + 0x58]
test ebp, ebp
jle 0x434491
lea eax, [rbp + 1]
mov dword [rsp + 0x134], 0
mov dword [rsp + 0x130], eax
cdqe
lea rcx, [rax*4]
call sub.msvcrt.dll_malloc
test rax, rax
mov rbx, rax
mov qword [rsp + 0x138], rax
je 0x433f27
lea ecx, [rbp + rbp*2]
mov dword [rsp + 0x110], 0
movsxd rcx, ecx
shl rcx, 3
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rsp + 0x38], rax
je 0x433f39
mov rsi, qword [rsp + 0x38]
movsxd rax, ebp
mov qword [rsp + 0x60], r12
shl rax, 3
mov r12, qword [rsp + 0xb0]
mov qword [rdi], 0
mov qword [rdi + 8], 0
mov qword [rdi + 0x10], 0
xor r15d, r15d
add rsi, rax
mov qword [rdi + 0x18], 0
mov dword [rsp + 0x58], ebp
add rax, rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x78]
lea rbx, [rax + 4]
mov qword [rsp + 0xf0], rax
mov rsi, rax
mov dword [rsp + 0x134], 0
mov ecx, dword [rbx]
xor r14d, r14d
xor ebp, ebp
test ecx, ecx
jg 0x432f8f
jmp 0x433ad5
add ebp, 1
add r14, 4
cmp ebp, dword [rbx]
jge 0x433ad5
mov rax, qword [rbx + 4]
movsxd rdx, dword [rax + r14]
mov rax, qword [r12 + 0x30]
mov eax, dword [rax + rdx*4]
cmp eax, 0xffffffff
je 0x432f80
movsxd rdx, eax
mov rcx, r13
mov rax, rdx
shl rax, 4
add rax, qword [r12 + 0x48]
mov rdx, rax
call fcn.0042d1e0
test eax, eax
mov dword [rsp + 0x110], eax
je 0x432f80
mov rcx, qword [rsp + 0x38]
mov ebp, dword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov r14, qword [rsp + 0x50]
call fcn.0045e230
mov rcx, qword [rsp + 0x138]
call fcn.0045e230
mov rcx, qword [rsp + 0x78]
lea eax, [rbp - 1]
shl rax, 4
lea rsi, [rcx + 8]
lea rbx, [rcx + rax + 0x18]
mov rcx, qword [rsi]
add rsi, 0x10
call fcn.0045e230
cmp rsi, rbx
jne 0x433003
mov rcx, qword [rsp + 0xd8]
call fcn.0045e230
mov rcx, qword [rsp + 0x78]
call fcn.0045e230
mov rbx, qword [rsp + 0x1f0]
mov esi, dword [rbx + 0x24]
mov rax, qword [rsp + 0x40]
mov qword [r12 + 0x20], rax
jmp 0x432751
mov rax, qword [rsp + 0x70]
mov edi, 1
movzx ecx, byte [rax]
mov eax, ecx
and ecx, 0x1f
shr al, 5
shl edi, cl
movzx eax, al
or dword [rsp + rax*4 + 0x110], edi
test dx, dx
je 0x4330c1
test dl, 4
je 0x433092
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax]
xor eax, eax
nop dword [rax]
mov r8d, dword [rcx + rax]
and dword [r14 + rax], r8d
add rax, 4
cmp rax, 0x20
jne 0x433080
test dl, 8
je 0x4330b8
mov rax, qword [rsp + 0xb0]
mov r8, qword [rax]
xor eax, eax
mov ecx, dword [r8 + rax]
not ecx
and dword [r14 + rax], ecx
add rax, 4
cmp rax, 0x20
jne 0x4330a4
and edx, 0x20
jne 0x4338b2
test r12d, r12d
jle 0x433f20
mov r9, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x90]
mov rax, rbp
xor r15d, r15d
mov ebp, r12d
mov r12, rax
mov rdi, r9
nop word cs:[rax + rax]
cmp dword [rsp + 0x38], 0x17
mov r8d, r15d
je 0x4332f0
xor eax, eax
xor ecx, ecx
mov edx, dword [rsi + rax]
and edx, dword [r14 + rax]
mov dword [r13 + rax], edx
add rax, 4
or ecx, edx
cmp rax, 0x20
jne 0x433102
test ecx, ecx
je 0x433215
xor edx, edx
xor r11d, r11d
xor ecx, ecx
nop dword [rax]
mov eax, dword [r14 + rdx]
mov r9d, eax
not r9d
and r9d, dword [rsi + rdx]
mov dword [r12 + rdx], r9d
mov ebx, dword [rsi + rdx]
or ecx, r9d
not ebx
and ebx, eax
mov dword [r14 + rdx], ebx
add rdx, 4
or ebx, r11d
cmp rdx, 0x20
mov r11d, ebx
jne 0x433130
test ecx, ecx
je 0x4331ee
movsxd rcx, ebp
mov rdx, qword [rsp + 0x150]
mov dword [rsp + 0x50], r8d
mov rax, rcx
shl rcx, 4
add rcx, qword [rsp + 0x78]
shl rax, 5
add rax, qword [rsp + 0x90]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x158]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x160]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x168]
mov qword [rax + 0x18], rdx
mov rax, qword [r13]
mov rdx, rdi
mov qword [rsi], rax
mov rax, qword [r13 + 8]
mov qword [rsi + 8], rax
mov rax, qword [r13 + 0x10]
mov qword [rsi + 0x10], rax
mov rax, qword [r13 + 0x18]
mov qword [rsi + 0x18], rax
call fcn.0042d630
test eax, eax
jne 0x43338c
mov r8d, dword [rsp + 0x50]
add ebp, 1
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x50], r8d
mov rax, qword [rax + 0x10]
mov edx, dword [rax + rcx]
mov rcx, rdi
call fcn.0042bb70
test ebx, ebx
mov r8d, dword [rsp + 0x50]
je 0x43322e
lea r8d, [r15 + 1]
add rsi, 0x20
add r15, 1
add rdi, 0x10
cmp r8d, ebp
jl 0x4330f0
mov rax, r12
mov edi, r8d
mov r12d, ebp
mov rbp, rax
cmp edi, r12d
jne 0x432e63
movsxd rax, r12d
mov rcx, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x58]
mov rdx, rax
shl rax, 4
shl rdx, 5
add rdx, qword [rsp + 0x90]
mov qword [rdx], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rdx + 8], rcx
mov rcx, qword [rsp + 0x120]
mov qword [rdx + 0x10], rcx
mov rcx, qword [rsp + 0x128]
mov qword [rdx + 0x18], rcx
mov rdx, qword [rdi + 0x10]
mov ecx, 4
mov rdi, qword [rsp + 0x60]
mov esi, dword [rdx + rdi]
mov rdi, qword [rsp + 0x78]
lea rbx, [rdi + rax]
mov dword [rbx], 1
mov dword [rbx + 4], 1
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rbx + 8], rax
je 0x4342e7
mov dword [rax], esi
add r12d, 1
mov qword [r14], 0
mov qword [r14 + 8], 0
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], 0
jmp 0x432e63
mov rax, qword [rsp + 0x70]
mov edx, 1
movzx eax, byte [rax]
mov ecx, eax
shr al, 5
and ecx, 0x1f
movzx eax, al
shl edx, cl
test dword [rsi + rax*4], edx
je 0x433215
jmp 0x4330fe
movsxd rbp, dword [rbx + 0x24]
xor r12d, r12d
jmp 0x4326c0
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
xor eax, eax
nop
mov r8d, dword [rcx + rax]
or dword [r14 + rax], r8d
add rax, 4
cmp rax, 0x20
jne 0x433330
jmp 0x433066
mov rcx, rbp
call fcn.0045e230
nop
mov rcx, qword [rsp + 0x1f8]
mov esi, 0xc
call fcn.0045e230
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x90]
test eax, eax
jne 0x433cd7
mov rcx, qword [rsp + 0xc8]
call fcn.0042adc0
mov eax, esi
jmp 0x43262a
mov rdi, r12
mov r12, qword [rsp + 0x58]
test ebp, ebp
jle 0x4333c1
mov rcx, qword [rsp + 0x78]
lea eax, [rbp - 1]
shl rax, 4
lea rsi, [rcx + 8]
lea rbx, [rcx + rax + 0x18]
nop dword [rax]
mov rcx, qword [rsi]
add rsi, 0x10
call fcn.0045e230
cmp rsi, rbx
jne 0x4333b0
mov rcx, qword [rsp + 0x78]
call fcn.0045e230
mov rbx, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0xd8]
call fcn.0045e230
mov esi, dword [rbx + 0x24]
jmp 0x433036
mov rax, qword [rsp + 0xa8]
mov r9d, dword [rax + 0x90]
test r9d, r9d
je 0x432ab4
mov esi, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x1f0]
mov r9d, dword [rsp + 0x1e0]
movsxd rax, esi
mov rax, qword [rdx + rax*8]
mov edx, dword [rax + 0xc]
mov qword [rsp + 0x20], rcx
lea r8, [rax + 0x10]
mov rcx, qword [rsp + 0x280]
mov dword [rsp + 0x28], esi
call fcn.0042ccc0
mov dword [rsp + 0x1e8], eax
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x90]
jmp 0x4328b7
test al, 0x20
je 0x4334a2
mov eax, dword [rsp + 0x6c]
mov rbx, qword [rsp + 0x1f0]
lea r8, [r12 + 0x10]
mov edx, dword [r12 + 0xc]
mov r9d, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x280]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
call fcn.0042ccc0
test eax, eax
je 0x433aa3
mov r9d, dword [rsp + 0xa0]
test r9d, r9d
je 0x432803
mov rbx, qword [rsp + 0x1f0]
mov dword [rsp + 0xa4], 1
jmp 0x4326a2
mov qword [rsp + 0x158], rax
mov esi, dword [rsp + 0x30]
mov r8, rdi
mov eax, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x280]
mov qword [rsp + 0x160], 0
mov dword [rsp + 0x17c], esi
mov dword [rsp + 0x180], 0
mov dword [rsp + 0x178], eax
mov dword [rsp + 0x150], 0xffffffff
mov dword [rsp + 0x154], 0xffffffff
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x20], 0
call fcn.0042e8e0
mov rcx, qword [rsp + 0x170]
mov dword [rsp + 0x40], eax
call fcn.0045e230
mov eax, dword [rsp + 0x40]
test eax, eax
jne 0x433fcb
mov r13d, esi
mov rdi, rbp
mov r12d, esi
mov rcx, qword [rsp + 0x1f8]
call fcn.0045e230
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x1f8], rdi
mov dword [rsp + 0x1e4], r12d
mov dword [rsp + 0x1e8], eax
cmp r13d, 0xffffffff
je 0x432ac3
xor eax, eax
cmp qword [rsp + 0x2b0], 0
mov rdx, qword [rsp + 0x2b8]
je 0x432ac3
mov dword [rdx + rax*8 + 4], 0xffffffff
mov dword [rdx + rax*8], 0xffffffff
add rax, 1
cmp qword [rsp + 0x2b0], rax
ja 0x4335af
mov rax, qword [rsp + 0x2b8]
cmp qword [rsp + 0x2b0], 1
mov rdi, qword [rsp + 0x2b8]
mov dword [rax], 0
mov eax, dword [rsp + 0x1e4]
mov dword [rdi + 4], eax
je 0x434281
mov rax, qword [rsp + 0x280]
test byte [rax + 0x30], 0x10
jne 0x434281
mov rax, qword [rsp + 0xa8]
test byte [rax + 0x98], 1
je 0x4343d0
mov ecx, dword [rax + 0x90]
test ecx, ecx
jle 0x4343d0
mov rax, qword [rsp + 0x280]
mov ecx, 0x40
lea r14, [rsp + 0x150]
mov dword [rsp + 0x150], 0
mov dword [rsp + 0x154], 2
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
call sub.msvcrt.dll_malloc
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x30]
lea r12, [rsp + 0x130]
mov dword [rsp + 0x38], r13d
mov rsi, qword [rsp + 0x2b8]
mov r9d, dword [rax + 0x8c]
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov dword [rsp + 0x110], 0
mov rax, qword [rax + 0x28]
cmp qword [rsp + 0x2b0], rax
mov r15d, r9d
lea edx, [rax + 1]
mov rax, qword [rsp + 0x2b0]
cmovbe edx, dword [rsp + 0x2b0]
shl rax, 3
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x110]
mov dword [rsp + 0x50], edx
xor edx, edx
mov qword [rsp + 0x48], rax
lea rax, [r12 + 8]
mov qword [rsp + 0x60], rax
jmp 0x433810
mov eax, dword [rsp + 0x2b0]
cmp edx, ecx
mov dword [rsp + 0x40], eax
jne 0x43372d
cmp r15d, dword [rsp + 0x1e8]
je 0x43416a
mov rax, qword [rsp + 0x280]
mov rdx, r13
mov rbp, qword [rax]
add rdx, qword [rbp + 0x18]
movzx eax, byte [rdx + 8]
lea ecx, [rax - 0x19]
cmp cl, 3
lea ecx, [rax - 0x14]
setbe r8b
cmp cl, 1
setbe cl
or r8b, cl
jne 0x433fe5
cmp al, 0x1e
je 0x433fe5
cmp al, 0x1d
mov ebx, dword [rsp + 0x110]
je 0x4341df
mov r9, qword [rsp + 0x1f0]
mov r8d, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x280]
mov dword [rsp + 0x20], ebx
call fcn.0042cba0
test eax, eax
je 0x43413f
mov rax, qword [rbp + 0x30]
lea r10d, [rbx + 1]
mov r15d, dword [rax + rdi*4]
test r14, r14
mov dword [rsp + 0x110], r10d
je 0x4337f5
cmp r10d, dword [rsp + 0x1e4]
jg 0x43413f
mov rax, qword [rsp + 0x1f8]
movsxd r10, r10d
mov rax, qword [rax + r10*8]
test rax, rax
je 0x43413f
mov ecx, dword [rax + 0xc]
lea rdx, [rax + 0x10]
mov r8d, r15d
call fcn.0042c0d0
test eax, eax
je 0x43413f
mov dword [rsp + 0x134], 0
test r15d, r15d
js 0x433ee1
mov edx, dword [rsp + 0x110]
mov ecx, dword [rsi + 4]
cmp ecx, edx
jl 0x4343a7
movsxd rdi, r15d
mov rbx, qword [rsp + 0x30]
mov r13, rdi
shl r13, 4
mov rax, r13
add rax, qword [rbx + 0x18]
movzx r8d, byte [rax + 8]
lea r10d, [r8 - 0x14]
cmp r10d, 1
ja 0x433710
mov eax, dword [rax]
add eax, 1
cmp dword [rsp + 0x50], eax
jle 0x433710
cmp r8d, 0x14
je 0x434304
cmp r8d, 0x15
jne 0x433710
cdqe
mov dword [rsi + rax*8 + 4], edx
mov ecx, dword [rsi + 4]
jmp 0x433710
mov dword [rsp + 0x38], eax
jmp 0x4328ca
mov r8, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x280]
lea rdx, [r12 + 8]
call fcn.00431750
test eax, eax
mov dword [rsp + 0x10c], eax
jne 0x432807
movzx eax, byte [r12 + 0x30]
jmp 0x43267f
mov eax, dword [rsp + 0x110]
mov qword [r14], 0
mov qword [r14 + 8], 0
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], 0
test ah, 4
je 0x432e63
mov dword [rsp + 0x110], 0x400
jmp 0x4330c1
mov r8, qword [rsp + 0x80]
lea rdx, [rbx + 0x94]
lea rcx, [rbx + 0x18]
lea r9, [r12 + 8]
mov dword [rsp + 0x20], 0
call fcn.0042c730
test eax, eax
mov dword [rsp + 0x10c], eax
je 0x432671
jmp 0x432807
mov rax, qword [rsp + 0x280]
mov qword [r14], 0xffffffffffffffff
mov qword [r14 + 8], 0xffffffffffffffff
mov qword [r14 + 0x10], 0xffffffffffffffff
mov qword [r14 + 0x18], 0xffffffffffffffff
mov eax, dword [rax + 0x10]
test al, 0x40
jne 0x433969
and dword [rsp + 0x110], 0xfffffbff
test al, 0x80
je 0x433066
and dword [rsp + 0x110], 0xfffffffe
jmp 0x433066
mov qword [rsp + 0x210], 0
jmp 0x43222e
mov rax, qword [rsp + 0x1f0]
mov edx, dword [rcx + 0xc]
lea r8, [rcx + 0x10]
mov r9d, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x280]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
call fcn.0042ccc0
mov dword [rsp + 0x38], eax
jmp 0x432928
mov dword [rsp + 0x298], edx
jmp 0x43248e
mov rsi, qword [rsp + 0xc0]
mov r12d, dword [rsp + 0xe4]
mov r15, qword [rsp + 0x280]
mov ebx, dword [rsp + 0x290]
mov ebp, dword [rsp + 0x298]
jmp 0x433a41
cmp ebp, eax
jl 0x433a55
xor eax, eax
cmp ebp, ebx
jge 0x433a1a
mov eax, ebp
sub eax, dword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x198]
cdqe
movzx eax, byte [rdx + rax]
cmp byte [rsi + rax], 0
jne 0x4342db
add ebp, r12d
cmp dword [rsp + 0xd0], ebp
jl 0x433fa9
cmp dword [rsp + 0xd4], ebp
jg 0x433fa9
mov eax, dword [rsp + 0x1a8]
mov edx, dword [rsp + 0x1ac]
add edx, eax
cmp ebp, edx
jl 0x4339f9
movzx r9d, byte [r15 + 0x30]
mov r8d, dword [rsp + 0x2c0]
mov edx, ebp
mov rcx, qword [rsp + 0xc8]
shr r9b, 7
and r9d, 1
call fcn.0042c980
test eax, eax
je 0x4339fd
mov esi, eax
mov rcx, qword [rsp + 0x1f8]
jmp 0x43335d
cmp qword [rax + 0x20], 0
sete al
movzx eax, al
mov dword [rsp + 0xe0], eax
jmp 0x43233c
mov dword [rsp + 0x6c], 0xffffffff
mov dword [rsp + 0xa4], 0
jmp 0x4326a2
mov qword [rsp + 0x1f8], 0
jmp 0x4322ac
mov r12, qword [rbx + 0x78]
jmp 0x432642
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov r8, r13
mov rdx, r12
call fcn.0042d8c0
mov rcx, qword [rsp + 0x38]
test rax, rax
mov qword [rcx + r15*8], rax
je 0x433f4d
test byte [rax + 0x30], 0x20
jne 0x433d0b
mov rcx, qword [rsp + 0x70]
mov qword [rcx + r15*8], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x88]
mov rax, qword [rax + r15*8]
mov qword [rcx + r15*8], rax
xor eax, eax
mov edx, dword [rsi + rax + 0x1000]
or dword [rdi + rax], edx
add rax, 4
cmp rax, 0x20
jne 0x433b24
add r15, 1
add rbx, 0x10
add rsi, 0x20
cmp dword [rsp + 0x58], r15d
jg 0x432f61
mov r12, qword [rsp + 0x60]
mov r14, qword [rsp + 0x50]
xor edx, edx
mov rax, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xf0]
mov ebp, dword [rsp + 0x58]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x50], r12
mov edi, edx
mov r15, rax
mov qword [rsp + 0x58], r14
mov qword [rsp + 0xb0], r13
mov rax, qword [rsp + 0x40]
xor ebx, ebx
mov r12d, dword [rax]
nop word [rax + rax]
bt r12d, ebx
lea r14d, [rdi + rbx]
mov r13d, ebx
jae 0x433c00
mov ecx, r14d
call qword [sym.imp.msvcrt.dll_isalnum]
test eax, eax
jne 0x434432
cmp r14d, 0x5f
je 0x434432
mov ecx, ebx
mov eax, 1
xor edx, edx
shl eax, cl
mov ecx, eax
mov rax, rsi
nop dword [rax + rax]
test dword [rax + 0x1000], ecx
jne 0x433fd3
add rdx, 1
add rax, 0x20
cmp ebp, edx
jg 0x433be0
nop dword [rax + rax]
add rbx, 1
cmp rbx, 0x20
jne 0x433ba0
add edi, 0x20
add qword [rsp + 0x40], 4
add r15, 0x100
add rsi, 4
cmp edi, 0x100
jne 0x433b90
test byte [rsp + 0x151], 4
mov r12, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov r13, qword [rsp + 0xb0]
je 0x433c83
mov rdx, qword [rsp + 0x90]
xor eax, eax
jmp 0x433c63
add rax, 1
add rdx, 0x20
cmp ebp, eax
jle 0x433c83
test dword [rdx], 0x400
je 0x433c57
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsi + rax*8]
mov rsi, qword [rsp + 0xd8]
mov qword [rsi + 0x50], rax
mov rcx, qword [rsp + 0x38]
call fcn.0045e230
mov rcx, qword [rsp + 0x138]
call fcn.0045e230
mov rcx, qword [rsp + 0x78]
lea eax, [rbp - 1]
shl rax, 4
lea rsi, [rcx + 8]
lea rbx, [rcx + rax + 0x18]
mov rcx, qword [rsi]
add rsi, 0x10
call fcn.0045e230
cmp rsi, rbx
jne 0x433caf
mov rcx, qword [rsp + 0x78]
call fcn.0045e230
mov rbx, qword [rsp + 0x1f0]
jmp 0x4342c6
mov rax, qword [rsp + 0x80]
lea rcx, [rax + 0x3c]
lea rdx, [rax + 0x48]
call fcn.0042c680
mov rcx, qword [rsp + 0x228]
call fcn.0045e230
mov rcx, qword [rsp + 0x210]
call fcn.0045e230
jmp 0x433378
mov rcx, qword [rsp + 0x50]
mov r9d, 1
mov r8, r13
mov rdx, r12
call fcn.0042d8c0
mov rcx, qword [rsp + 0x70]
test rax, rax
mov qword [rcx + r15*8], rax
je 0x43431b
mov rcx, qword [rsp + 0x50]
mov r9d, 2
mov r8, r13
mov rdx, r12
call fcn.0042d8c0
mov rcx, qword [rsp + 0x88]
test rax, rax
mov qword [rcx + r15*8], rax
jne 0x433b22
mov ebp, dword [rsp + 0x110]
test ebp, ebp
je 0x433b22
jmp 0x432fc9
cmp dword [rsp + 0x298], eax
jge 0x433efd
movsxd rax, dword [rsp + 0x298]
mov rsi, qword [rsp + 0x288]
movzx edx, byte [rsi + rax]
mov rsi, qword [rsp + 0xc0]
movzx edx, byte [rcx + rdx]
cmp byte [rsi + rdx], 0
jne 0x43248e
mov rbx, qword [rsp + 0x288]
mov r9, rsi
mov edx, dword [rsp + 0x298]
lea rax, [rbx + rax + 1]
jmp 0x433dda
movzx r8d, byte [rax]
add rax, 1
movzx r8d, byte [rcx + r8]
cmp byte [r9 + r8], 0
jne 0x4339c5
add edx, 1
cmp edx, dword [rsp + 0xd0]
jne 0x433dc2
jmp 0x43243f
mov eax, dword [rsp + 0xd4]
cmp dword [rsp + 0x298], eax
jl 0x432ab4
movsxd rdx, dword [rsp + 0x298]
mov r9, qword [rsp + 0xc0]
add rdx, qword [rsp + 0x288]
mov r10d, dword [rsp + 0xd4]
mov r11d, dword [rsp + 0x290]
mov eax, dword [rsp + 0x298]
jmp 0x433e40
sub eax, 1
sub rdx, 1
cmp r10d, eax
jg 0x433fba
xor r8d, r8d
cmp eax, r11d
jge 0x433e4c
movzx r8d, byte [rdx]
test rcx, rcx
je 0x433e56
movzx r8d, byte [rcx + r8]
cmp byte [r9 + r8], 0
je 0x433e30
mov dword [rsp + 0x298], eax
jmp 0x43248e
mov eax, dword [rsp + 0x298]
add eax, dword [rsp + 0x2a0]
mov dword [rsp + 0xe4], 0xffffffff
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0x298]
mov dword [rsp + 0xd0], eax
jmp 0x432305
mov rcx, qword [rsp + 0x78]
call fcn.0045e230
mov rax, qword [rsp + 0x40]
mov esi, dword [rbx + 0x24]
mov qword [r12 + 0x20], rax
jmp 0x432751
mov eax, r12d
mov rcx, rbp
mov dword [rsp + 0x38], eax
call fcn.0045e230
mov rcx, r15
call fcn.0045e230
mov eax, dword [rsp + 0x38]
cmp eax, 1
je 0x432a57
jmp 0x433a7d
cmp r15d, 0xfffffffe
jne 0x43413f
mov esi, 0xc
mov rcx, qword [rsp + 0x1f8]
jmp 0x43335d
mov eax, dword [rsp + 0xd0]
cmp dword [rsp + 0x298], eax
jne 0x43248e
jmp 0x43243f
xor edi, edi
jmp 0x43323a
mov dword [rsp + 0x110], 0xc
xor ecx, ecx
jmp 0x432fe9
mov rcx, rbx
jmp 0x432fe9
mov r12, qword [rbx + 0x80]
jmp 0x432642
mov edx, dword [rsp + 0x110]
test edx, edx
je 0x433afa
jmp 0x432fc9
xor ecx, ecx
mov esi, 0xc
jmp 0x43335d
mov r12d, esi
mov rsi, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x40]
mov r8, r15
mov rdx, rbp
mov rcx, rsi
call fcn.0042dd60
mov rcx, r15
mov dword [rsp + 0x40], eax
call fcn.0045e230
mov eax, dword [rsp + 0x40]
test eax, eax
jne 0x433fcb
mov r13d, dword [rsp + 0x30]
mov rdi, rbp
jmp 0x433564
mov r13d, dword [rsp + 0x30]
mov dword [rsp + 0x298], ebp
jmp 0x43358c
mov r13d, dword [rsp + 0x30]
mov dword [rsp + 0x298], eax
jmp 0x43358c
xor r15d, r15d
jmp 0x433ebb
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + rdx*8]
mov qword [r15 + rbx*8], rax
jmp 0x433c00
movsxd rdx, dword [rsp + 0x110]
mov rax, qword [rsp + 0x1f8]
mov rcx, r12
mov rdi, qword [rax + rdx*8]
mov edx, r15d
call fcn.0042bb70
test eax, eax
js 0x43413f
mov r9, r13
add r9, qword [rbp + 0x40]
mov eax, dword [r9 + 4]
test eax, eax
jle 0x43413f
mov r13, qword [r9 + 8]
sub eax, 1
mov r15d, dword [rdi + 0xc]
lea rbp, [rax*4 + 4]
add rdi, 0x10
xor ebx, ebx
mov qword [rsp + 0x2b8], rsi
add rbp, r13
jmp 0x43405d
cmp ebx, 1
jne 0x434080
mov dword [rsp + 0xec], esi
add ebx, 1
add r13, 4
cmp r13, rbp
je 0x434090
mov esi, dword [r13]
mov rdx, rdi
mov ecx, r15d
mov r8d, esi
call fcn.0042c0d0
test eax, eax
je 0x434054
test ebx, ebx
jne 0x434045
mov dword [rsp + 0xe8], esi
jmp 0x434051
mov esi, dword [rsp + 0xe8]
mov dword [rsp + 0xe8], esi
jmp 0x434051
cmp ebx, 1
mov rsi, qword [rsp + 0x2b8]
jle 0x43413b
mov r8d, dword [rsp + 0xe8]
mov rdx, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x134]
call fcn.0042c0d0
test eax, eax
mov r15d, dword [rsp + 0xec]
jne 0x433800
test r14, r14
je 0x43412e
mov edi, dword [r14]
mov ebp, dword [rsp + 0x110]
lea eax, [rdi + 1]
cmp eax, dword [r14 + 4]
mov dword [r14], eax
je 0x43437a
mov rbx, qword [r14 + 8]
movsxd rax, edi
mov rdi, qword [rsp + 0x58]
shl rax, 5
add rbx, rax
mov eax, dword [rsp + 0xec]
mov rcx, rdi
mov dword [rbx], ebp
mov dword [rbx + 4], eax
call sub.msvcrt.dll_malloc
mov rdx, rsi
mov rcx, rax
mov qword [rbx + 8], rax
mov r8, rdi
call sub.msvcrt.dll_memcpy
lea rcx, [rbx + 0x10]
mov rdx, r12
call fcn.0042d630
mov r15d, dword [rsp + 0xe8]
jmp 0x433800
test ebx, ebx
jne 0x43412e
test r14, r14
je 0x43447a
mov r8d, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r9, rsi
mov qword [rsp + 0x20], r12
mov rcx, r14
call fcn.0042bfb0
mov r15d, eax
jmp 0x433809
test r14, r14
je 0x43426f
xor eax, eax
jmp 0x43418e
add rax, 1
cmp qword [rsp + 0x2b0], rax
jbe 0x43419c
mov edx, dword [rsi + rax*8]
test edx, edx
js 0x434180
cmp dword [rsi + rax*8 + 4], 0xffffffff
jne 0x434180
cmp qword [rsp + 0x2b0], rax
je 0x4343a7
mov eax, dword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x48]
mov r9, rsi
mov qword [rsp + 0x20], r12
mov rcx, r14
mov r8d, eax
mov dword [rsp + 0x40], eax
call fcn.0042bfb0
movsxd rdi, eax
mov r13, rdi
mov r15, rdi
shl r13, 4
jmp 0x43372d
movsxd rax, dword [rdx]
lea rax, [rsi + rax*8]
mov edx, dword [rax + 4]
movsxd rax, dword [rax]
mov r10d, edx
sub r10d, eax
test r14, r14
je 0x434370
cmp eax, 0xffffffff
je 0x43413f
cmp edx, 0xffffffff
je 0x43413f
test r10d, r10d
jne 0x434331
mov edx, r15d
mov rcx, r12
call fcn.0042bb70
test eax, eax
js 0x433eeb
mov rax, qword [rbp + 0x40]
movsxd rdx, dword [rsp + 0x110]
mov rax, qword [rax + r13 + 8]
mov rbx, rdx
mov r15d, dword [rax]
mov rax, qword [rsp + 0x1f8]
mov rax, qword [rax + rdx*8]
mov r8d, r15d
mov ecx, dword [rax + 0xc]
lea rdx, [rax + 0x10]
call fcn.0042c0d0
test eax, eax
jne 0x433800
mov rdx, r13
add rdx, qword [rbp + 0x18]
jmp 0x433776
mov rcx, qword [rsp + 0x138]
mov r13d, dword [rsp + 0x38]
call fcn.0045e230
mov rax, qword [rsp + 0x2b8]
xor ecx, ecx
mov edx, dword [rax]
cmp edx, 0xffffffff
je 0x4342a5
add edx, dword [rsp + 0x298]
mov edi, dword [rsp + 0x298]
add dword [rax + 4], edi
mov dword [rax], edx
add rcx, 1
add rax, 8
cmp qword [rsp + 0x2b0], rcx
ja 0x43428b
jmp 0x432ac3
mov rcx, qword [rsp + 0x78]
call fcn.0045e230
mov rax, qword [rsp + 0xd8]
mov esi, dword [rbx + 0x24]
mov qword [rsp + 0x40], rax
jmp 0x433036
mov dword [rsp + 0x298], ebp
jmp 0x43248e
mov rdi, rbp
mov dword [rbx + 4], 0
mov ebp, r12d
mov dword [rbx], 0
mov r12, qword [rsp + 0x58]
jmp 0x433394
cdqe
lea rax, [rsi + rax*8]
mov dword [rax + 4], 0xffffffff
mov dword [rax], edx
mov ecx, dword [rsi + 4]
jmp 0x433710
mov r14d, dword [rsp + 0x110]
test r14d, r14d
je 0x433d33
jmp 0x432fc9
mov rdx, qword [rsp + 0x1f0]
movsxd r8, r10d
mov dword [rsp + 0x6c], r10d
mov rcx, qword [rdx + 8]
movsxd rdx, ebx
add rdx, rcx
add rcx, rax
call sub.msvcrt.dll_memcmp
test eax, eax
mov r10d, dword [rsp + 0x6c]
jne 0x43413f
mov rax, qword [rbp + 0x30]
add r10d, ebx
mov r15d, dword [rax + rdi*4]
jmp 0x4337ab
test r10d, r10d
jne 0x434360
jmp 0x434216
add eax, eax
mov rcx, qword [r14 + 8]
mov dword [r14 + 4], eax
cdqe
shl rax, 5
mov rdx, rax
call sub.msvcrt.dll_realloc
test rax, rax
je 0x43412e
mov qword [r14 + 8], rax
mov rbx, rax
jmp 0x4340ed
mov rcx, qword [rsp + 0x138]
mov r13d, dword [rsp + 0x38]
call fcn.0045e230
mov rcx, r14
call fcn.0042af50
test eax, eax
mov esi, eax
je 0x434281
jmp 0x433ef0
mov rax, qword [rsp + 0x280]
mov dword [rsp + 0x150], 0
xor r14d, r14d
mov dword [rsp + 0x154], 2
mov qword [rsp + 0x158], 0
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
jmp 0x433670
mov eax, dword [rsp + 0xd0]
mov r13d, dword [rsp + 0x30]
mov dword [rsp + 0x298], eax
jmp 0x43358c
mov rbx, qword [rsp + 0x1f0]
mov eax, dword [rbx + 0x24]
jmp 0x432b0c
mov ecx, r13d
mov eax, 1
xor edx, edx
shl eax, cl
mov ecx, eax
mov rax, rsi
test dword [rax + 0x1000], ecx
jne 0x434468
nop dword [rax + rax]
add rdx, 1
add rax, 0x20
cmp ebp, edx
jle 0x433c00
test dword [rax + 0x1000], ecx
je 0x434450
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + rdx*8]
mov qword [r15 + rbx*8], rax
jmp 0x433c00
mov rcx, qword [rsp + 0x138]
mov esi, 1
call fcn.0045e230
jmp 0x433ef0
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x1f0]
call fcn.0045e230
test ebp, ebp
je 0x4342c6
jmp 0x4333d3