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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
cmp byte [0x1800080d0], 0
mov r14, rdx
mov esi, ecx
jne 0x180003c20
mov ecx, 0x84c05e40
call fcn.180001000
mov qword [0x1800080c8], rax
mov r8, rax
test rax, rax
je 0x180003f4e
movsxd rax, dword [rax + 0x3c]
cmp dword [rax + r8], 0x4550
jne 0x180003f4e
mov ecx, dword [rax + r8 + 0x88]
add rcx, r8
mov edx, dword [rcx + 0x18]
mov dword [0x1800080c0], edx
mov r10d, dword [rcx + 0x20]
add r10, r8
mov qword [0x1800080b0], r10
mov r9d, dword [rcx + 0x1c]
add r9, r8
mov qword [0x1800080a8], r9
mov ecx, dword [rcx + 0x24]
add rcx, r8
mov qword [0x1800080b8], rcx
test edx, edx
je 0x180003f4e
test r10, r10
je 0x180003f4e
test r9, r9
je 0x180003f4e
test rcx, rcx
je 0x180003f4e
mov byte [0x1800080d0], 1
mov dword [r14 + 4], esi
test esi, esi
je 0x180003f4e
xor ebp, ebp
cmp dword [0x1800080c0], ebp
mov edi, ebp
lea r15d, [rbp + 1]
jbe 0x180003e08
mov rax, qword [0x1800080b0]
mov edx, edi
mov ecx, dword [rax + rdx*4]
mov rax, qword [0x1800080b8]
add rcx, qword [0x1800080c8]
movzx edx, word [rax + rdx*2]
mov rax, qword [0x1800080a8]
mov ebx, dword [rax + rdx*4]
add rbx, qword [0x1800080c8]
call fcn.180001540
cmp eax, esi
je 0x180003c87
inc edi
cmp edi, dword [0x1800080c0]
jb 0x180003c40
jmp 0x180003e08
movzx eax, byte [rbx]
mov r9d, 0xff
cmp al, 0x4c
jne 0x180003cd3
cmp byte [rbx + 1], 0x8b
jne 0x180003d68
cmp byte [rbx + 2], 0xd1
jne 0x180003d68
cmp byte [rbx + 3], 0xb8
jne 0x180003d68
cmp byte [rbx + 6], bpl
jne 0x180003d68
cmp byte [rbx + 7], bpl
jne 0x180003d68
movzx ecx, byte [rbx + 5]
movzx eax, byte [rbx + 4]
jmp 0x180003e00
cmp al, 0xe9
jne 0x180003d68
movzx ecx, r15w
nop
movzx r8d, cx
mov edx, r8d
shl edx, 5
add rdx, rbx
cmp byte [rdx], 0x4c
jne 0x180003d10
cmp byte [rdx + 1], 0x8b
jne 0x180003d10
cmp byte [rdx + 2], 0xd1
jne 0x180003d10
cmp byte [rdx + 3], 0xb8
jne 0x180003d10
cmp byte [rdx + 6], bpl
jne 0x180003d10
cmp byte [rdx + 7], bpl
je 0x180003d4c
mov eax, r8d
neg eax
shl eax, 5
movsxd rdx, eax
add rdx, rbx
cmp byte [rdx], 0x4c
jne 0x180003d41
cmp byte [rdx + 1], 0x8b
jne 0x180003d41
cmp byte [rdx + 2], 0xd1
jne 0x180003d41
cmp byte [rdx + 3], 0xb8
jne 0x180003d41
cmp byte [rdx + 6], bpl
jne 0x180003d41
cmp byte [rdx + 7], bpl
je 0x180003d55
inc cx
cmp cx, r9w
jbe 0x180003ce0
jmp 0x180003d68
movzx eax, byte [rdx + 4]
sub eax, r8d
jmp 0x180003d5c
movzx eax, byte [rdx + 4]
add eax, r8d
movzx ecx, byte [rdx + 5]
shl ecx, 8
or ecx, eax
mov dword [r14], ecx
cmp byte [rbx + 3], 0xe9
jne 0x180003e08
movzx ecx, r15w
nop word [rax + rax]
movzx r8d, cx
mov edx, r8d
shl edx, 5
add rdx, rbx
cmp byte [rdx], 0x4c
jne 0x180003db0
cmp byte [rdx + 1], 0x8b
jne 0x180003db0
cmp byte [rdx + 2], 0xd1
jne 0x180003db0
cmp byte [rdx + 3], 0xb8
jne 0x180003db0
cmp byte [rdx + 6], bpl
jne 0x180003db0
cmp byte [rdx + 7], bpl
je 0x180003dec
mov eax, r8d
neg eax
shl eax, 5
movsxd rdx, eax
add rdx, rbx
cmp byte [rdx], 0x4c
jne 0x180003de1
cmp byte [rdx + 1], 0x8b
jne 0x180003de1
cmp byte [rdx + 2], 0xd1
jne 0x180003de1
cmp byte [rdx + 3], 0xb8
jne 0x180003de1
cmp byte [rdx + 6], bpl
jne 0x180003de1
cmp byte [rdx + 7], bpl
je 0x180003df5
inc cx
cmp cx, r9w
jbe 0x180003d80
jmp 0x180003e08
movzx eax, byte [rdx + 4]
sub eax, r8d
jmp 0x180003dfc
movzx eax, byte [rdx + 4]
add eax, r8d
movzx ecx, byte [rdx + 5]
shl ecx, 8
or ecx, eax
mov dword [r14], ecx
cmp dword [r14], ebp
je 0x180003f4e
call fcn.1800015f0
mov edi, eax
mov ebx, ebp
and edi, 0xf
cmp byte [0x180008100], bl
jne 0x180003ec2
mov ecx, 0xa1cab71e
call fcn.180001000
mov qword [0x1800080f8], rax
mov rdx, rax
test rax, rax
je 0x180003f4a
movsxd rax, dword [rax + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x180003f4a
mov ecx, dword [rax + rdx + 0x88]
add rcx, rdx
mov r9d, dword [rcx + 0x18]
mov dword [0x1800080f0], r9d
mov r8d, dword [rcx + 0x20]
add r8, rdx
mov qword [0x1800080e0], r8
mov r10d, dword [rcx + 0x1c]
add r10, rdx
mov qword [0x1800080d8], r10
mov ecx, dword [rcx + 0x24]
add rcx, rdx
mov qword [0x1800080e8], rcx
test r9d, r9d
je 0x180003f4a
test r8, r8
je 0x180003f4a
test r10, r10
je 0x180003f4a
test rcx, rcx
je 0x180003f4a
mov byte [0x180008100], r15b
jmp 0x180003ec9
mov r9d, dword [0x1800080f0]
mov r8d, ebp
test r9d, r9d
je 0x180003f4a
mov rax, qword [0x1800080e8]
mov ecx, r8d
movzx edx, word [rax + rcx*2]
mov rax, qword [0x1800080d8]
mov r9d, dword [rax + rdx*4]
mov edx, ebp
add r9, qword [0x1800080f8]
mov rax, r9
nop word [rax + rax]
movzx ecx, word [0x180008008]
xor cx, 0x25
cmp word [rax], cx
jne 0x180003f1c
cmp byte [rax + 2], 0xc3
jne 0x180003f1c
cmp ebx, edi
je 0x180003f28
inc ebx
inc edx
inc rax
cmp edx, 0x20
jb 0x180003f00
jmp 0x180003f31
mov eax, edx
add rax, r9
mov qword [r14 + 8], rax
cmp qword [r14 + 8], rbp
jne 0x180003f47
inc r8d
cmp r8d, dword [0x1800080f0]
jb 0x180003ed1
mov eax, ebp
jmp 0x180003f50
mov ebp, r15d
mov eax, ebp
jmp 0x180003f50
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret