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

Disassembly:
mov r11, rsp
sub rsp, 0x68
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov rdi, rcx
mov rcx, qword [rcx + 0xd8]
mov rax, qword [rdi + 0xe8]
movsxd rbx, dword [rdi + 0x30]
mov qword [rsp + 0x38], rcx
test rax, rax
cmove rax, rcx
xor esi, esi
cmp byte [rdi + 0x12], 4
mov qword [rsp + 0x28], rax
jb 0x180027c69
mov rcx, qword [rdi + 0x88]
cmp qword [rcx], rsi
je 0x180027c69
lea rdx, [r11 - 0x38]
call fcn.180020230
movsxd r9, dword [rdi + 0x44]
mov esi, eax
imul r9, rbx
test eax, eax
jne 0x180027c74
mov rax, qword [rsp + 0x30]
cmp rax, r9
je 0x180027c65
cmp rax, r9
jle 0x180027c46
mov rcx, qword [rdi + 0x88]
mov rdx, r9
call fcn.180020210
mov esi, eax
jmp 0x180027c65
mov rcx, qword [rdi + 0x88]
lea rdx, [0x1802abbb0]
add r9, 0xffffffffffffffff
mov r8d, 1
call fcn.180020200
mov esi, eax
test esi, esi
jne 0x180027c74
mov rcx, rdi
mov dword [rdi + 0x28], ebx
call fcn.180026cc0
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r15
mov r15d, dword [rdi + 0x3c]
xor r13d, r13d
test r15d, r15d
jle 0x180027e0a
nop
mov eax, dword [rdi + 0x44]
mov r12, qword [rdi + 0x98]
mov r14, qword [rdi + 0x128]
add eax, 4
lea rdx, [rsp + 0x20]
mov r8d, 4
mov rcx, r12
imul eax, r13d
movsxd rbx, eax
mov r9, rbx
call fcn.1800201f0
test eax, eax
mov esi, eax
jne 0x180027df5
lea rcx, [rsp + 0x20]
call fcn.180006f50
mov r8d, dword [rdi + 0x44]
lea r9, [rbx + 4]
mov rdx, r14
mov rcx, r12
mov ebp, eax
call fcn.1800201f0
test eax, eax
mov esi, eax
jne 0x180027df5
movsxd r8, dword [rdi + 0x44]
lea eax, [r8 + 4]
movsxd rcx, eax
add qword [rdi + 0xd8], rcx
test ebp, ebp
je 0x180027ed2
mov eax, 0x40000000
cdq
idiv r8d
add eax, 1
cmp ebp, eax
je 0x180027ed2
cmp ebp, dword [rdi + 0x28]
ja 0x180027dfd
mov rbx, qword [rdi + 0x120]
test rbx, rbx
je 0x180027d6e
mov ecx, dword [rdi + 0x118]
add ecx, 0xffffffff
and rcx, rbp
mov rbx, qword [rbx + rcx*8]
test rbx, rbx
je 0x180027d6e
nop
cmp dword [rbx + 8], ebp
je 0x180027d6e
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x180027d60
cmp byte [rdi + 0x12], 4
jb 0x180027dab
test rbx, rbx
je 0x180027d7f
cmp byte [rbx + 0x3a], 0
jne 0x180027dab
mov rcx, qword [rdi + 0x88]
cmp qword [rcx], 0
je 0x180027dab
lea r9d, [rbp - 1]
mov rdx, r14
imul r9, r8
call fcn.180020200
test rbx, rbx
mov esi, eax
je 0x180027df5
mov rcx, rbx
call fcn.180026180
test rbx, rbx
je 0x180027df5
mov r12, qword [rbx + 0x50]
movsxd r8, dword [rdi + 0x44]
mov rdx, r14
mov rcx, r12
call fcn.180232390
mov r11, qword [rdi + 0x110]
test r11, r11
je 0x180027dd8
mov edx, dword [rdi + 0x44]
mov rcx, rbx
call r11
cmp ebp, 1
jne 0x180027df5
mov rax, qword [r12 + 0x18]
mov qword [rdi + 0x130], rax
mov rax, qword [r12 + 0x20]
mov qword [rdi + 0x138], rax
test esi, esi
jne 0x18002835e
add r13d, 1
cmp r13d, r15d
jl 0x180027ca0
mov rcx, qword [rdi + 0xf8]
mov r15, qword [rsp + 0x28]
mov eax, dword [rdi + 0xf0]
cmp rcx, r15
mov qword [rdi + 0xd8], rcx
mov dword [rdi + 0x38], eax
jge 0x1800280a9
mov r14d, dword [rsp + 0x28]
nop
nop
nop
mov rbx, qword [rdi + 0xd8]
mov rbp, qword [rdi + 0x90]
mov r13, qword [rdi + 0x128]
lea rdx, [rsp + 0x20]
mov r9, rbx
mov rcx, rbp
mov r8d, 4
call fcn.1800201f0
test eax, eax
mov esi, eax
jne 0x180028094
lea rcx, [rsp + 0x20]
call fcn.180006f50
mov r8d, dword [rdi + 0x44]
lea r9, [rbx + 4]
mov rdx, r13
mov rcx, rbp
mov r12d, eax
call fcn.1800201f0
test eax, eax
mov esi, eax
jne 0x180028094
movsxd r8, dword [rdi + 0x44]
lea eax, [r8 + 4]
movsxd rcx, eax
add qword [rdi + 0xd8], rcx
test r12d, r12d
je 0x180027ed2
mov eax, 0x40000000
cdq
idiv r8d
add eax, 1
cmp r12d, eax
je 0x180027ed2
cmp r12d, dword [rdi + 0x28]
jbe 0x180027edc
jmp 0x18002809c
mov esi, 0x65
jmp 0x18002835e
lea r9, [r8 + rbx + 4]
lea rdx, [rsp + 0x24]
mov rcx, rbp
mov r8d, 4
call fcn.1800201f0
test eax, eax
mov esi, eax
jne 0x180027f07
lea rcx, [rsp + 0x24]
call fcn.180006f50
mov r14d, eax
test esi, esi
jne 0x180028094
movsxd rbp, dword [rdi + 0x44]
add qword [rdi + 0xd8], 4
mov r11d, dword [rdi + 0x38]
lea eax, [rbp - 0xc8]
xor r9d, r9d
xor r10d, r10d
movsxd r8, eax
movabs rax, 0xa3d70a3d70a3d70b
lea rcx, [r8 + 0xc7]
imul rcx
add rdx, rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 2
jl 0x180027f85
nop
nop
movzx eax, byte [r13 + r8]
sub r8, 0x190
add r9d, eax
movzx eax, byte [r13 + r8 + 0xc8]
add r10d, eax
cmp r8, 0xc8
jg 0x180027f60
test r8, r8
jle 0x180027f92
movzx eax, byte [r8 + r13]
add r11d, eax
lea eax, [r11 + r9]
add eax, r10d
cmp eax, r14d
jne 0x180027ed2
mov rbx, qword [rdi + 0x120]
test rbx, rbx
je 0x180027fd2
mov ecx, dword [rdi + 0x118]
add ecx, 0xffffffff
and rcx, r12
mov rbx, qword [rbx + rcx*8]
test rbx, rbx
je 0x180027fd2
cmp dword [rbx + 8], r12d
je 0x180027fd2
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x180027fc3
cmp byte [rdi + 0x12], 4
jb 0x18002804b
test rbx, rbx
je 0x180027fe3
cmp byte [rbx + 0x3a], 0
jne 0x18002804b
mov rcx, qword [rdi + 0x88]
cmp qword [rcx], 0
je 0x18002804b
lea r9d, [r12 - 1]
mov r8d, ebp
mov rdx, r13
imul r9, rbp
call fcn.180020200
test rbx, rbx
mov esi, eax
je 0x180028094
cmp byte [rbx + 0x39], 0
je 0x18002804b
mov rcx, qword [rbx + 0x40]
mov byte [rbx + 0x39], 0
test rcx, rcx
je 0x18002802a
mov rax, qword [rbx + 0x48]
mov qword [rcx + 0x48], rax
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x18002803d
mov rax, qword [rbx + 0x40]
mov qword [rcx + 0x40], rax
jmp 0x18002804b
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x40]
mov qword [rcx + 0xd0], rax
test rbx, rbx
je 0x180028094
mov rbp, qword [rbx + 0x50]
movsxd r8, dword [rdi + 0x44]
mov rdx, r13
mov rcx, rbp
call fcn.180232390
mov r11, qword [rdi + 0x110]
test r11, r11
je 0x180028078
mov edx, dword [rdi + 0x44]
mov rcx, rbx
call r11
cmp r12d, 1
jne 0x180028094
mov rax, qword [rbp + 0x18]
mov qword [rdi + 0x130], rax
mov rax, qword [rbp + 0x20]
mov qword [rdi + 0x138], rax
test esi, esi
jne 0x18002835e
cmp qword [rdi + 0xd8], r15
jl 0x180027e40
mov rbp, qword [rsp + 0x38]
cmp qword [rdi + 0xd8], rbp
jge 0x18002834c
mov r15d, dword [rsp + 0x28]
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x20]
mov rdx, rbp
mov rcx, rdi
call fcn.180026580
test eax, eax
mov esi, eax
jne 0x18002835e
mov eax, dword [rsp + 0x20]
test eax, eax
jne 0x180028103
mov eax, dword [rdi + 0x44]
add eax, 8
movsxd rcx, eax
mov rax, rbp
sub rax, qword [rdi + 0xd8]
cqo
idiv rcx
mov dword [rsp + 0x20], eax
lea r14d, [rax - 1]
test r14d, r14d
js 0x18002833f
mov rbx, qword [rdi + 0xd8]
cmp rbx, rbp
jge 0x18002833f
mov r12, qword [rdi + 0x90]
mov r13, qword [rdi + 0x128]
lea rdx, [rsp + 0x24]
mov rcx, r12
mov r9, rbx
mov r8d, 4
call fcn.1800201f0
test eax, eax
mov esi, eax
jne 0x18002832c
lea rcx, [rsp + 0x24]
call fcn.180006f50
mov r8d, dword [rdi + 0x44]
lea r9, [rbx + 4]
mov rdx, r13
mov rcx, r12
mov ebp, eax
call fcn.1800201f0
test eax, eax
mov esi, eax
jne 0x18002832c
movsxd r8, dword [rdi + 0x44]
lea eax, [r8 + 4]
movsxd rcx, eax
add qword [rdi + 0xd8], rcx
test ebp, ebp
je 0x180027ed2
mov eax, 0x40000000
cdq
idiv r8d
add eax, 1
cmp ebp, eax
je 0x180027ed2
cmp ebp, dword [rdi + 0x28]
ja 0x180028330
lea r9, [r8 + rbx + 4]
lea rdx, [rsp + 0x28]
mov rcx, r12
mov r8d, 4
call fcn.1800201f0
test eax, eax
mov esi, eax
jne 0x1800281d9
lea rcx, [rsp + 0x28]
call fcn.180006f50
mov r15d, eax
test esi, esi
jne 0x18002832c
movsxd r12, dword [rdi + 0x44]
add qword [rdi + 0xd8], 4
mov r11d, dword [rdi + 0x38]
lea eax, [r12 - 0xc8]
xor r9d, r9d
xor r10d, r10d
movsxd r8, eax
movabs rax, 0xa3d70a3d70a3d70b
lea rcx, [r8 + 0xc7]
imul rcx
add rdx, rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 2
jl 0x180028255
nop
movzx eax, byte [r13 + r8]
sub r8, 0x190
add r9d, eax
movzx eax, byte [r13 + r8 + 0xc8]
add r10d, eax
cmp r8, 0xc8
jg 0x180028230
test r8, r8
jle 0x180028263
movzx eax, byte [r13 + r8]
add r11d, eax
lea eax, [r10 + r9]
add eax, r11d
cmp eax, r15d
jne 0x180027ed2
mov rbx, qword [rdi + 0x120]
test rbx, rbx
je 0x1800282a2
mov ecx, dword [rdi + 0x118]
add ecx, 0xffffffff
and rcx, rbp
mov rbx, qword [rbx + rcx*8]
test rbx, rbx
je 0x1800282a2
cmp dword [rbx + 8], ebp
je 0x1800282a2
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x180028294
cmp byte [rdi + 0x12], 4
jb 0x1800282e2
test rbx, rbx
je 0x1800282b3
cmp byte [rbx + 0x3a], 0
jne 0x1800282e2
mov rcx, qword [rdi + 0x88]
cmp qword [rcx], 0
je 0x1800282e2
lea r9d, [rbp - 1]
mov r8d, r12d
mov rdx, r13
imul r9, r12
call fcn.180020200
test rbx, rbx
mov esi, eax
je 0x18002832c
mov rcx, rbx
call fcn.180026180
test rbx, rbx
je 0x18002832c
mov r12, qword [rbx + 0x50]
movsxd r8, dword [rdi + 0x44]
mov rdx, r13
mov rcx, r12
call fcn.180232390
mov r11, qword [rdi + 0x110]
test r11, r11
je 0x18002830f
mov edx, dword [rdi + 0x44]
mov rcx, rbx
call r11
cmp ebp, 1
jne 0x18002832c
mov rax, qword [r12 + 0x18]
mov qword [rdi + 0x130], rax
mov rax, qword [r12 + 0x20]
mov qword [rdi + 0x138], rax
test esi, esi
jne 0x18002835e
sub r14d, 1
mov rbp, qword [rsp + 0x38]
jns 0x180028110
cmp qword [rdi + 0xd8], rbp
jl 0x1800280c0
test esi, esi
mov qword [rdi + 0xd8], rbp
jne 0x18002835e
mov qword [rdi + 0xd8], rbp
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov eax, esi
mov rsi, qword [rsp + 0x80]
add rsp, 0x68
ret