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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov eax, dword [rsp + 0x140]
mov r8, rdx
mov dword [rsp + 0x58], eax
lea ecx, [rax + 0x3c]
mov dword [rsp + 0x140], ecx
cmp eax, ecx
jae 0x18001d976
mov rcx, qword [rsp + 0x100]
xor ebx, ebx
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rsp + 0x140]
movzx r10d, byte [rsp + 0x140]
movzx r11d, byte [rsp + 0x140]
mov edx, dword [rsp + 0x140]
mov esi, dword [rsp + 0x140]
mov ebp, dword [rsp + 0x140]
mov edi, dword [rsp + 0x140]
mov r13, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x140]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x140]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x140]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x140]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x50], ecx
mov ecx, dword [rsp + 0x140]
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x5c], r10d
mov dword [rsp + 0x64], esi
mov dword [rsp + 0x60], r11d
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x54], edi
nop word [rax + rax]
add eax, 0xffffff3c
cmp eax, 0x46
ja case.default.0x18001d27e
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x1d9c0]
mov ecx, dword [rcx + rax*4 + 0x1d994]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x108]
mov eax, dword [rcx]
cmp edx, 8
jg 0x18001d516
test eax, eax
je 0x18001d7b5
mov ebp, dword [rsp + 0x38]
mov r8d, 8
mov rdi, qword [rsp + 0xf8]
sub r8d, edx
dec eax
mov r9d, 0x9b
mov dword [rcx], eax
mov dword [rsp + 0x34], r9d
nop
mov eax, r9d
sub eax, 0x97
je 0x18001d4bf
sub eax, 1
je 0x18001d49b
sub eax, 1
je 0x18001d306
sub eax, 1
je 0x18001d2fc
cmp eax, 1
jne 0x18001d4de
mov r14, qword [rsp + 0x68]
mov r12d, ebx
mov r15, qword [rsp + 0x70]
jmp 0x18001d4de
mov r13, qword [rsp + 0x78]
jmp 0x18001d4de
mov rax, qword [rsp + 0x120]
mov dword [rdi], ebx
mov eax, dword [rax]
test eax, eax
je 0x18001d47c
mov ebx, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x30]
mov edx, 0xe2
nop word [rax + rax]
mov eax, edx
sub eax, 0xe2
je 0x18001d42a
sub eax, 1
je 0x18001d3f8
sub eax, 1
je 0x18001d3a2
cmp eax, 1
jne 0x18001d430
cmp r12d, 8
jl 0x18001d430
nop
mov eax, 0xe7
cmp eax, 0xe7
je 0x18001d385
cmp eax, 0x17e
je 0x18001d380
cmp eax, 0x215
jne 0x18001d38b
sub r12d, 8
jmp 0x18001d38b
inc r13
jmp 0x18001d38b
inc r14
inc r15
add eax, 0x97
cmp eax, 0x2ac
jb 0x18001d365
cmp r12d, 8
jge 0x18001d360
jmp 0x18001d430
mov eax, 0x10
mov r9d, ebp
sub eax, r12d
lea ecx, [rax + rax]
movzx eax, r11b
shr r9d, cl
mov ecx, r8d
shl r9b, cl
not r9b
movzx ecx, r9b
or ecx, 0xffffff00
mov dword [rsp + 0x50], r9d
shl ecx, 8
or ecx, eax
movzx eax, r10b
shl ecx, 8
or ecx, eax
mov rax, qword [rsp + 0xe8]
mov dword [rax], ecx
add rax, 4
mov qword [rsp + 0xe8], rax
add r12d, edi
jmp 0x18001d430
mov ebp, dword [r13]
mov eax, 0x10
sub eax, r12d
mov r10d, esi
add eax, eax
mov r11d, ebx
mov ecx, eax
shr r10d, cl
mov ecx, r8d
shl r10b, cl
mov ecx, eax
shr r11d, cl
not r10b
mov ecx, r8d
shl r11b, cl
not r11b
jmp 0x18001d430
mov esi, dword [r14]
mov ebx, dword [r15]
inc edx
cmp edx, 0xe6
jb 0x18001d330
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x3c], ebx
inc dword [rcx]
mov eax, dword [rax]
mov dword [rsp + 0x64], esi
mov dword [rsp + 0x60], r11d
mov dword [rsp + 0x5c], r10d
cmp dword [rcx], eax
jb 0x18001d322
mov r9d, dword [rsp + 0x34]
mov edx, edi
mov rdi, rcx
xor ebx, ebx
mov rcx, qword [rsp + 0xe0]
imul eax, edx
add eax, 7
shr eax, 3
add eax, dword [rcx]
add qword [rsp + 0x68], rax
add qword [rsp + 0x70], rax
jmp 0x18001d4de
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0xe0]
mov eax, dword [rax]
imul eax, edx
add eax, 7
shr eax, 3
add eax, dword [rcx]
add qword [rsp + 0x78], rax
jmp 0x18001d4de
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x110]
movsxd rax, dword [rax]
lea rcx, [rcx + rax*4]
mov qword [rsp + 0xe8], rcx
dec r9d
mov dword [rsp + 0x34], r9d
cmp r9d, 0x96
ja 0x18001d2c0
mov rcx, qword [rsp + 0x108]
mov eax, dword [rcx]
test eax, eax
jne 0x18001d2b0
mov ebp, dword [rsp + 0x40]
dec eax
mov edi, dword [rsp + 0x54]
mov dword [rcx], eax
jmp case.0x18001d27e.197
test eax, eax
je 0x18001d7b5
mov rdi, qword [rsp + 0xf8]
nop word [rax + rax]
dec eax
mov r8d, 5
mov r9d, 6
mov dword [rcx], eax
mov dword [rsp + 0x34], r8d
mov qword [rsp + 0x48], r9
nop word [rax + rax]
cmp r8d, 5
ja case.default.0x18001d575
mov eax, r8d
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x1da08]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0xe0]
mov eax, dword [rax]
imul eax, edx
add eax, 7
shr eax, 3
add eax, dword [rcx]
add qword [rsp + 0x70], rax
jmp case.default.0x18001d575
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0xe0]
mov eax, dword [rax]
imul eax, edx
add eax, 7
shr eax, 3
add eax, dword [rcx]
add qword [rsp + 0x78], rax
jmp case.default.0x18001d575
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x110]
movsxd rax, dword [rax]
lea rcx, [rcx + rax*4]
mov qword [rsp + 0xe8], rcx
jmp case.default.0x18001d575
mov rax, qword [rsp + 0x120]
mov dword [rdi], ebx
mov eax, dword [rax]
test eax, eax
je 0x18001d757
mov ebx, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x38]
nop
mov edx, 0x103
nop word [rax + rax]
cmp edx, 0x103
je 0x18001d6f6
cmp edx, 0x2672
je 0x18001d6e2
cmp edx, 0x4be1
je 0x18001d6c9
cmp edx, 0x7150
jne 0x18001d6fc
movzx eax, r11b
add ebp, edi
movzx ecx, r9b
or ecx, 0xffffff00
shl ecx, 8
or ecx, eax
movzx eax, r10b
shl ecx, 8
or ecx, eax
mov rax, qword [rsp + 0xe8]
mov dword [rax], ecx
add rax, 4
mov qword [rsp + 0xe8], rax
cmp ebp, 8
jl 0x18001d6fc
nop dword [rax]
mov ecx, 0xf7
mov eax, ecx
sub eax, 0xf5
je 0x18001d6b5
sub eax, 1
je 0x18001d6b0
cmp eax, 1
jne 0x18001d6b8
inc r14
inc r15
jmp 0x18001d6b8
inc r13
jmp 0x18001d6b8
sub ebp, 8
dec ecx
cmp ecx, 0xf4
ja 0x18001d695
cmp ebp, 8
jge 0x18001d690
jmp 0x18001d6fc
lea ecx, [rdi - 8]
mov r11d, ebx
add ecx, ebp
mov r9d, r8d
shr r11d, cl
shr r9d, cl
not r11b
not r9b
jmp 0x18001d6fc
mov r8d, dword [r13]
lea ecx, [rdi - 8]
add ecx, ebp
mov r10d, esi
shr r10d, cl
not r10b
jmp 0x18001d6fc
mov esi, dword [r14]
mov ebx, dword [r15]
add edx, 0x256f
cmp edx, 0x95bc
jbe 0x18001d620
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x50], r9d
inc dword [rcx]
mov eax, dword [rax]
mov dword [rsp + 0x3c], ebx
mov dword [rsp + 0x64], esi
mov dword [rsp + 0x60], r11d
mov dword [rsp + 0x5c], r10d
cmp dword [rcx], eax
jb 0x18001d610
mov r8d, dword [rsp + 0x34]
mov edx, edi
mov r9, qword [rsp + 0x48]
mov rdi, rcx
xor ebx, ebx
mov rcx, qword [rsp + 0xe0]
imul eax, edx
add eax, 7
shr eax, 3
add eax, dword [rcx]
add qword [rsp + 0x68], rax
jmp case.default.0x18001d575
mov ebp, ebx
jmp case.default.0x18001d575
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
dec r8d
sub r9, 1
mov dword [rsp + 0x34], r8d
mov qword [rsp + 0x48], r9
jne 0x18001d550
mov rcx, qword [rsp + 0x108]
mov dword [rsp + 0x40], ebp
mov eax, dword [rcx]
test eax, eax
jne 0x18001d530
mov edi, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x108]
dec eax
mov dword [rcx], eax
jmp case.0x18001d27e.197
mov rax, qword [rsp + 0x100]
mov r13, rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], r15
jmp case.0x18001d27e.197
mov eax, dword [r9 + 4]
mov rcx, qword [rsp + 0xf0]
imul eax, dword [rcx]
mov dword [r9 + 4], eax
jmp case.0x18001d27e.197
mov rax, qword [rsp + 0x128]
mov rax, qword [rax + 0x2b8]
mov qword [rsp + 0x88], rax
jmp case.0x18001d27e.197
movzx eax, word [r8]
mov word [r9], ax
jmp case.0x18001d27e.197
mov eax, dword [rsp + 0x80]
mov edi, 1
mov dword [rsp + 0x54], edi
mov dword [r9 + 8], eax
jmp case.0x18001d27e.197
mov rax, qword [rsp + 0x128]
mov r14, qword [rsp + 0x118]
mov r15, qword [rsp + 0x138]
movzx edx, word [rax + 0x1c]
mov dword [rsp + 0x30], edx
jmp case.0x18001d27e.197
mov r10, qword [rsp + 0xf8]
mov eax, 3
mov r8, qword [rsp + 0x128]
mov esi, ebx
mov word [r10 + 2], ax
mov eax, 1
movzx ecx, byte [r8 + 0x48]
shl eax, cl
mov dword [r10 + 4], eax
mov eax, dword [r8 + 0x220]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0xf0]
cmp dword [rax], 0
jbe case.0x18001d27e.197
nop dword [rax + rax]
mov rcx, qword [rsp + 0x120]
xor r9d, r9d
mov eax, esi
mov qword [rsp + 0x20], r8
lea edx, [r9 + 0x43]
mov r8, qword [rcx + rax*8]
mov rcx, r10
call fcn.18004f450
test eax, eax
je 0x18001d931
mov rax, qword [rsp + 0xf0]
inc esi
mov r10, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x128]
cmp esi, dword [rax]
jb 0x18001d8b0
mov edx, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x140]
mov eax, dword [rsp + 0x58]
add eax, 5
mov dword [rsp + 0x58], eax
cmp eax, ecx
jae case.0x18001d27e.225
mov r10d, dword [rsp + 0x5c]
mov r11d, dword [rsp + 0x60]
mov esi, dword [rsp + 0x64]
mov r8, qword [rsp + 0xe8]
mov r9, qword [rsp + 0xf8]
jmp 0x18001d250
mov eax, ebx
jmp 0x18001d97f
mov edx, dword [r8]
cmp edx, 0x10018
je 0x18001d958
mov rax, qword [rsp + 0x88]
mov r8, qword [r9]
mov rcx, qword [rsp + 0x128]
call qword [rax + 0x28]
jmp 0x18001d97f
add qword [r9], 8
mov rax, qword [r9]
mov rcx, qword [rax - 8]
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rcx], eax
mov eax, 1
jmp 0x18001d97f
mov edi, dword [rsp + 0x140]
mov eax, edi
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret