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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15, qword [rcx + 0x18]
xor edi, edi
mov r13, rcx
mov r9, qword [r15 + 0x50]
mov ecx, dword [rcx + 0x3c]
mov qword [rax + 8], rdi
movzx eax, byte [r9 + 0x26]
movzx ebx, byte [r9 + 0x25]
mov rbp, r8
shl ebx, 8
mov r14, rdx
mov r12d, edi
or ebx, eax
movzx eax, byte [r9 + 0x27]
mov esi, edi
shl ebx, 8
mov dword [rsp + 0x20], ecx
or ebx, eax
movzx eax, byte [r9 + 0x24]
shl eax, 0x18
or ebx, eax
cmp ebx, ecx
jb 0x18001c92b
mov ecx, 0xf732
call fcn.1800496b8
jmp 0x18001cc47
mov rcx, qword [r15 + 0x70]
call fcn.180019398
test ebx, ebx
je 0x18001cc71
xor ebp, ebp
test eax, eax
jne 0x18001cc47
mov rcx, qword [r15 + 0x50]
lea edx, [rbx - 1]
mov qword [rsp + 0x28], rdi
mov eax, edx
mov byte [rcx + 0x27], dl
shr eax, 0x18
mov byte [rcx + 0x24], al
mov eax, edx
shr eax, 0x10
mov byte [rcx + 0x25], al
mov eax, edx
shr eax, 8
mov byte [rcx + 0x26], al
test rdi, rdi
je 0x18001c994
mov rcx, qword [rdi + 0x50]
movzx eax, byte [rcx + 2]
movzx edi, byte [rcx + 1]
shl edi, 8
or edi, eax
movzx eax, byte [rcx]
shl eax, 0x18
shl edi, 8
or edi, eax
movzx eax, byte [rcx + 3]
jmp 0x18001c9b5
mov rcx, qword [r15 + 0x50]
movzx eax, byte [rcx + 0x22]
movzx edi, byte [rcx + 0x21]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + 0x20]
shl eax, 0x18
shl edi, 8
or edi, eax
movzx eax, byte [rcx + 0x23]
or edi, eax
cmp edi, dword [rsp + 0x20]
ja 0x18001c9da
cmp ebp, ebx
ja 0x18001c9da
lea r8, [rsp + 0x70]
xor r9d, r9d
mov edx, edi
mov rcx, r13
call fcn.18001ab98
mov r12, qword [rsp + 0x70]
jmp 0x18001c9e4
mov ecx, 0xf76a
call fcn.1800496b8
mov ebx, eax
test eax, eax
jne 0x18001cc37
mov rsi, qword [r12 + 0x50]
movzx eax, byte [rsi + 6]
movzx ebp, byte [rsi + 5]
shl ebp, 8
or ebp, eax
movzx eax, byte [rsi + 4]
shl eax, 0x18
shl ebp, 8
or ebp, eax
movzx eax, byte [rsi + 7]
or ebp, eax
jne 0x18001ca4d
mov rcx, qword [r12 + 0x70]
call fcn.180019398
xor ebp, ebp
mov ebx, eax
test eax, eax
jne 0x18001cc25
mov rax, qword [rsp + 0x80]
mov rcx, qword [r15 + 0x50]
mov qword [r14], r12
mov dword [rax], edi
mov rax, qword [r12 + 0x50]
mov r12d, ebp
mov eax, dword [rax]
mov dword [rcx + 0x20], eax
jmp 0x18001cc12
mov eax, dword [r13 + 0x34]
shr eax, 2
sub eax, 2
cmp ebp, eax
ja 0x18001cc5c
test ebp, ebp
je 0x18001cc10
mov r11d, dword [rsp + 0x88]
xor r10d, r10d
mov edi, 1
mov dword [rsp + 0x70], r10d
test r11d, r11d
je 0x18001cb16
movzx eax, byte [rsi + 0xa]
movzx ecx, byte [rsi + 9]
mov ebx, 0x80000000
shl ecx, 8
mov r15d, 0x7fffffff
or ecx, eax
movzx eax, byte [rsi + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsi + 8]
shl eax, 0x18
or ecx, eax
sub ecx, r11d
jns 0x18001cabf
cmp ecx, ebx
jne 0x18001cabd
mov ecx, r15d
jmp 0x18001cabf
neg ecx
mov r8d, edi
cmp ebp, edi
jbe 0x18001cb16
lea r9, [rsi + 0xe]
movzx eax, byte [r9]
movzx edx, byte [r9 - 1]
shl edx, 8
or edx, eax
movzx eax, byte [r9 - 2]
shl eax, 0x18
shl edx, 8
or edx, eax
movzx eax, byte [r9 + 1]
or edx, eax
sub edx, r11d
jns 0x18001cafc
cmp edx, ebx
jne 0x18001cafa
mov edx, r15d
jmp 0x18001cafc
neg edx
cmp edx, ecx
jge 0x18001cb05
mov r10d, r8d
mov ecx, edx
add r8d, edi
add r9, 4
cmp r8d, ebp
jb 0x18001caca
mov dword [rsp + 0x70], r10d
lea eax, [r10*4 + 8]
mov r15d, eax
movzx ecx, byte [rax + rsi + 1]
movzx eax, byte [rax + rsi + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [r15 + rsi + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [r15 + rsi]
shl eax, 0x18
or ecx, eax
cmp ecx, dword [rsp + 0x20]
ja 0x18001cc09
mov rax, qword [rsp + 0x80]
mov dword [rax], ecx
mov rcx, qword [r12 + 0x70]
call fcn.180019398
mov ebx, eax
test eax, eax
jne 0x18001cc68
lea edx, [rbp - 1]
cmp dword [rsp + 0x70], edx
jae 0x18001cb84
lea eax, [rbp*4 + 4]
mov eax, dword [rax + rsi]
mov dword [r15 + rsi], eax
mov eax, edx
mov byte [rsi + 7], dl
xor ebp, ebp
shr eax, 0x18
mov byte [rsi + 4], al
mov eax, edx
shr eax, 0x10
mov byte [rsi + 5], al
mov eax, edx
shr eax, 8
mov byte [rsi + 6], al
mov rax, qword [rsp + 0x80]
mov rcx, qword [r13 + 0x58]
mov ebx, dword [rax]
test rcx, rcx
je 0x18001cbc3
cmp ebx, dword [rcx]
ja 0x18001cbc5
mov edx, ebx
call fcn.180014b0c
test eax, eax
jne 0x18001cbc5
mov edi, ebp
mov r9d, ebp
test edi, edi
mov r8, r14
mov edx, ebx
mov rcx, r13
sete r9b
call fcn.18001ab98
mov ebx, eax
test eax, eax
jne 0x18001cc12
mov rcx, qword [r14]
mov rcx, qword [rcx + 0x70]
call fcn.180019398
mov ebx, eax
test eax, eax
je 0x18001cc12
mov rcx, qword [r14]
test rcx, rcx
je 0x18001cc04
mov rcx, qword [rcx + 0x70]
call fcn.180018e70
mov qword [r14], rbp
jmp 0x18001cc12
mov ecx, 0xf7ea
jmp 0x18001cc61
xor ebp, ebp
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x18001cc25
mov rcx, qword [rcx + 0x70]
call fcn.180018e70
mov rsi, rbp
test r12, r12
je 0x18001cc37
mov rcx, qword [r12 + 0x70]
call fcn.180018e70
test rsi, rsi
je 0x18001cc45
mov rcx, qword [rsi + 0x70]
call fcn.180018e70
mov eax, ebx
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0xf787
call fcn.1800496b8
mov ebx, eax
mov rsi, qword [rsp + 0x28]
xor ebp, ebp
jmp 0x18001cc28
test eax, eax
jne 0x18001cc47
lea edi, [rax + 1]
xor edx, edx
mov eax, 0x40000000
div dword [r13 + 0x30]
add dword [r13 + 0x3c], edi
mov ecx, dword [r13 + 0x3c]
add eax, edi
cmp ecx, eax
jne 0x18001cc98
lea eax, [rcx + 1]
mov dword [r13 + 0x3c], eax
mov edx, dword [r13 + 0x3c]
mov rax, qword [r13 + 0x18]
mov r9d, edi
mov rcx, qword [rax + 0x50]
mov eax, edx
mov r8, r14
shr eax, 0x18
mov byte [rcx + 0x1f], dl
mov byte [rcx + 0x1c], al
mov eax, edx
shr eax, 0x10
mov byte [rcx + 0x1d], al
mov eax, edx
shr eax, 8
mov byte [rcx + 0x1e], al
mov edx, dword [r13 + 0x3c]
mov rcx, r13
mov dword [rbp], edx
call fcn.18001ab98
xor ebp, ebp
test eax, eax
jne 0x18001cc47
mov rcx, qword [r14]
mov rcx, qword [rcx + 0x70]
call fcn.180019398
mov ebx, eax
test eax, eax
je 0x18001cc45
mov rcx, qword [r14]
test rcx, rcx
je 0x18001cd05
mov rcx, qword [rcx + 0x70]
call fcn.180018e70
mov qword [r14], rbp
jmp 0x18001cc28