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

Disassembly:
push rbx
sub rsp, 0x20
cmp byte [rdx], 0x31
mov rbx, rcx
jne 0x18007857a
test rcx, rcx
jne 0x180078390
lea eax, [rcx - 2]
add rsp, 0x20
pop rbx
ret
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x30], rsi
xor esi, esi
mov qword [rsp + 0x38], rdi
mov qword [rcx + 0x20], rsi
test rax, rax
jne 0x1800783bc
lea rax, [0x18007e3c0]
mov qword [rcx + 0x40], rsi
mov qword [rcx + 0x30], rax
mov ecx, esi
jmp 0x1800783c0
mov rcx, qword [rcx + 0x40]
cmp qword [rbx + 0x38], rsi
jne 0x1800783d1
lea rdx, [0x18007e3d0]
mov qword [rbx + 0x38], rdx
mov edx, 1
mov r8d, 0x1720
call rax
mov rdi, rax
test rax, rax
je 0x180078565
mov qword [rbx + 0x28], rax
mov edx, 0x8000
mov qword [rax], rbx
mov r8d, 2
mov dword [rax + 8], 0x2a
mov dword [rax + 0x2c], 2
mov qword [rax + 0x30], rsi
mov dword [rax + 0x48], 0xf
mov dword [rax + 0x44], 0x8000
mov dword [rax + 0x4c], 0x7fff
mov dword [rax + 0x78], 0xb
mov dword [rax + 0x74], 0x800
mov dword [rax + 0x7c], 0x7ff
mov dword [rax + 0x80], 4
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov edx, dword [rdi + 0x44]
mov r8d, 2
mov qword [rdi + 0x50], rax
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov edx, dword [rdi + 0x74]
mov r8d, 2
mov qword [rdi + 0x60], rax
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov dword [rdi + 0x1718], esi
mov edx, 0x400
mov qword [rdi + 0x68], rax
mov r8d, 4
mov dword [rdi + 0x16f0], 0x400
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov rdx, rax
mov qword [rdi + 0x10], rax
mov eax, dword [rdi + 0x16f0]
lea ecx, [rax*4]
mov dword [rdi + 0x18], ecx
cmp qword [rdi + 0x50], rsi
je 0x180078509
cmp qword [rdi + 0x60], rsi
je 0x180078509
cmp qword [rdi + 0x68], rsi
je 0x180078509
test rdx, rdx
je 0x180078509
mov ecx, eax
mov qword [rdi + 0xac], 6
shr rax, 1
mov byte [rdi + 0x3c], 8
lea rax, [rdx + rax*2]
mov qword [rdi + 0x16f8], rax
lea rax, [rdx + rcx*2]
add rcx, rax
mov qword [rdi + 0x16e8], rcx
mov rcx, rbx
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
jmp 0x180078590
mov rax, qword [str.insufficient_memory]
mov dword [rdi + 8], 0x29a
mov qword [rbx + 0x20], rax
cmp qword [rbx + 0x30], rsi
je 0x180078565
cmp qword [rbx + 0x38], rsi
je 0x180078565
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x180078565
cmp qword [rax], rbx
jne 0x180078565
mov ecx, dword [rax + 8]
lea eax, [rcx - 0x2a]
cmp eax, 0x3d
ja 0x180078550
movabs rdx, 0x2002000088008001
bt rdx, rax
jb 0x18007855d
cmp ecx, 0x71
je 0x18007855d
cmp ecx, 0x29a
jne 0x180078565
mov rcx, rbx
call fcn.180079290
mov rsi, qword [rsp + 0x30]
mov eax, 0xfffffffc
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret
mov eax, 0xfffffffa
add rsp, 0x20
pop rbx
ret
push rbx
sub rsp, 0x20
mov rbx, rcx
test rcx, rcx
je 0x180078766
cmp qword [rcx + 0x30], 0
je 0x180078766
cmp qword [rcx + 0x38], 0
je 0x180078766
mov rcx, qword [rcx + 0x28]
test rcx, rcx
je 0x180078766
cmp qword [rcx], rbx
jne 0x180078766
mov edx, dword [rcx + 8]
lea eax, [rdx - 0x2a]
cmp eax, 0x3d
ja 0x1800785e9
movabs r8, 0x2002000088008001
bt r8, rax
jb 0x1800785fa
cmp edx, 0x71
je 0x1800785fa
cmp edx, 0x29a
jne 0x180078766
mov dword [rbx + 0x48], 2
mov qword [rsp + 0x30], rdi
xor edi, edi
mov dword [rbx + 0x1c], edi
mov dword [rbx + 0xc], edi
mov qword [rbx + 0x20], rdi
mov rax, qword [rcx + 0x10]
mov edx, dword [rcx + 0x2c]
mov qword [rcx + 0x20], rax
mov dword [rcx + 0x28], edi
test edx, edx
jns 0x180078629
neg edx
mov dword [rcx + 0x2c], edx
cmp edx, 2
jne 0x180078633
lea eax, [rdx + 0x37]
jmp 0x180078644
test edx, edx
mov eax, 0x71
mov r8d, 0x2a
cmovne eax, r8d
mov dword [rcx + 8], eax
cmp edx, 2
mov eax, edi
setne al
mov dword [rbx + 0x4c], eax
lea rax, [rcx + 0xbc]
mov qword [rcx + 0xb40], rax
lea rax, [0x1800d04e8]
mov qword [rcx + 0xb50], rax
lea rax, [rcx + 0x9b0]
mov qword [rcx + 0xb58], rax
lea rax, [0x1800cf0e8]
mov qword [rcx + 0xb68], rax
lea rax, [rcx + 0xaa4]
mov qword [rcx + 0xb70], rax
lea rax, [0x1800cfa58]
mov qword [rcx + 0xb80], rax
mov dword [rcx + 0x40], edi
mov word [rcx + 0x1710], di
mov dword [rcx + 0x1714], edi
call fcn.18007c880
mov rbx, qword [rbx + 0x28]
xor edx, edx
mov eax, dword [rbx + 0x44]
mov ecx, dword [rbx + 0x74]
add eax, eax
mov dword [rbx + 0x58], eax
dec ecx
mov rax, qword [rbx + 0x68]
mov word [rax + rcx*2], di
mov r8d, dword [rbx + 0x74]
mov rcx, qword [rbx + 0x68]
dec r8d
add r8, r8
call fcn.18008a090
movsxd rdx, dword [rbx + 0xac]
lea r8, [0x1800cf110]
add rdx, rdx
movzx eax, word [r8 + rdx*8 + 2]
mov dword [rbx + 0xa8], eax
movzx eax, word [r8 + rdx*8]
mov dword [rbx + 0xb4], eax
mov eax, edi
movzx ecx, word [r8 + rdx*8 + 4]
mov dword [rbx + 0xb8], ecx
movzx ecx, word [r8 + rdx*8 + 6]
mov qword [rbx + 0x90], rdi
mov dword [rbx + 0x84], edi
mov dword [rbx + 0x9c], edi
mov dword [rbx + 0x170c], edi
mov dword [rbx + 0x70], edi
mov rdi, qword [rsp + 0x30]
mov dword [rbx + 0xa4], ecx
mov dword [rbx + 0xa0], 2
mov dword [rbx + 0x88], 2
add rsp, 0x20
pop rbx
ret
mov eax, 0xfffffffe
add rsp, 0x20
pop rbx
ret