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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rbx, qword [rcx + 0x10]
mov eax, dword [r8 + 0x1c]
mov rdi, rcx
mov rcx, rbx
mov r14d, r9d
mov r12, r8
mov r13, rdx
mov dword [rsp + 0x38], eax
call fcn.180074380
mov rcx, qword [rsp + 0xc0]
mov edx, dword [r12 + 0x14]
mov r15, qword [r12]
movzx ebp, byte [rcx]
xor r9d, r9d
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 4]
mov esi, r9d
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x34], eax
test edx, edx
je 0x180027de9
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r8d, dword [r12 + 0x10]
cmp dword [rax + 0x64], ecx
jg 0x180027d79
mov dword [rsp + 0x20], r9d
mov r9d, edx
mov rcx, rbx
mov edx, 0xe
call fcn.1800296a0
jmp 0x180027da5
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0xe
mov byte [rax + rcx*8 + 3], sil
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov edx, dword [rsp + 0x38]
mov rcx, rbx
call fcn.180073560
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rdx + 0x88]
test rcx, rcx
je 0x180027dd6
movsxd rax, dword [r12 + 0x14]
lea rax, [rax*4 + 4]
sub rcx, rax
mov eax, dword [rbx + 0x3c]
mov dword [rcx], eax
mov eax, dword [rbx + 0x3c]
mov rcx, qword [rsp + 0xc0]
dec eax
xor r9d, r9d
mov dword [rdx + 0x6c], eax
mov r8d, dword [r12 + 0xc]
lea eax, [rbp - 9]
mov dword [rsp + 0x30], r8d
test eax, 0xfffffffb
je 0x180027e4a
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x180027e0d
inc dword [rdi + 0x58]
mov eax, dword [rdi + 0x58]
jmp 0x180027e19
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov eax, dword [rdi + rax*4 + 0x28]
mov dword [rsp + 0xa0], eax
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x180027e36
inc dword [rdi + 0x58]
mov ebp, dword [rdi + 0x58]
mov r14d, 1
jmp 0x180027e55
dec al
mov r14d, 1
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebp, dword [rdi + rax*4 + 0x28]
jmp 0x180027e55
mov ebp, dword [rcx + 8]
mov dword [rsp + 0xa0], r9d
mov rcx, qword [rsp + 0xb0]
mov r12d, dword [r15]
sub r12d, dword [rcx + 8]
test byte [rcx + 0x20], 1
je 0x180027f97
mov r13d, dword [rdi + 0x54]
inc dword [rdi + 0x58]
mov r15d, dword [rdi + 0x58]
lea eax, [r13 + 1]
mov dword [rdi + 0x54], eax
cmp dword [rcx + 0x14], esi
je 0x180027e8f
mov rcx, rdi
call fcn.180042ca0
mov esi, eax
lea ecx, [r12 + 1]
mov r9d, r15d
mov r8d, r13d
add ecx, r14d
mov edx, 0x6d
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.18006b510
test esi, esi
je 0x180027eec
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
dec ecx
mov dword [rax + 0x6c], ecx
mov edx, dword [rbx + 0x3c]
test esi, esi
jns 0x180027ec8
lea esi, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
je 0x180027eda
lea rax, [0x1800bf8b8]
jmp 0x180027ee9
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rax, qword [rbx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edx
jg 0x180027f1c
mov r9d, dword [rsp + 0x38]
xor r8d, r8d
mov edx, 0x35
mov dword [rsp + 0x20], r8d
mov r8d, dword [rsp + 0x30]
mov rcx, rbx
call fcn.1800296a0
mov edx, eax
jmp 0x180027f56
mov r8d, dword [rsp + 0x30]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0x38]
mov word [rax + rcx*8], 0x35
mov dword [rax + rcx*8 + 8], r8d
xor r8d, r8d
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsp + 0xa8]
mov r8d, dword [rsp + 0x40]
lea esi, [rdx + 1]
mov edx, dword [rax + 0x14]
mov rcx, rbx
mov dword [rsp + 0x3c], esi
call fcn.18001ab60
mov r8d, dword [rsp + 0x30]
mov r9d, r15d
mov edx, 0x77
mov rcx, rbx
mov dword [rsp + 0x20], r13d
call fcn.18006b510
xor r8d, r8d
mov eax, r8d
jmp 0x180028016
mov rax, qword [rbx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edx
jg 0x180027fbf
mov dword [rsp + 0x20], r9d
mov r9d, dword [rsp + 0x38]
mov edx, 0x37
mov rcx, rbx
call fcn.1800296a0
mov edx, eax
jmp 0x180027ff1
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0x38]
mov word [rax + rcx*8], 0x37
mov byte [rax + rcx*8 + 3], sil
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov dword [rax + rcx*8 + 8], r8d
mov r8d, dword [rsp + 0x40]
lea eax, [rdx + 1]
mov edx, dword [r13 + 0x14]
mov rcx, rbx
mov dword [rsp + 0x3c], eax
call fcn.18001ab60
mov r13d, dword [rsp + 0x30]
mov eax, 1
xor r8d, r8d
test r14d, r14d
jle 0x180028092
mov r15d, ebp
lea esi, [rax + r12]
sub r15d, eax
sub r15d, r12d
nop dword [rax + rax]
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18002805d
lea eax, [r15 + rsi]
mov r9d, esi
mov r8d, r13d
mov edx, 0x5f
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1800296a0
xor r8d, r8d
jmp 0x18002808b
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x5f
lea rdx, [rax + rcx*8]
lea eax, [r15 + rsi]
mov byte [rdx + 3], 0
mov dword [rdx + 4], r13d
mov dword [rdx + 8], esi
mov dword [rdx + 0xc], eax
mov qword [rdx + 0x10], r8
inc esi
dec r14
jne 0x180028030
mov edx, dword [rsp + 0x44]
mov ecx, edx
sub ecx, 0xa
je 0x1800283c4
mov rax, qword [rbx + 0x30]
dec ecx
je 0x180028267
dec ecx
movsxd rcx, dword [rbx + 0x3c]
je 0x180028193
mov rsi, qword [rsp + 0xc0]
cmp edx, 9
jne 0x180028140
mov edx, dword [rsi + 8]
mov r14d, dword [rsp + 0xb8]
cmp dword [rax + 0x64], ecx
jg 0x180028101
mov dword [rsp + 0x20], r8d
mov r8d, edx
mov r9d, r14d
mov edx, 0x56
mov rcx, rbx
call fcn.1800296a0
mov edx, dword [rsi + 8]
mov r8d, r14d
mov rcx, rdi
call fcn.1800495f0
jmp 0x1800283d9
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov word [rax + rcx*8], 0x56
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov edx, dword [rsi + 8]
mov r8d, r14d
mov rcx, rdi
call fcn.1800495f0
jmp 0x1800283d9
mov edx, dword [rsi + 4]
xor r15d, r15d
cmp dword [rax + 0x64], ecx
jg 0x180028167
mov r8d, edx
lea edx, [r15 + 0x10]
xor r9d, r9d
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.1800296a0
jmp 0x1800283dc
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x10
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], r15
mov qword [rax + rcx*8 + 0x10], r15
jmp 0x1800283dc
mov r14d, dword [rsp + 0xa0]
xor r15d, r15d
cmp dword [rax + 0x64], ecx
jg 0x1800281c2
mov r8d, dword [rsp + 0x34]
lea edx, [r15 + 0x71]
mov r9d, r14d
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.1800296a0
mov edx, dword [rsp + 0x34]
jmp 0x1800281f2
mov edx, dword [rsp + 0x34]
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x71
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180028219
mov r8d, edx
mov r9d, ebp
mov rcx, rbx
mov edx, 0x72
mov dword [rsp + 0x20], r14d
call fcn.1800296a0
jmp 0x180028244
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x72
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r15
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
jne 0x1800283e4
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov byte [rax + rcx*8 - 0x15], 8
jmp 0x1800283e4
movsxd rdx, dword [rbx + 0x3c]
mov rsi, qword [rsp + 0xc0]
mov r14d, dword [rsp + 0xa0]
cmp dword [rax + 0x64], edx
jg 0x1800282a1
mov r9d, 1
mov r8d, ebp
mov rcx, rbx
lea edx, [r9 + 0x61]
mov dword [rsp + 0x20], r14d
call fcn.1800296a0
xor r15d, r15d
mov edx, eax
jmp 0x1800282d3
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor r15d, r15d
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x62
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], 1
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], 0
je 0x1800282ec
lea r8, [rsi + 1]
mov edx, 1
call fcn.1800264a0
jmp 0x180028316
test edx, edx
jns 0x1800282f5
mov edx, dword [rbx + 0x3c]
dec edx
movsxd rax, edx
lea r8, [rsi + 1]
mov r9d, 1
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rdx, [rax + rcx*8]
mov rcx, rbx
call fcn.1800816e0
test ebp, ebp
jle 0x18002836c
cmp byte [rdi + 0x25], 0
je 0x18002836c
lea rcx, [rdi + 0x144]
lea r8, [rdi + 0x90]
nop
mov edx, dword [rcx + 0xc]
cmp edx, ebp
jl 0x180028361
lea eax, [rbp + 1]
cmp edx, eax
jge 0x180028361
cmp byte [rcx + 6], 0
je 0x18002835a
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x180028356
movzx eax, al
mov dword [rdi + rax*4 + 0x28], edx
inc byte [rdi + 0x1f]
mov byte [rcx + 6], 0
mov dword [rcx + 0xc], r15d
dec byte [rdi + 0x25]
cmp rcx, r8
je 0x18002836c
sub rcx, 0x14
jmp 0x180028330
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r8d, dword [rsp + 0x34]
cmp dword [rax + 0x64], ecx
jg 0x180028395
mov r9d, r14d
mov edx, 0x7d
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.1800296a0
jmp 0x1800283e4
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x7d
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
jmp 0x1800283e4
mov r8d, dword [rsp + 0x34]
mov r9d, 1
mov edx, ebp
mov rcx, rdi
call fcn.18004a840
xor r15d, r15d
mov r14d, dword [rsp + 0xa0]
test r14d, r14d
je 0x180028455
test ebp, ebp
je 0x180028420
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x180028420
mov ecx, r15d
lea rax, [rdi + 0x90]
cmp dword [rax + 0xc], ebp
je 0x18002841c
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x180028400
movzx eax, dl
mov dword [rdi + rax*4 + 0x28], ebp
inc byte [rdi + 0x1f]
jmp 0x180028420
mov byte [rax + 6], 1
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x180028455
mov ecx, r15d
lea rax, [rdi + 0x90]
cmp dword [rax + 0xc], r14d
je 0x180028451
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x180028433
movzx eax, dl
mov dword [rdi + rax*4 + 0x28], r14d
inc byte [rdi + 0x1f]
jmp 0x180028455
mov byte [rax + 6], 1
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rdx + 0x88]
test rcx, rcx
je 0x18002847a
movsxd rax, dword [rsp + 0x40]
lea rax, [rax*4 + 4]
sub rcx, rax
mov eax, dword [rbx + 0x3c]
mov dword [rcx], eax
mov eax, dword [rbx + 0x3c]
mov rdi, qword [rsp + 0xb0]
mov r8d, dword [rsp + 0x30]
dec eax
mov dword [rdx + 0x6c], eax
test byte [rdi + 0x20], 1
movsxd rcx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
je 0x1800284d1
cmp dword [rax + 0x64], ecx
jg 0x1800284bb
mov r9d, dword [rsp + 0x3c]
mov edx, 3
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.1800296a0
jmp 0x18002851f
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 3
jmp 0x180028503
cmp dword [rax + 0x64], ecx
jg 0x1800284ef
mov r9d, dword [rsp + 0x3c]
mov edx, 7
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.1800296a0
jmp 0x18002851f
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 7
mov edx, dword [rsp + 0x3c]
mov qword [rax + rcx*8 + 0x10], r15
mov dword [rax + rcx*8 + 0xc], r15d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 4], r8d
mov byte [rax + rcx*8 + 3], 0
mov edx, dword [rdi + 0x10]
test edx, edx
je 0x180028577
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18002854c
xor r9d, r9d
mov r8d, edx
mov rcx, rbx
lea edx, [r9 + 0x47]
mov dword [rsp + 0x20], r15d
call fcn.1800296a0
jmp 0x180028577
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x47
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rdx + 0x88]
test rcx, rcx
je 0x18002859c
movsxd rax, dword [rsp + 0x38]
lea rax, [rax*4 + 4]
sub rcx, rax
mov eax, dword [rbx + 0x3c]
mov dword [rcx], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [rdx + 0x6c], eax
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret