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

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x408]
sub rsp, 0x508
mov rax, qword [0x1800591d8]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
mov r12, r8
mov rdi, rdx
mov rbx, rcx
xor edx, edx
mov rcx, r12
mov r8d, 0x4b0
mov r13d, r9d
call sub.VCRUNTIME140.dll_memset
mov edx, 0x40
lea ecx, [rdx - 0x3f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [r12 + 0x4a8], rax
test rax, rax
je 0x18003966f
mov qword [rax], rbx
mov ecx, 1
mov rdx, qword [r12 + 0x4a8]
mov rdx, qword [rdx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rcx, qword [r12 + 0x4a8]
mov qword [rcx + 8], rax
mov rcx, rbx
mov rax, qword [r12 + 0x4a8]
shr rcx, 2
mov dword [rax + 0x10], ecx
mov rcx, qword [r12 + 0x4a8]
mov rax, qword [rcx + 8]
test rax, rax
jne 0x180039694
test rcx, rcx
je 0x18003966f
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r15d, r15d
mov qword [r12 + 0x4a8], r15
mov eax, 3
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.180043410
add rsp, 0x508
pop r15
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
mov qword [rsp + 0x558], rsi
mov r8, rbx
mov rdx, rdi
mov qword [rsp + 0x500], r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r12 + 0x4a8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xor r15d, r15d
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
mov rdx, qword [rax + 8]
mov rcx, qword [rax]
test rdx, rdx
jne 0x180039709
movzx ecx, word [rdx + 0xa]
mov dword [r12], ecx
mov dword [rsp + 0x30], 5
jmp 0x18003a4f8
cmp rcx, 0x14
jae 0x180039724
movzx ecx, word [rdx + 0xa]
mov dword [r12], ecx
mov dword [rsp + 0x30], 9
jmp 0x18003a4f8
test cl, 3
je 0x18003973e
movzx ecx, word [rdx + 0xa]
mov dword [r12], ecx
mov dword [rsp + 0x30], 9
jmp 0x18003a4f8
shr rcx, 2
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rdx
mov rax, qword [rax + 8]
cmp dword [rdx], 0x7230203
movzx ecx, word [rax + 0xa]
mov dword [r12], ecx
je 0x18003976d
mov dword [rsp + 0x30], 0xa
jmp 0x18003a4f8
lea rcx, [rsp + 0x40]
call fcn.180037020
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x18003a4f8
mov rdx, qword [rsp + 0x50]
test edx, edx
je 0x18003985a
cmp qword [rsp + 0x48], r15
je 0x1800398f8
cmp qword [rbp - 0x80], r15
je 0x18003985a
mov ecx, edx
lea edx, [rax + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rsp + 0x58], rax
mov r9d, r15d
mov r8, rax
mov r11, r15
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x180039846
mov r10, r15
nop dword [rax + rax]
mov rcx, qword [rbp - 0x80]
cmp dword [r10 + rcx + 8], 7
jne 0x180039837
cmp r9d, dword [rsp + 0x50]
jae 0x18003984d
mov eax, dword [r10 + rcx + 0x18]
mov rbx, qword [rsp + 0x48]
inc eax
mov edx, r9d
shl rdx, 4
add rdx, r8
test rbx, rbx
je 0x180039d98
mov r8d, eax
cmp r8, qword [rsp + 0x40]
jae 0x180039d98
mov eax, dword [rbx + rax*4]
mov dword [rdx], eax
mov ecx, dword [r10 + rcx + 0x18]
mov rax, qword [rsp + 0x48]
add ecx, 2
inc r9d
lea rcx, [rax + rcx*4]
mov qword [rdx + 8], rcx
mov rax, qword [rsp + 0x78]
mov r8, qword [rsp + 0x58]
inc r11
add r10, 0xd0
cmp r11, rax
jb 0x1800397d0
mov rdx, qword [rsp + 0x50]
jmp 0x18003985f
mov dword [rsp + 0x30], 7
jmp 0x18003a4f8
mov r8, qword [rsp + 0x58]
cmp qword [rsp + 0x48], r15
je 0x1800398f8
test r8, r8
je 0x18003989d
mov ecx, r15d
test edx, edx
je 0x18003989d
mov r9, qword [rsp + 0x68]
nop dword [rax + rax]
mov eax, ecx
add rax, rax
cmp dword [r8 + rax*8], r9d
je 0x180039893
inc ecx
cmp ecx, edx
jb 0x180039880
jmp 0x18003989d
mov rax, qword [r8 + rax*8 + 8]
mov qword [r12 + 0x28], rax
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1800398f8
mov rax, 0xffffffffffffffff
nop
cmp byte [rcx + rax + 1], r15b
lea rax, [rax + 1]
jne 0x1800398b0
lea rdi, [rax + 1]
mov edx, 8
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rbx, rax
test rax, rax
jne 0x1800398e2
mov dword [rsp + 0x30], 3
jmp 0x18003a4f8
mov r8, qword [rsp + 0x70]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
mov qword [r12 + 0x30], rbx
lea rcx, [rsp + 0x40]
call fcn.180036710
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x18003a4f8
lea rcx, [rsp + 0x40]
call fcn.180036ea0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x18003a4f8
mov r9, qword [rsp + 0x48]
test r9, r9
je 0x180039a0b
mov r10, qword [rbp - 0x80]
test r10, r10
je 0x180039a0b
mov rcx, qword [rsp + 0x78]
mov rdi, r15
test rcx, rcx
je 0x180039a0b
mov r14, qword [rsp + 0x40]
mov rsi, r15
nop dword [rax + rax]
mov r11d, dword [r10 + rsi + 8]
lea eax, [r11 - 5]
cmp eax, 1
ja 0x1800399f8
mov ebx, dword [r10 + rsi + 0x18]
lea eax, [rbx + 1]
test r9, r9
je 0x180039d98
cmp rax, r14
jae 0x180039d98
mov r8d, dword [r9 + rax*4]
mov rax, r15
test rcx, rcx
je 0x1800399f8
mov rdx, r10
nop dword [rax + rax]
cmp dword [rdx], r8d
je 0x1800399b6
inc rax
add rdx, 0xd0
cmp rax, rcx
jb 0x1800399a0
jmp 0x1800399f8
lea rcx, [rdx + 0x50]
cmp r11d, 6
jne 0x1800399dd
lea eax, [rbx + 2]
mov ecx, eax
cmp rcx, r14
jae 0x180039d98
mov ecx, dword [r9 + rax*4]
mov rax, qword [rdx + 0xc0]
lea rcx, [rax + rcx*8]
mov rax, qword [r10 + rsi + 0x50]
mov qword [rcx], rax
mov r10, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x78]
mov r9, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
inc rdi
add rsi, 0xd0
cmp rdi, rcx
jb 0x180039960
lea rcx, [rsp + 0x40]
call fcn.180034490
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x18003a4f8
mov eax, dword [rsp + 0x60]
lea rcx, [r12 + 0x5c]
mov dword [r12 + 0x20], eax
xor edx, edx
mov eax, dword [rsp + 0x64]
mov r8d, 0x3fc
mov dword [r12 + 0x24], eax
mov dword [r12 + 0x50], r15d
call sub.VCRUNTIME140.dll_memset
mov dword [r12 + 0x58], 0xffffffff
mov dword [r12 + 0x68], 0xffffffff
mov dword [r12 + 0x78], 0xffffffff
mov dword [r12 + 0x88], 0xffffffff
mov dword [r12 + 0x98], 0xffffffff
mov dword [r12 + 0xa8], 0xffffffff
mov dword [r12 + 0xb8], 0xffffffff
mov dword [r12 + 0xc8], 0xffffffff
mov dword [r12 + 0xd8], 0xffffffff
mov dword [r12 + 0xe8], 0xffffffff
mov dword [r12 + 0xf8], 0xffffffff
mov dword [r12 + 0x108], 0xffffffff
mov dword [r12 + 0x118], 0xffffffff
mov dword [r12 + 0x128], 0xffffffff
mov dword [r12 + 0x138], 0xffffffff
mov dword [r12 + 0x148], 0xffffffff
mov dword [r12 + 0x158], 0xffffffff
mov dword [r12 + 0x168], 0xffffffff
mov dword [r12 + 0x178], 0xffffffff
mov dword [r12 + 0x188], 0xffffffff
mov dword [r12 + 0x198], 0xffffffff
mov dword [r12 + 0x1a8], 0xffffffff
mov dword [r12 + 0x1b8], 0xffffffff
mov dword [r12 + 0x1c8], 0xffffffff
mov dword [r12 + 0x1d8], 0xffffffff
mov dword [r12 + 0x1e8], 0xffffffff
mov dword [r12 + 0x1f8], 0xffffffff
mov dword [r12 + 0x208], 0xffffffff
mov dword [r12 + 0x218], 0xffffffff
mov dword [r12 + 0x228], 0xffffffff
mov dword [r12 + 0x238], 0xffffffff
mov eax, dword [rbp - 0x48]
mov dword [r12 + 0x248], 0xffffffff
mov dword [r12 + 0x258], 0xffffffff
mov dword [r12 + 0x268], 0xffffffff
mov dword [r12 + 0x278], 0xffffffff
mov dword [r12 + 0x288], 0xffffffff
mov dword [r12 + 0x298], 0xffffffff
mov dword [r12 + 0x2a8], 0xffffffff
mov dword [r12 + 0x2b8], 0xffffffff
mov dword [r12 + 0x2c8], 0xffffffff
mov dword [r12 + 0x2d8], 0xffffffff
mov dword [r12 + 0x2e8], 0xffffffff
mov dword [r12 + 0x2f8], 0xffffffff
mov dword [r12 + 0x308], 0xffffffff
mov dword [r12 + 0x318], 0xffffffff
mov dword [r12 + 0x328], 0xffffffff
mov dword [r12 + 0x338], 0xffffffff
mov dword [r12 + 0x348], 0xffffffff
mov dword [r12 + 0x358], 0xffffffff
mov dword [r12 + 0x368], 0xffffffff
mov dword [r12 + 0x378], 0xffffffff
mov dword [r12 + 0x388], 0xffffffff
mov dword [r12 + 0x398], 0xffffffff
mov dword [r12 + 0x3a8], 0xffffffff
mov dword [r12 + 0x3b8], 0xffffffff
mov dword [r12 + 0x3c8], 0xffffffff
mov dword [r12 + 0x3d8], 0xffffffff
mov dword [r12 + 0x3e8], 0xffffffff
mov dword [r12 + 0x3f8], 0xffffffff
mov dword [r12 + 0x408], 0xffffffff
mov dword [r12 + 0x418], 0xffffffff
mov dword [r12 + 0x428], 0xffffffff
mov dword [r12 + 0x438], 0xffffffff
mov dword [r12 + 0x448], 0xffffffff
test eax, eax
je 0x180039e58
mov ecx, eax
mov edx, 0xe8
mov rax, qword [r12 + 0x4a8]
mov qword [rax + 0x18], rcx
mov rcx, qword [r12 + 0x4a8]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rcx, qword [r12 + 0x4a8]
mov qword [rcx + 0x20], rax
mov rax, qword [r12 + 0x4a8]
cmp qword [rax + 0x20], r15
jne 0x180039da5
mov dword [rsp + 0x30], 3
jmp 0x18003a4f8
mov dword [rsp + 0x30], 0xb
jmp 0x18003a4f8
mov r8, r15
cmp qword [rax + 0x18], r15
jbe 0x180039dec
mov rdx, r15
mov rax, qword [r12 + 0x4a8]
lea rdx, [rdx + 0xe8]
inc r8
mov rcx, qword [rax + 0x20]
mov qword [rdx + rcx - 0xe8], 0xffffffffffffffff
mov dword [rdx + rcx - 0xd0], 0xffffffff
mov rax, qword [r12 + 0x4a8]
cmp r8, qword [rax + 0x18]
jb 0x180039db1
mov rcx, qword [rsp + 0x78]
mov rdi, r15
test rcx, rcx
je 0x180039e58
mov rsi, r15
mov rbx, r15
nop
mov rdx, qword [rbp - 0x80]
add rdx, rbx
cmp byte [rdx + 0x20], r15b
je 0x180039e49
mov rax, qword [r12 + 0x4a8]
lea rcx, [rsp + 0x40]
mov r9, r12
xor r8d, r8d
mov rax, qword [rax + 0x20]
add rax, rsi
mov qword [rsp + 0x20], rax
call fcn.180038660
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x18003a4f8
mov rcx, qword [rsp + 0x78]
add rsi, 0xe8
inc rdi
add rbx, 0xd0
cmp rdi, rcx
jb 0x180039e00
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.180034870
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x18003a4f8
mov r10d, dword [r12 + 0x40]
lea r11, [0x180000000]
test r10d, r10d
je 0x18003a05a
mov r9d, r15d
lea r8d, [rax + 5]
nop dword [rax]
mov eax, r9d
imul rdx, rax, 0x1d8
add rdx, qword [r12 + 0x48]
cmp dword [rdx + 0x1c], 0xffffffff
mov rcx, qword [rdx + 0x1b8]
jne 0x180039f6c
mov eax, dword [rcx + 0x1c]
and eax, 0xff0000
cmp eax, 0x10000
je 0x180039f30
cmp eax, 0x20000
je 0x180039f2a
cmp eax, 0x50000
je 0x180039f08
cmp eax, 0x80000
je 0x180039eeb
cmp eax, 0x100000
jne 0x180039f6c
mov dword [rdx + 0x1c], 0x3b9d13f0
jmp 0x180039f6c
mov eax, dword [rcx + 0x20]
test al, 1
je 0x180039efb
mov dword [rdx + 0x1c], 6
jmp 0x180039f6c
test al, 2
je 0x180039f6c
mov dword [rdx + 0x1c], 7
jmp 0x180039f6c
cmp dword [rdx + 0x24], r8d
jne 0x180039f21
mov ecx, dword [rdx + 0x34]
sub ecx, 1
je 0x180039f46
cmp ecx, 1
jne 0x180039f6c
mov dword [rdx + 0x1c], r8d
jmp 0x180039f6c
mov dword [rdx + 0x1c], 1
jmp 0x180039f6c
mov dword [rdx + 0x1c], r15d
jmp 0x180039f6c
mov eax, dword [rdx + 0x24]
cmp eax, r8d
je 0x180039f0e
cmp eax, 6
jne 0x180039f4f
mov dword [rdx + 0x1c], 0xa
jmp 0x180039f6c
mov dword [rdx + 0x1c], 4
jmp 0x180039f6c
mov ecx, dword [rdx + 0x34]
sub ecx, 1
je 0x180039f65
cmp ecx, 1
jne 0x180039f6c
mov dword [rdx + 0x1c], 3
jmp 0x180039f6c
mov dword [rdx + 0x1c], 2
movsxd rax, dword [rdx + 0x1c]
cmp eax, 0x3b9d13f0
jg case.default.0x180039f89
je case.0x180039f89.2
cmp eax, 9
ja case.default.0x180039f89
mov ecx, dword [r11 + rax*4 + 0x3aa44]
add rcx, r11
jmp rcx
mov dword [rdx + 0x20], 1
jmp case.default.0x180039f89
mov dword [rdx + 0x20], r8d
jmp case.default.0x180039f89
mov dword [rdx + 0x20], 2
jmp case.default.0x180039f89
mov dword [rdx + 0x20], 8
jmp case.default.0x180039f89
mov dword [rdx + 0x20], 4
mov r10d, dword [r12 + 0x40]
inc r9d
cmp r9d, r10d
jb 0x180039e90
mov r14d, r15d
test r10d, r10d
je 0x18003a05a
mov r9, qword [r12 + 0x48]
mov r11d, r10d
mov eax, r14d
imul rsi, rax, 0x1d8
add rsi, r9
cmp dword [rsi + 0x1c], 7
jne 0x18003a04b
mov r8d, dword [rsi + 0x1ac]
mov rdi, r15
cmp r8d, 0xffffffff
je 0x18003a30f
mov edx, r15d
test r10d, r10d
je 0x18003a037
nop word [rax + rax]
mov eax, edx
imul rcx, rax, 0x1d8
add rcx, r9
cmp dword [rcx + 0x1c], 7
jne 0x18003a02b
cmp r8d, dword [rcx]
je 0x18003a307
mov r10d, dword [r12 + 0x40]
inc edx
cmp edx, r10d
jb 0x18003a010
mov r11d, r10d
test rdi, rdi
je 0x18003a04b
mov qword [rsi + 0x1b0], rdi
mov r11d, dword [r12 + 0x40]
inc r14d
mov r10d, r11d
cmp r14d, r11d
jb 0x180039fd0
mov eax, dword [r12 + 0x40]
test eax, eax
je 0x18003a168
mov r14d, r15d
nop word [rax + rax]
mov eax, r14d
imul rdi, rax, 0x1d8
add rdi, qword [r12 + 0x48]
mov eax, dword [rdi + 0x1c]
sub eax, 6
cmp eax, 1
ja 0x18003a15a
mov r8, qword [rdi + 0x1b8]
lea rsi, [rdi + 0x40]
or dword [rdi + 0x104], 1
lea rcx, [rsp + 0x40]
mov r9, rsi
mov rdx, r12
call fcn.180034bc0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x18003a4f8
mov edx, dword [rbp - 0x68]
mov ebx, r15d
test edx, edx
je 0x18003a118
nop word [rax + rax]
mov eax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rbp - 0x60]
lea r8, [rax + rcx*8]
mov eax, dword [rax + rcx*8 + 8]
cmp dword [rdi], eax
jne 0x18003a112
mov qword [rsp + 0x28], rsi
lea rcx, [rsp + 0x40]
xor r9d, r9d
mov dword [rsp + 0x20], 0xffffffff
mov rdx, r12
call fcn.180035260
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x18003a4f8
mov edx, dword [rbp - 0x68]
inc ebx
cmp ebx, edx
jb 0x18003a0d0
mov rax, qword [rdi + 8]
lea rcx, [rsp + 0x40]
mov ebx, dword [rdi + 0x1c]
mov r8b, 1
mov qword [rdi + 0x48], rax
cmp ebx, 7
mov qword [rsp + 0x28], rsi
mov rdx, r12
sete al
xor r9d, r9d
mov byte [rsp + 0x20], al
call fcn.180034f40
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x18003a4f8
cmp ebx, 7
jne 0x18003a15a
mov qword [rdi + 0x58], r15
inc r14d
cmp r14d, dword [r12 + 0x40]
jb 0x18003a070
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.180037cb0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x18003a4f8
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.180035780
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x18003a4f8
cmp dword [r12 + 0x14], r15d
jbe 0x18003a226
mov rcx, qword [r12 + 0x18]
mov rax, qword [rcx]
mov qword [r12 + 8], rax
mov eax, dword [rcx + 8]
mov dword [r12 + 0x10], eax
mov eax, dword [rcx + 0xc]
mov dword [r12 + 0x38], eax
mov eax, dword [rcx + 0x10]
mov dword [r12 + 0x3c], eax
mov eax, dword [rcx + 0x20]
mov dword [r12 + 0x458], eax
mov rax, qword [rcx + 0x28]
mov qword [r12 + 0x460], rax
mov eax, dword [rcx + 0x30]
mov dword [r12 + 0x468], eax
mov rax, qword [rcx + 0x38]
mov qword [r12 + 0x470], rax
mov eax, dword [rcx + 0x40]
mov dword [r12 + 0x478], eax
mov rax, qword [rcx + 0x48]
mov qword [r12 + 0x480], rax
mov eax, dword [rcx + 0x14]
mov dword [r12 + 0x498], eax
mov rax, qword [rcx + 0x18]
mov qword [r12 + 0x4a0], rax
mov eax, dword [r12 + 0x40]
test eax, eax
je 0x18003a25c
mov edx, r15d
mov eax, edx
imul rcx, rax, 0x1d8
add rcx, qword [r12 + 0x48]
cmp dword [rcx + 0x1c], 7
jne 0x18003a253
test byte [rcx + 0x60], 0x80
je 0x18003a253
mov dword [rcx + 0x20], 4
inc edx
cmp edx, dword [r12 + 0x40]
jb 0x18003a232
mov rcx, r12
call fcn.180039020
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x18003a4f8
mov r9, qword [rsp + 0x48]
test r9, r9
je 0x18003a4d0
mov r14, qword [rbp - 0x80]
test r14, r14
je 0x18003a4d0
mov rsi, qword [rsp + 0x78]
mov rbx, r15
test rsi, rsi
je 0x18003a4d0
mov rdi, qword [rsp + 0x40]
mov r11, r15
cmp dword [r11 + r14 + 8], 0x10
jne case.0x18003a41c.0
mov r10d, dword [r11 + r14 + 0x18]
lea eax, [r10 + 1]
test r9, r9
je 0x180039d98
cmp rax, rdi
jae 0x180039d98
mov ecx, dword [r12 + 0x14]
mov r8d, dword [r9 + rax*4]
mov rax, r15
test rcx, rcx
je 0x18003a2fa
mov rdx, qword [r12 + 0x18]
cmp dword [rdx + 8], r8d
je 0x18003a3cb
inc rax
add rdx, 0x98
cmp rax, rcx
jb 0x18003a2e1
mov dword [rsp + 0x30], 0x13
jmp 0x18003a4f8
mov rdi, rcx
jmp 0x18003a037
mov rax, qword [rsi + 8]
test rax, rax
je 0x18003a32b
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rax + rbx], dil
jne 0x18003a320
jmp 0x18003a32e
mov rbx, r15
xor edx, edx
lea rcx, [rbp - 0x10]
mov r8d, 0x400
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rsi + 8]
lea rcx, [rbp - 0x10]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
lea r8, str._count
mov edx, 0x400
lea rcx, [rbp - 0x10]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov r11d, dword [r12 + 0x40]
mov r9d, r15d
mov r10d, r11d
test r11d, r11d
je 0x18003a037
mov rbx, qword [r12 + 0x48]
nop
mov eax, r9d
imul rdi, rax, 0x1d8
add rdi, rbx
cmp dword [rdi + 0x1c], 7
jne 0x18003a3be
mov r8, qword [rdi + 8]
test r8, r8
je 0x18003a3be
lea rax, [rbp - 0x10]
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18003a3b6
inc rax
test ecx, ecx
jne 0x18003a3a3
test edx, edx
je 0x18003a037
inc r9d
cmp r9d, r11d
jb 0x18003a380
jmp 0x18003a04b
test rdx, rdx
je 0x18003a2fa
lea eax, [r10 + 2]
mov ecx, eax
cmp rcx, rdi
jae 0x180039d98
mov eax, dword [r9 + rax*4]
cmp eax, 0x115e
ja 0x18003a4a6
je case.0x18003a41c.0
cmp eax, 0x27
ja case.0x18003a41c.13
lea r8, [0x180000000]
movzx eax, byte [r8 + rax + 0x3aa78]
mov ecx, dword [r8 + rax*4 + 0x3aa6c]
add rcx, r8
jmp rcx
lea eax, [r10 + 3]
mov ecx, eax
cmp rcx, rdi
jae 0x180039d98
mov eax, dword [r9 + rax*4]
mov dword [rdx + 0x8c], eax
mov eax, dword [r11 + r14 + 0x18]
mov r8, qword [rsp + 0x48]
add eax, 4
test r8, r8
je 0x180039d98
mov ecx, eax
cmp rcx, qword [rsp + 0x40]
jae 0x180039d98
mov eax, dword [r8 + rax*4]
mov dword [rdx + 0x90], eax
mov eax, dword [r11 + r14 + 0x18]
mov r8, qword [rsp + 0x48]
add eax, 5
test r8, r8
je 0x180039d98
mov ecx, eax
cmp rcx, qword [rsp + 0x40]
jae 0x180039d98
mov eax, dword [r8 + rax*4]
mov dword [rdx + 0x94], eax
mov r14, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x78]
mov r9, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
jmp case.0x18003a41c.0
sub eax, 0x13a3
je case.0x18003a41c.0
sub eax, 0xf3
je case.0x18003a41c.0
cmp eax, 0x1c
jne case.0x18003a41c.13
inc rbx
add r11, 0xd0
cmp rbx, rsi
jb 0x18003a2a4
mov dword [rsp + 0x30], r15d
test r13b, 1
je 0x18003aa14
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.180037ee0
mov dword [rsp + 0x30], eax
test eax, eax
je 0x18003aa14
cmp qword [r12 + 0x4a8], r15
je 0x18003aa14
mov rcx, qword [r12 + 0x30]
test rcx, rcx
je 0x18003a51b
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r12 + 0x30], r15
mov rdi, r15
cmp dword [r12 + 0x50], r15d
jbe 0x18003a552
lea rbx, [r12 + 0x60]
nop word [rax + rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x18003a541
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx], r15
mov eax, dword [r12 + 0x50]
inc rdi
add rbx, 0x10
cmp rdi, rax
jb 0x18003a530
mov r14, r15
cmp dword [r12 + 0x40], r15d
jbe 0x18003a5f5
mov r13, r15
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [r12 + 0x48]
add rbx, 0x40
add rbx, r13
je 0x18003a5dd
mov rcx, qword [rbx + 0xd0]
test rcx, rcx
je 0x18003a5dd
mov rsi, r15
cmp dword [rbx + 0xc8], r15d
jbe 0x18003a5d0
mov rdi, r15
nop dword [rax]
mov rcx, qword [rbx + 0xd0]
add rcx, rdi
call fcn.180038e30
mov eax, dword [rbx + 0xc8]
inc rsi
add rdi, 0xe0
cmp rsi, rax
jb 0x18003a5a0
mov rcx, qword [rbx + 0xd0]
test rcx, rcx
je 0x18003a5d6
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0xd0], r15
mov eax, dword [r12 + 0x40]
inc r14
add r13, 0x1d8
cmp r14, rax
jb 0x18003a570
mov rcx, qword [r12 + 0x48]
test rcx, rcx
je 0x18003a60a
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r12 + 0x48], r15
mov r14, r15
mov qword [rbp - 0x28], r15
cmp dword [r12 + 0x14], r15d
jbe 0x18003a7f9
mov r13, r15
mov qword [rbp - 0x20], r15
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [r12 + 0x18]
mov rdx, r15
add rbx, r13
mov qword [rbp - 0x30], rdx
cmp dword [rbx + 0x40], r15d
jbe 0x18003a6e3
mov r13, r15
nop dword [rax]
mov rdi, qword [rbx + 0x48]
add rdi, r13
je 0x18003a6c1
mov rcx, qword [rdi + 0xd0]
test rcx, rcx
je 0x18003a6c1
mov r14, r15
cmp dword [rdi + 0xc8], r15d
jbe 0x18003a6b0
mov rsi, r15
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rdi + 0xd0]
add rcx, rsi
call fcn.180038ec0
mov eax, dword [rdi + 0xc8]
inc r14
add rsi, 0xf8
cmp r14, rax
jb 0x18003a680
mov rcx, qword [rdi + 0xd0]
test rcx, rcx
je 0x18003a6b6
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp - 0x30]
mov qword [rdi + 0xd0], r15
mov eax, dword [rbx + 0x40]
inc rdx
add r13, 0xf8
mov qword [rbp - 0x30], rdx
cmp rdx, rax
jb 0x18003a650
mov r14, qword [rbp - 0x28]
mov r13, qword [rbp - 0x20]
mov esi, r15d
cmp dword [rbx + 0x50], r15d
jbe 0x18003a719
nop dword [rax]
mov rax, qword [rbx + 0x58]
mov edi, esi
add rdi, rdi
mov rcx, qword [rax + rdi*8 + 8]
test rcx, rcx
je 0x18003a712
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbx + 0x58]
mov qword [rax + rdi*8 + 8], r15
inc esi
cmp esi, dword [rbx + 0x50]
jb 0x18003a6f0
mov edi, r15d
cmp dword [rbx + 0x14], r15d
jbe 0x18003a754
mov eax, edi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x18]
lea rsi, [rcx*8]
mov rcx, qword [rsi + rax + 0x10]
test rcx, rcx
je 0x18003a74d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbx + 0x18]
mov qword [rsi + rax + 0x10], r15
inc edi
cmp edi, dword [rbx + 0x14]
jb 0x18003a722
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x18003a767
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x18], r15
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x18003a77a
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x58], r15
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x18003a78d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x28], r15
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x18003a7a0
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x38], r15
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x18003a7b3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x48], r15
mov rcx, qword [rbx + 0x68]
test rcx, rcx
je 0x18003a7c6
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x68], r15
mov rcx, qword [rbx + 0x78]
test rcx, rcx
je 0x18003a7d9
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x78], r15
mov eax, dword [r12 + 0x14]
inc r14
add r13, 0x98
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x20], r13
cmp r14, rax
jb 0x18003a630
mov rcx, qword [r12 + 0x18]
test rcx, rcx
je 0x18003a80e
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r12 + 0x18], r15
mov r14, r15
cmp dword [r12 + 0x488], r15d
jbe 0x18003a8a8
mov r13, r15
mov rbx, qword [r12 + 0x490]
add rbx, r13
je 0x18003a88d
mov rcx, qword [rbx + 0xd0]
test rcx, rcx
je 0x18003a88d
mov rsi, r15
cmp dword [rbx + 0xc8], r15d
jbe 0x18003a880
mov rdi, r15
nop word [rax + rax]
mov rcx, qword [rbx + 0xd0]
add rcx, rdi
call fcn.180038e30
mov eax, dword [rbx + 0xc8]
inc rsi
add rdi, 0xe0
cmp rsi, rax
jb 0x18003a850
mov rcx, qword [rbx + 0xd0]
test rcx, rcx
je 0x18003a886
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0xd0], r15
mov eax, dword [r12 + 0x488]
inc r14
add r13, 0xe0
cmp r14, rax
jb 0x18003a822
mov rcx, qword [r12 + 0x490]
test rcx, rcx
je 0x18003a8c3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r12 + 0x490], r15
mov rcx, qword [r12 + 0x4a8]
mov r14, r15
cmp qword [rcx + 0x18], r15
jbe 0x18003a969
mov r13, r15
nop dword [rax + rax]
mov rbx, qword [rcx + 0x20]
add rbx, r13
mov rcx, qword [rbx + 0xe0]
test rcx, rcx
je 0x18003a94d
mov rsi, r15
cmp dword [rbx + 0xdc], r15d
jbe 0x18003a940
mov rdi, r15
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbx + 0xe0]
add rcx, rdi
call fcn.180038f50
mov eax, dword [rbx + 0xdc]
inc rsi
add rdi, 0xe8
cmp rsi, rax
jb 0x18003a910
mov rcx, qword [rbx + 0xe0]
test rcx, rcx
je 0x18003a946
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0xe0], r15
mov rcx, qword [r12 + 0x4a8]
inc r14
add r13, 0xe8
cmp r14, qword [rcx + 0x18]
jb 0x18003a8e0
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x18003a98f
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [r12 + 0x4a8]
mov qword [rax + 0x20], r15
mov rcx, qword [r12 + 0x4a8]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x18003a9b5
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [r12 + 0x4a8]
mov qword [rax + 0x28], r15
mov rcx, qword [r12 + 0x4a8]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x18003a9db
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [r12 + 0x4a8]
mov qword [rax + 0x38], r15
mov rcx, qword [r12 + 0x4a8]
mov rax, qword [rcx + 8]
test rax, rax
je 0x18003aa01
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [r12 + 0x4a8]
mov qword [rax + 8], r15
mov rcx, qword [r12 + 0x4a8]
test rcx, rcx
je 0x18003aa14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r12 + 0x4a8], r15
lea rcx, [rsp + 0x40]
call fcn.1800341b0
mov eax, dword [rsp + 0x30]
mov r14, qword [rsp + 0x500]
mov rsi, qword [rsp + 0x558]
jmp 0x180039674
mov dword [rsp + 0x30], 0x14
jmp 0x18003a4f8