Function at 0x180004420
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 r13
push r14
push r15
sub rsp, 0x30
mov rbx, qword [rsp + 0xa0]
xor edi, edi
mov ebp, 0x200
movzx eax, word [rbx + 0x46]
movzx r14d, word [rbx + 0x54]
mov r11d, dword [rbx + 0x3c]
lea r10, [rax + rax*4]
lea r15, [r14 + 0x18]
mov r13d, edi
lea rax, [r11 + r10*8]
mov qword [rsp + 0x20], rdi
mov esi, edi
add r15, rax
mov eax, 0x10b
cmp word [rbx + 0x68], ax
jne 0x18000449b
cmp r14d, 0x28
jb 0x18000449b
mov r14d, dword [rbx + 0x88]
mov ebp, dword [rbx + 0x8c]
mov r13d, dword [rbx + 0x7c]
jmp 0x1800044cb
mov eax, 0x20b
cmp word [rbx + 0x148], ax
jne 0x1800044c5
cmp r14d, 0x28
jb 0x1800044c5
mov r14d, dword [rbx + 0x168]
mov ebp, dword [rbx + 0x16c]
mov r13d, dword [rbx + 0x15c]
jmp 0x1800044cb
mov r14d, 0x1000
cmp qword [rbx + 0x260], 0x28
jae 0x1800044f2
mov rdx, rbx
mov rcx, rbp
call fcn.180004910
test al, al
je 0x18000456e
cmp qword [rbx + 0x260], 0x28
jb 0x1800044d5
mov rcx, qword [rbx + 0x258]
mov r8, qword [rbx + 0x260]
lea rdx, [rcx + 0x28]
sub r8, 0x28
call fcn.180006270
add qword [rbx + 0x260], 0xffffffffffffffd8
movzx r10d, word [rbx + 0x46]
mov rax, qword [rbx + 0x260]
test r10w, r10w
je 0x18000457f
mov r9, qword [rbx + 0x248]
test r9, r9
je 0x18000457f
movzx r8d, r10w
lea rax, [r8 + r8*4]
mov r13d, dword [r9 + rax*8 - 0x1c]
mov eax, dword [r9 + rax*8 - 0x20]
mov qword [rsp + 0x20], rax
test r8, r8
je 0x180004583
mov rdx, rdi
mov ecx, dword [rdx + r9 + 0x14]
lea rdx, [rdx + 0x28]
add ecx, dword [rdx + r9 - 0x18]
cmp rsi, rcx
cmovbe rsi, rcx
dec r8
jne 0x180004552
jmp 0x180004583
xor al, al
add rsp, 0x30
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea rsi, [rax + r15]
mov rcx, qword [rbx + 0x248]
inc r10w
movzx eax, r10w
mov word [rbx + 0x46], ax
lea rdx, [rax + rax*4]
shl rdx, 3
call fcn.180006180
test rax, rax
je 0x18000456e
mov qword [rbx + 0x248], rax
cmp byte [rsp + 0x98], dil
jne 0x1800045d9
movzx edx, word [rbx + 0x46]
mov rcx, qword [rbx + 0x250]
shl rdx, 4
call fcn.180006180
test rax, rax
je 0x18000456e
mov qword [rbx + 0x250], rax
mov r15, qword [rsp + 0x90]
mov edx, ebp
mov ecx, r15d
call fcn.1800047e0
mov rcx, qword [rsp + 0x20]
mov edx, r14d
add ecx, r13d
mov ebp, eax
call fcn.1800047e0
mov r13d, eax
cmp byte [rsp + 0x98], dil
jne 0x180004674
mov ecx, ebp
call fcn.1800060c8
mov r14, rax
test rax, rax
je 0x18000456e
mov rax, qword [rsp + 0x88]
mov rcx, r14
test rax, rax
je 0x180004644
mov r8, r15
mov rdx, rax
call fcn.180006270
mov r8d, ebp
lea rcx, [r14 + r15]
sub r8, r15
jmp 0x180004647
mov r8, rbp
xor edx, edx
call fcn.1800067f0
movzx ecx, word [rbx + 0x46]
mov rax, qword [rbx + 0x250]
add rcx, rcx
mov qword [rax + rcx*8 - 0x10], r14
movzx ecx, word [rbx + 0x46]
mov rax, qword [rbx + 0x250]
add rcx, rcx
mov qword [rax + rcx*8 - 8], rbp
movzx eax, word [rbx + 0x46]
mov r9, qword [rsp + 0x70]
xor edx, edx
dec eax
cdqe
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x248]
mov qword [rax + rcx*8], rdx
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov qword [rax + rcx*8 + 0x18], rdx
mov qword [rax + rcx*8 + 0x20], rdx
movzx eax, word [rbx + 0x46]
mov rdx, qword [rsp + 0x80]
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x248]
mov dword [rax + rcx*8 - 0x14], esi
movzx eax, word [rbx + 0x46]
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x248]
mov dword [rax + rcx*8 - 0x18], ebp
movzx eax, word [rbx + 0x46]
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x248]
mov dword [rax + rcx*8 - 0x1c], r13d
movzx eax, word [rbx + 0x46]
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x248]
mov dword [rax + rcx*8 - 0x20], r15d
movzx eax, word [rbx + 0x46]
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x248]
mov dword [rax + rcx*8 - 4], edx
test r9, r9
je 0x180004747
mov rdx, qword [rsp + 0x78]
mov eax, 8
cmp rdx, rax
cmova rdx, rax
movzx eax, word [rbx + 0x46]
dec eax
mov r8, rdx
mov rdx, r9
cdqe
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x248]
lea rcx, [rax + rcx*8]
call fcn.180006270
cmp byte [rsp + 0x98], dil
jne 0x1800047b8
mov rcx, qword [rbx + 0x278]
test rcx, rcx
je 0x1800047b8
mov r8, qword [rbx + 0x270]
test r8, r8
je 0x1800047b8
test rcx, rcx
je 0x1800047b8
movzx r9d, word [rbx + 0x46]
mov r10, qword [rbx + 0x248]
lea rax, [r9 - 1]
lea rax, [rax + rax*4]
mov edx, dword [r10 + rax*8 + 0x14]
lea rax, [r8 + 0x10]
nop dword [rax + rax]
cmp qword [rax], rdx
je 0x1800047a3
inc rdi
add rax, 0x18
cmp rdi, rcx
jb 0x180004790
jmp 0x1800047b8
lea rax, [rdi + rdi*2]
lea rcx, [r9 + r9*4]
lea rdx, [r8 + rax*8]
mov eax, dword [r10 + rcx*8 - 0x18]
add qword [rdx + 0x10], rax
mov rcx, rbx
call fcn.180004800
mov al, 1
add rsp, 0x30
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret