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

Disassembly:
mov r11, rsp
push r13
sub rsp, 0x40
mov rax, qword [0x1800f2780]
xor rax, rsp
mov qword [rsp + 0x10], rax
mov rax, qword [rcx + 0x88]
mov r13, rdx
cmp qword [rax + 8], 0
jne 0x180090dee
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rbp
mov ebp, dword [rcx + 0x34]
mov qword [r11 + 0x20], rsi
mov esi, 2
mov qword [r11 - 0x10], rdi
mov rdi, qword [rcx + 0x40]
mov qword [r11 - 0x18], r12
lea r12, [0x180000000]
mov qword [r11 - 0x20], r14
mov r14d, dword [rcx + 0x3c]
mov qword [r11 - 0x28], r15
xor r15d, r15d
mov ebx, r15d
dec r14d
mov r11d, r15d
nop dword [rax]
mov r10d, dword [r11 + r12 + 0xca1b0]
mov r8d, r15d
mov edx, r14d
test r14d, r14d
js 0x180090be6
nop dword [rax]
nop word [rax + rax]
lea eax, [rdx + r8]
shr eax, 1
mov ecx, eax
lea rax, [rax + rax*8]
cmp r10d, dword [rdi + rax*4]
lea r9, [rdi + rax*4]
jae 0x180090bdb
lea edx, [rcx - 1]
jmp 0x180090be1
jbe 0x180090c2c
lea r8d, [rcx + 1]
cmp r8d, edx
jle 0x180090bc0
mov ecx, r15d
mov r10d, dword [r11 + r12 + 0xca1b4]
cmp ecx, ebp
mov eax, r15d
mov edx, r15d
cmovne eax, ecx
mov r8d, r14d
or ebx, eax
mov dword [rsp + r11], eax
test r14d, r14d
js 0x180090c45
nop word [rax + rax]
lea eax, [r8 + rdx]
shr eax, 1
mov ecx, eax
lea rax, [rax + rax*8]
cmp r10d, dword [rdi + rax*4]
lea r9, [rdi + rax*4]
jae 0x180090c37
lea r8d, [rcx - 1]
jmp 0x180090c40
test r9, r9
je 0x180090be6
mov ecx, dword [r9 + 0x1c]
jmp 0x180090be9
jbe 0x180090ce0
lea edx, [rcx + 1]
cmp edx, r8d
jle 0x180090c10
mov ecx, r15d
cmp ecx, ebp
mov eax, r15d
cmovne eax, ecx
mov dword [rsp + r11 + 4], eax
or ebx, eax
add r11, 8
sub rsi, 1
jne 0x180090ba0
test ebx, ebx
je 0x180090dcb
mov esi, dword [r13 + 0x58]
not ebx
mov r14, qword [r13 + 0x68]
mov ebp, 4
mov r11d, r15d
test esi, esi
je 0x180090dcb
movzx r8d, byte [r14 + 0xf]
mov eax, r15d
nop
inc eax
cmp eax, esi
jae 0x180090ca1
lea rdx, [rax + rax*4]
cmp r8b, byte [r14 + rdx*4 + 0xf]
je 0x180090c90
test esi, esi
je 0x180090dcb
mov r12d, 8
nop
mov r10d, r11d
lea rcx, [r10 + r10*4]
movzx edx, byte [r14 + rcx*4 + 0xf]
and edx, 0xf
cmp edx, r12d
ja case.default.0x180090cde
movsxd rcx, edx
lea r8, [0x180000000]
mov edx, dword [r8 + rcx*4 + 0x90e04]
add rdx, r8
jmp rdx
test r9, r9
je 0x180090c45
mov ecx, dword [r9 + 0x1c]
jmp 0x180090c48
mov ebp, 4
jmp case.default.0x180090cde
cmp ebp, 3
je 0x180090d0a
test ebp, ebp
je 0x180090d0a
xor dil, dil
jmp 0x180090d56
mov dil, 1
cmp r15d, r11d
jae 0x180090d56
cmp ebp, 3
mov ecx, 4
mov edx, r11d
cmove rcx, r12
mov r9d, dword [rsp + rcx]
mov ecx, r15d
lea r8, [rcx*4 + 1]
add r8, rcx
sub edx, r15d
lea r8, [r14 + r8*4]
nop word [rax + rax]
mov ecx, dword [r8]
lea r8, [r8 + 0x14]
and ecx, ebx
or ecx, r9d
mov dword [r8 - 0x14], ecx
sub rdx, 1
jne 0x180090d40
neg dil
sbb ebp, ebp
and ebp, 3
cmp r11d, eax
jae case.default.0x180090cde
mov r9d, dword [rsp + rbp*4]
lea rdx, [r10*4 + 1]
add rdx, r10
mov r8d, eax
sub r8d, r11d
lea rdx, [r14 + rdx*4]
nop dword [rax]
mov ecx, ebx
and ecx, dword [rdx]
lea rdx, [rdx + 0x14]
or ecx, r9d
mov dword [rdx - 0x14], ecx
sub r8, 1
jne 0x180090d80
mov r8, qword [r13 + 0x68]
lea rdx, [rax + rax*4]
mov r9d, dword [r13 + 0x58]
mov r15d, r11d
mov r11d, eax
movzx r10d, byte [r8 + rdx*4 + 0xf]
nop dword [rax]
inc eax
cmp eax, r9d
jae 0x180090dc2
lea rdx, [rax + rax*4]
cmp r10b, byte [r8 + rdx*4 + 0xf]
je 0x180090db0
cmp r11d, esi
jb 0x180090cb0
mov r14, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x10]
xor rcx, rsp
call fcn.1800986c0
add rsp, 0x40
pop r13
ret