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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
movaps xmmword [rsp + 0x120], xmm6
mov rdi, rdx
mov rsi, rcx
mov eax, dword [rdx + 0x18]
cmp eax, 6
jne 0x180036c11
mov rax, qword [r8]
mov r14d, dword [rax + 0x12c]
test r14, r14
je 0x180037172
mov r15, r9
add r14, qword [rax + 0x188]
mov word [rsp + 0x3c], 0
mov dword [rsp + 0x38], 0
mov rdx, qword [r9]
mov r8, qword [r9 + 8]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], 6
lea rbx, [rsp + 0x90]
mov rcx, rbx
mov r9, r14
call fcn.180038a10
mov ebp, dword [rsp + 0x90]
test ebp, ebp
je 0x180036c2c
mov edi, dword [rsp + 0x94]
mov r14, qword [rsp + 0x98]
mov ebx, dword [rsp + 0xa0]
jmp 0x180036d32
mov ecx, dword [rdi + 0x24]
mov dword [rsp + 0x98], ecx
mov rcx, qword [rdi + 0x1c]
mov qword [rsp + 0x90], rcx
jmp 0x1800371b3
cmp qword [rsp + 0x98], 6
jne 0x180036d20
movzx eax, byte [rsp + 0x38]
cmp eax, 0x48
je 0x180036e26
cmp eax, 0xe9
jne 0x180037172
mov qword [rsp + 0xd0], r15
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 5
lea r9, [0x180075b18]
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0xd0]
mov r8, r14
call fcn.180062990
mov ebp, dword [rsp + 0xd8]
test ebp, ebp
je 0x180036e8e
mov ebx, dword [rsp + 0xdc]
mov r14, qword [rsp + 0xe0]
mov r15d, dword [rsp + 0xe8]
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x60], r15d
mov rax, qword [section..data]
lea rdx, [0x180077a08]
lea rcx, [rsp + 0x90]
mov r8d, 0x10
mov r9d, 8
call qword [rax + 0x18]
cmp byte [rsp + 0x90], 0
je 0x180037068
lea rcx, [rsp + 0x58]
call fcn.1800366d0
xor eax, eax
jmp 0x180037077
mov ebp, 0xc76970a8
mov edi, 0x76d4030
mov ebx, 0x951604ae
xor r14d, r14d
mov qword [rsp + 0xd8], r14
mov dword [rsp + 0xe0], ebx
mov rax, qword [section..data]
lea rdx, [0x180077a08]
lea rcx, [rsp + 0x90]
mov r8d, 0x10
mov r9d, 8
call qword [rax + 0x18]
cmp byte [rsp + 0x90], 0
je 0x180036d81
lea rcx, [rsp + 0xd8]
call fcn.1800366d0
xor eax, eax
jmp 0x180036d8f
mov rax, qword [rsp + 0x98]
mov qword [rax], r14
mov dword [rax + 8], ebx
mov dword [rsp + 0x44], edi
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0xffda4331
mov dword [rsp + 0x40], ebp
mov edi, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x48]
mov r14d, dword [rsp + 0x50]
mov qword [rsp + 0xd8], rbx
mov dword [rsp + 0xe0], r14d
mov rax, qword [section..data]
lea rdx, [0x180077a08]
lea rcx, [rsp + 0x90]
mov r8d, 0x10
mov r9d, 8
call qword [rax + 0x18]
cmp byte [rsp + 0x90], 0
je 0x180036e02
lea rcx, [rsp + 0xd8]
call fcn.1800366d0
xor eax, eax
jmp 0x180036e11
mov rax, qword [rsp + 0x98]
mov qword [rax], rbx
mov dword [rax + 8], r14d
mov dword [rsi], ebp
mov dword [rsi + 4], edi
mov qword [rsi + 8], rax
mov dword [rsi + 0x10], 0xf40f5ad8
jmp 0x1800371d2
movzx eax, byte [rsp + 0x39]
cmp eax, 0x83
je 0x180037027
cmp eax, 0x89
jne 0x180037172
movzx eax, byte [rsp + 0x3a]
cmp eax, 0x4c
je 0x1800370c9
cmp eax, 0x5c
jne 0x180037172
cmp byte [rsp + 0x3b], 0x24
jne 0x180037172
cmp byte [rsp + 0x3c], 8
jne 0x180037172
cmp byte [rsp + 0x3d], 0x48
jne 0x180037172
lea rcx, [rsp + 0x40]
mov rdx, r14
mov r8, r15
call fcn.18005af90
jmp 0x1800370a6
cmp qword [rsp + 0xe0], 0
je 0x1800370b7
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xd8], 0x13a
mov qword [rsp + 0xe0], 0x2a9
lea r14, [rsp + 0xe8]
mov dword [rsp + 0xe8], 0x4bd
mov qword [rsp + 0xf0], 0x132
mov qword [rsp + 0xf8], 0x1f5
mov dword [rsp + 0x100], 0x4a7
mov qword [rsp + 0x110], 2
mov r15d, 1
xorps xmm6, xmm6
jmp 0x180036f19
inc r15
add r14, 0x18
cmp r15, 3
je 0x180037172
mov qword [rsp + 0x108], r15
mov rbp, qword [r14 - 8]
mov r12d, dword [r14]
mov r8, qword [r14 - 0x10]
add r8, qword [rsp + 0x118]
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 4
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0xd0]
lea r9, [0x180075bd0]
call fcn.180062990
mov r13d, dword [rsp + 0x58]
test r13d, r13d
jne 0x1800370fc
cmp qword [rsp + 0x60], 0
je 0x180036f12
add rbp, qword [rsp + 0x68]
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 4
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0xd0]
mov r8, rbp
lea r9, [0x180075c68]
call fcn.180062990
mov ebp, dword [rsp + 0x58]
test ebp, ebp
jne 0x1800371ee
cmp qword [rsp + 0x60], 0
je 0x180036f12
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x48], 4
mov dword [rsp + 0x4c], r12d
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x40], 0
jmp 0x1800370a6
cmp byte [rsp + 0x3a], 0xec
jne 0x180037172
cmp byte [rsp + 0x3b], 0x28
jne 0x180037172
movzx eax, byte [rsp + 0x3c]
cmp eax, 0x48
je 0x180037156
cmp eax, 0xe8
jne 0x180037172
lea rcx, [rsp + 0x40]
mov rdx, r14
mov r8, r15
call fcn.18005a6c0
jmp 0x1800370a6
mov rax, qword [rsp + 0x98]
mov qword [rax], r14
mov dword [rax + 8], r15d
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0xffda4364
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x78]
mov edx, dword [rsp + 0x7c]
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x44], ebx
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x54], edx
mov ebp, dword [rsp + 0x40]
test ebp, ebp
jne 0x180036da4
jmp 0x180037182
mov dword [rsp + 0x48], 5
mov dword [rsp + 0x40], 0
jmp 0x1800370a6
cmp byte [rsp + 0x3b], 0x24
jne 0x180037172
cmp byte [rsp + 0x3c], 8
jne 0x180037172
cmp byte [rsp + 0x3d], 0x48
jne 0x180037172
lea rcx, [rsp + 0x40]
mov rdx, r14
mov r8, r15
call fcn.18005b390
jmp 0x1800370a6
mov ebx, dword [rsp + 0x5c]
mov r14, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x68]
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x78], ebp
mov rax, qword [section..data]
lea rdx, [0x180077a08]
lea rcx, [rsp + 0x90]
mov r8d, 0x10
mov r9d, 8
call qword [rax + 0x18]
cmp byte [rsp + 0x90], 0
je 0x180037243
lea rcx, [rsp + 0x70]
call fcn.1800366d0
xor eax, eax
jmp 0x180037251
cmp byte [rsp + 0x3d], 0x8b
jne 0x180037172
lea rcx, [rsp + 0x40]
mov rdx, r14
mov r8, r15
call fcn.18005aa80
jmp 0x1800370a6
mov dword [rsp + 0x48], 5
mov dword [rsp + 0x40], 0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], rcx
mov ecx, dword [rdi + 0x24]
mov dword [rsp + 0x98], ecx
mov rcx, qword [rdi + 0x1c]
mov qword [rsp + 0x90], rcx
cmp eax, 6
je 0x1800372c1
mov ecx, dword [rsp + 0x98]
mov dword [rsi + 0x14], ecx
mov rcx, qword [rsp + 0x90]
mov qword [rsi + 0xc], rcx
mov dword [rsi + 8], eax
mov dword [rsi], 0
movaps xmm6, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, dword [rsp + 0x5c]
mov r14, qword [rsp + 0x60]
mov r15d, dword [rsp + 0x68]
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x78], r15d
mov rax, qword [section..data]
lea rdx, [0x180077a08]
lea rcx, [rsp + 0x90]
mov r8d, 0x10
mov r9d, 8
call qword [rax + 0x18]
cmp byte [rsp + 0x90], 0
je 0x180037284
lea rcx, [rsp + 0x70]
call fcn.1800366d0
xor eax, eax
jmp 0x180037293
mov rax, qword [rsp + 0x98]
mov qword [rax], r14
mov dword [rax + 8], ebp
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0xffda431f
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x88]
mov edx, dword [rsp + 0x8c]
mov dword [rsp + 0x40], r13d
jmp 0x180037095
mov rax, qword [rsp + 0x98]
mov qword [rax], r14
mov dword [rax + 8], r15d
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0xffda4303
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x88]
mov edx, dword [rsp + 0x8c]
jmp 0x180037091
lea rcx, str.called__Option::unwrap____on_a__None__value1AF0A12B
lea r8, [0x180070920]
mov edx, 0x2b
call fcn.18000c680
ud2