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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2a8
mov ebp, edx
mov r14, r9
add edx, 0x190
mov rdi, rcx
mov dword [rsp + 0x30], edx
cmp ebp, edx
jae case.0x1800365ff.49
mov ebx, dword [rsp + 0x2f8]
mov r15d, dword [rsp + 0x2f8]
mov r12d, dword [rsp + 0x2f8]
mov r13d, dword [rsp + 0x2f8]
mov qword [rsp + 0x78], rbx
lea r9, [0x180000000]
cmp ebp, 0x12a
ja 0x180036980
je 0x18003696d
lea eax, [rbp - 0x29]
cmp eax, 0xec
ja case.0x1800365ff.51
movzx eax, byte [r9 + rax + 0x36c78]
mov ecx, dword [r9 + rax*4 + 0x36c4c]
add rcx, r9
jmp rcx
movsxd rcx, dword [rsp + 0x48]
mov edx, 0x10
call fcn.180080de4
mov r8, qword [rsp + 0x68]
lea rcx, [rsp + 0xa0]
xor r14d, r14d
mov qword [0x1800c8d28], rax
mov edx, 0x200
mov qword [rsp + 0x88], r14
mov dword [rsp + 0x4c], 0
call fcn.180089540
test rax, rax
je 0x18003683f
mov rbx, qword [rsp + 0x90]
mov ebp, dword [rsp + 0x48]
nop word [rax + rax]
movsxd r14, dword [rsp + 0x4c]
xor edi, edi
lea esi, [rdi + 6]
nop word [rax + rax]
cmp edi, 5
ja case.default.0x18003668a
lea rdx, [0x180000000]
mov ecx, dword [rdx + rdi*4 + 0x36d68]
add rcx, rdx
jmp rcx
mov rcx, qword [rsp + 0x58]
mov byte [rcx], 0
inc rcx
movzx eax, byte [rcx]
test al, al
je 0x1800366af
nop
cmp al, 0x20
jg 0x1800366af
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x1800366a0
mov rbx, rcx
inc rcx
mov qword [rsp + 0x58], rcx
cmp byte [rcx], 0x20
jle 0x1800366cd
nop
inc rcx
cmp byte [rcx], 0x20
jg 0x1800366c0
mov qword [rsp + 0x58], rcx
mov byte [rcx], 0
jmp case.default.0x18003668a
mov rax, qword [rsp + 0x60]
mov rcx, rbx
mov rdx, qword [rax + 8]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1800366e1
jmp case.default.0x18003668a
lea eax, [rbp - 1]
cmp r14d, eax
jl 0x18003671c
mov rcx, qword [0x1800c8d28]
add ebp, 0x10
movsxd rdx, ebp
shl rdx, 4
call fcn.180080dfc
mov qword [0x1800c8d28], rax
cmp byte [rsp + 0xa0], 0x20
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x58], rcx
jle case.default.0x18003668a
inc rcx
cmp byte [rcx], 0x20
jg 0x180036737
mov qword [rsp + 0x58], rcx
jmp case.default.0x18003668a
mov rax, r14
shl rax, 4
add rax, qword [0x1800c8d28]
mov qword [rsp + 0x60], rax
jmp case.default.0x18003668a
mov rax, qword [rsp + 0x60]
lea rcx, [rsp + 0xa0]
mov rdx, qword [rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x180036771
jmp case.default.0x18003668a
lea rax, [rsp + 0xa0]
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rax + rdx], 0
jne 0x180036793
add rdx, 2
mov ecx, 1
call fcn.180080de4
mov rcx, qword [rsp + 0x60]
mov rdx, 0xffffffffffffffff
mov qword [rcx], rax
nop dword [rax]
inc rdx
cmp byte [rbx + rdx], 0
jne 0x1800367c0
add rdx, 2
mov ecx, 1
call fcn.180080de4
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 8], rax
inc edi
sub rsi, 1
jne 0x180036670
mov r8, qword [rsp + 0x68]
lea rcx, [rsp + 0xa0]
inc r14d
mov dword [rsp + 0x48], ebp
mov dword [rsp + 0x4c], r14d
mov edx, 0x200
mov r14, qword [rsp + 0x88]
inc r14
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], r14
call fcn.180089540
test rax, rax
jne 0x180036660
mov rbx, qword [rsp + 0x78]
mov ebp, dword [rsp + 0x2f8]
mov rax, qword [0x1800c8d28]
add r14, r14
mov qword [rax + r14*8], 0
mov r14, qword [rsp + 0x308]
jmp 0x180036bb9
xor r9d, r9d
mov qword [rdi], 0
xor edx, edx
mov qword [rsp + 0x20], r14
xor ecx, ecx
mov r8d, 0xf1
call fcn.18001bfa0
mov dword [rsp + 0x70], eax
test eax, eax
js 0x180036c1a
jmp 0x180036bb9
mov eax, dword [r14 + 0x20]
xor r12d, r12d
mov ecx, dword [r14 + 0x24]
xor r15d, r15d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x3c], 1
jmp case.0x1800365ff.51
lea rdx, [0x1800aa52c]
mov rcx, r14
call fcn.180089618
mov qword [rsp + 0x68], rax
cmp rax, 0
je case.0x1800365ff.49
mov dword [rsp + 0x48], 0x10
jmp 0x180036bb9
mov eax, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x68]
mov dword [0x1800c8d30], eax
call fcn.1800893a0
jmp 0x180036bb9
cmp ebx, 4
jle 0x18003693a
mov r9d, 0xef
mov dword [rsp + 0x80], 0x16
xor r8d, r8d
mov qword [rsp + 0x20], 0
mov rdx, r14
lea rcx, [rsp + 0x80]
call fcn.18004e9d0
mov edx, dword [rsp + 0x30]
mov rbx, rax
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x40], ebx
jmp case.0x1800365ff.51
mov r8, r14
lea rdx, [rsp + 0x98]
mov ecx, 0x8a
call fcn.18003aeb0
mov ebx, eax
mov eax, dword [rsp + 0x98]
mov qword [rsp + 0x78], rbx
mov dword [rdi], eax
jmp 0x180036bb9
movss xmm0, dword [rdi]
addss xmm0, dword [r8]
movss dword [r14], xmm0
jmp case.0x1800365ff.51
mov eax, ebp
sub eax, 0x12e
je 0x1800369e7
sub eax, 0x15
je 0x1800369d1
sub eax, 4
je 0x180036c30
sub eax, 0x15
je 0x1800369bb
cmp eax, 0x19
jne case.0x1800365ff.51
movss xmm0, dword [rdi + 0xc]
addss xmm0, dword [r8 + 0xc]
movss dword [r14 + 0xc], xmm0
jmp case.0x1800365ff.51
movss xmm0, dword [rdi + 8]
addss xmm0, dword [r8 + 8]
movss dword [r14 + 8], xmm0
jmp case.0x1800365ff.51
movss xmm0, dword [rdi + 4]
addss xmm0, dword [r8 + 4]
movss dword [r14 + 4], xmm0
jmp case.0x1800365ff.51
mov rdi, qword [rdi]
add rdi, 2
nop
mov ebp, 0xa9
mov eax, ebp
sub eax, 0xa9
je 0x180036a58
sub eax, 0x3f
je 0x180036a45
sub eax, 0x3f
je 0x180036a29
cmp eax, 0x3f
jne 0x180036ba0
cmp dword [rsp + 0x34], 8
jle 0x180036ba0
mov dword [rsp + 0x34], 8
jmp 0x180036ba0
mov ecx, dword [r14 + 0x1c]
mov rax, qword [r14 + 0x10]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x38], eax
lea eax, [rcx + 1]
mov dword [r14 + 0x1c], eax
jmp 0x180036ba0
mov eax, dword [r14 + 0x18]
cmp dword [r14 + 0x1c], eax
je 0x180036c3d
jmp 0x180036ba0
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x180036b91
mov esi, dword [rsp + 0x3c]
nop dword [rax + rax]
dec eax
mov r8d, 0x40
mov dword [rsp + 0x34], eax
nop dword [rax]
cmp r8d, 0x40
je 0x180036b67
cmp r8d, 0xc4
je 0x180036b61
cmp r8d, 0x148
je 0x180036ad1
cmp r8d, 0x1cc
je 0x180036ac3
cmp r8d, 0x250
jne 0x180036b71
inc dword [rsp + 0x3c]
mov esi, dword [rsp + 0x3c]
jmp 0x180036b71
add r12d, r13d
add r12d, r12d
add r15d, r15d
jmp 0x180036b71
movsx r13d, word [rdi]
mov eax, r15d
sub eax, r13d
add rdi, 2
cmp eax, r12d
jge 0x180036b5a
movsxd r10, dword [rsp + 0x50]
mov edx, 0x20
movsxd r9, r15d
movsxd r11, r12d
cmp edx, 0x20
je 0x180036b1a
cmp edx, 0x1600
jne 0x180036b4c
mov rax, qword [rsp + 0x40]
add rsp, 0x2a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, dword [rsp + 0x38]
mov rcx, r10
mov dword [r14 + 0x20], eax
sub rcx, r11
mov eax, dword [r14 + 0x24]
sub eax, esi
and eax, 7
mov dword [r14 + 0x24], eax
add rcx, r9
mov rax, qword [rsp + 0x2f0]
mov rax, qword [rax + 8]
movsx ecx, word [rax + rcx*2]
mov dword [rsp + 0x40], ecx
add edx, 0x15e0
cmp edx, 0x2bc0
jbe 0x180036af4
add dword [rsp + 0x50], r13d
jmp 0x180036b71
sar dword [rsp + 0x38], 1
jmp 0x180036b71
mov eax, dword [rsp + 0x38]
and eax, 1
or r15d, eax
add r8d, 0x84
cmp r8d, 0x2d4
jb 0x180036a80
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x180036a70
mov eax, 0x10
sub eax, dword [rsp + 0x3c]
mov dword [rsp + 0x34], eax
je 0x180036bb4
add ebp, 0x3f
cmp ebp, 0x1a5
jb 0x1800369f5
jmp 0x1800369f0
mov ebp, 0x12e
mov edx, dword [rsp + 0x30]
add ebp, 0x19
mov dword [rsp + 0x2f8], ebp
cmp ebp, edx
jae case.0x1800365ff.49
mov rdi, qword [rsp + 0x2f0]
mov r8, qword [rsp + 0x300]
jmp 0x1800365c4
movsxd rbx, dword [rsp + 0x70]
mov ecx, 1
mov rdx, rbx
call fcn.180080de4
mov r9, rax
mov qword [rdi], rax
mov r8d, 0xa9
mov qword [rsp + 0x80], rbx
mov rdx, r14
lea rcx, [rsp + 0x80]
call fcn.180056db0
mov dword [rsp + 0x40], eax
jmp case.0x1800365ff.49
mov rax, qword [rdi]
movzx eax, word [r14 + rax*2]
jmp 0x180036b06
mov dword [rsp + 0x40], 0xfffffff6
jmp case.0x1800365ff.49
lea rcx, [r14 + 0x30]
mov edx, 1
call fcn.18007d4e4
int3