Function at 0x180321970
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, 0x248
movaps xmmword [rsp + 0x230], xmm6
mov rax, r8
mov rbx, rdx
mov r12, rcx
movabs rsi, 0x8000000000000008
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0xc0]
lea r8, [rsp + 0x28]
mov qword [rsp + 0xb8], rax
mov rdx, rax
call fcn.180321010
mov rax, qword [rsp + 0xc0]
mov ebp, dword [rsp + 0xc8]
cmp rax, rsi
jne 0x180321a77
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 8
mov qword [rsp + 0xb0], 0
mov r14, qword [rbx + 0x10]
test r14, r14
je 0x180322367
mov r15, qword [rbx + 8]
mov rcx, qword [r15 + 8]
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15 + 0x20]
mov r8, qword [r15 + 0x28]
test r8, r8
mov qword [rsp + 0x98], r12
je 0x180321af3
mov r9, r8
shl r9, 4
mov r10, qword [r9 + rax - 8]
mov r9, rdx
sub r9, r10
jb 0x180322367
mov rsi, qword [rax]
mov rdi, qword [rax + 8]
mov r11, rdi
sub r11, rsi
jb 0x180322367
cmp rdi, rdx
ja 0x180322367
lea r10, [rcx + r10*8]
lea rdi, [rax + 0x10]
lea rsi, [rcx + rsi*8]
jmp 0x180321b02
mov ecx, dword [rsp + 0x13c]
mov dword [r12 + 0x7c], ecx
movups xmm0, xmmword [rsp + 0x12c]
movups xmmword [r12 + 0x6c], xmm0
movups xmm0, xmmword [rsp + 0x11c]
movups xmmword [r12 + 0x5c], xmm0
movups xmm0, xmmword [rsp + 0x10c]
movups xmmword [r12 + 0x4c], xmm0
movups xmm0, xmmword [rsp + 0xcc]
movups xmm1, xmmword [rsp + 0xdc]
movups xmm2, xmmword [rsp + 0xec]
movups xmm3, xmmword [rsp + 0xfc]
movups xmmword [r12 + 0x3c], xmm3
movups xmmword [r12 + 0x2c], xmm2
movups xmmword [r12 + 0x1c], xmm1
movups xmmword [r12 + 0xc], xmm0
mov qword [r12], rax
mov dword [r12 + 8], ebp
jmp 0x1803222b6
xor r10d, r10d
mov r9, rdx
mov rdi, rax
mov r11, rdx
mov rsi, rcx
shl r8, 4
add rax, r8
lea r8, [rsi + r11*8]
lea r12, [rsp + 0x58]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 4
xorps xmm6, xmm6
movups xmmword [rsp + 0x38], xmm6
mov qword [rsp + 0x48], 4
mov qword [rsp + 0x50], 0
lea rbx, [rsp + 0x40]
cmp rsi, r8
jne 0x180321ee4
jmp 0x180321bad
mov rax, qword [rsp + 0x30]
mov dword [rax + r13*4], ebp
inc r13
mov qword [rsp + 0x38], r13
lea r8, [rsi + rdi*8]
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], r8
cmp rsi, r8
jne 0x180321ee4
mov r13, qword [rsp + 0x50]
test r13, r13
je 0x180321c88
cmp r13, 1
jne 0x180321be7
mov qword [rsp + 0x50], 0
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov qword [rsp + 0x144], rax
mov dword [rsp + 0x140], 1
jmp 0x180321c23
mov rax, qword [rbx + 0x10]
lea rcx, [rsp + 0x148]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rbx]
movups xmmword [rcx], xmm0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 4
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x140], 2
lea rcx, [rsp + 0xc0]
mov rdx, qword [rsp + 0xb8]
lea r8, [rsp + 0x140]
call fcn.180321010
mov rax, qword [rsp + 0xc0]
mov esi, dword [rsp + 0xc8]
movabs rcx, 0x8000000000000008
cmp rax, rcx
jne 0x180322146
mov rdi, qword [rsp + 0x38]
cmp rdi, qword [rsp + 0x28]
jne 0x180321c78
lea rcx, [rsp + 0x28]
call fcn.1803275b0
mov rax, qword [rsp + 0x30]
mov dword [rax + rdi*4], esi
inc rdi
mov qword [rsp + 0x38], rdi
mov rcx, qword [rsp + 0x68]
cmp rcx, qword [rsp + 0x70]
je 0x180321cc6
lea rax, [rcx + 0x10]
mov qword [rsp + 0x68], rax
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
mov rdi, rcx
sub rdi, rax
jb 0x180322367
cmp rcx, qword [rsp + 0x60]
ja 0x180322367
mov rcx, qword [rsp + 0x58]
lea rsi, [rcx + rax*8]
jmp 0x180321ce1
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov qword [rsp + 0x78], 0
test rsi, rsi
je 0x180321d00
mov r13, qword [rsp + 0x38]
cmp r13, qword [rsp + 0x28]
jne 0x180321b7f
lea rcx, [rsp + 0x28]
call fcn.1803275b0
jmp 0x180321b7f
mov rax, qword [rsp + 0x38]
lea rcx, [rsp + 0x148]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rcx], xmm0
mov dword [rsp + 0x140], 6
lea rcx, [rsp + 0xc0]
mov rdx, qword [rsp + 0xb8]
lea r8, [rsp + 0x140]
call fcn.180321010
mov rcx, qword [rsp + 0xc0]
mov eax, dword [rsp + 0xc8]
movabs rdx, 0x8000000000000008
cmp rcx, rdx
jne 0x1803222d5
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x1803221ef
dec rdx
mov qword [rsp + 0xb0], rdx
mov rcx, qword [rsp + 0xa8]
imul rdx, rdx, 0x70
mov rsi, qword [rcx + rdx]
movabs r8, 0x8000000000000008
add r8, 0xfffffffffffffff8
cmp rsi, r8
je 0x1803221ef
lea r8, [rcx + rdx]
mov rdi, qword [rcx + rdx + 0x20]
mov r13, qword [rcx + rdx + 0x28]
mov rcx, qword [r8 + 0x18]
mov qword [rsp + 0x170], rcx
movups xmm0, xmmword [r8 + 8]
movaps xmmword [rsp + 0x160], xmm0
movups xmm0, xmmword [r8 + 0x30]
movups xmm1, xmmword [r8 + 0x40]
movups xmm2, xmmword [r8 + 0x50]
movups xmm3, xmmword [r8 + 0x60]
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmmword [rsp + 0x200], xmm1
movaps xmmword [rsp + 0x210], xmm2
movaps xmmword [rsp + 0x220], xmm3
test r13, r13
je 0x180322367
mov dword [rdi + r13*8 - 8], eax
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x180321e2d
mov rcx, qword [rsp + 0x48]
shl rdx, 3
mov r8d, 4
call fcn.1802cbf20
mov qword [rsp + 0x28], rsi
mov rax, qword [rsp + 0x170]
mov qword [r12 - 0x18], rax
movaps xmm0, xmmword [rsp + 0x160]
movups xmmword [r12 - 0x28], xmm0
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r13
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmm1, xmmword [rsp + 0x200]
movaps xmm2, xmmword [rsp + 0x210]
movaps xmm3, xmmword [rsp + 0x220]
movups xmmword [r12 + 0x30], xmm3
movups xmmword [r12 + 0x20], xmm2
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
cmp rsi, r8
jne 0x180321ee4
jmp 0x180321bad
mov rax, qword [rsp + 0x48]
mov dword [rax + r13*8], ebp
mov byte [rax + r13*8 + 4], sil
mov byte [rax + r13*8 + 5], sil
inc r13
mov qword [rsp + 0x50], r13
mov rsi, qword [rsp + 0x88]
mov r9, qword [rsp + 0x90]
cmp rsi, r9
je 0x180321bb2
lea rax, [rsi + 8]
mov qword [rsp + 0x88], rax
mov eax, dword [rsi]
cmp r14, rax
jbe 0x180322367
lea rdi, [rax + rax*2]
shl rdi, 4
cmp qword [r15 + rdi + 0x10], 0
movzx esi, byte [rsi + 4]
mov rax, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
je 0x1803220a0
cmp r13, rax
jne 0x180321f2a
mov rcx, rbx
call fcn.180327680
mov rax, qword [rsp + 0x48]
mov dword [rax + r13*8], 0
mov byte [rax + r13*8 + 4], sil
mov byte [rax + r13*8 + 5], sil
inc r13
mov qword [rsp + 0x50], r13
movups xmm0, xmmword [rsp + 0x28]
movups xmm1, xmmword [rsp + 0x38]
movups xmm2, xmmword [rsp + 0x58]
movups xmm3, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x190], xmm1
movaps xmmword [rsp + 0x1b0], xmm2
movaps xmmword [rsp + 0x1c0], xmm3
movups xmm0, xmmword [rsp + 0x78]
movaps xmmword [rsp + 0x1d0], xmm0
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0x1e0], xmm0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x1a8], rax
mov rsi, qword [rsp + 0xb0]
cmp rsi, qword [rsp + 0xa0]
jne 0x180321fd3
lea rcx, [rsp + 0xa0]
call fcn.180327820
add rdi, r15
mov rax, qword [rsp + 0xa8]
imul rcx, rsi, 0x70
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rax + rcx + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rax + rcx + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rax + rcx + 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x180]
movaps xmm1, xmmword [rsp + 0x190]
movaps xmm2, xmmword [rsp + 0x1a0]
movaps xmm3, xmmword [rsp + 0x1b0]
movups xmmword [rax + rcx + 0x30], xmm3
movups xmmword [rax + rcx + 0x20], xmm2
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
inc rsi
mov qword [rsp + 0xb0], rsi
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x20]
mov r9, qword [rdi + 0x28]
test r9, r9
je 0x1803220c0
mov r8, r9
shl r8, 4
mov r10, qword [r8 + rax - 8]
mov r8, rdx
sub r8, r10
jb 0x180322367
mov rsi, qword [rax]
mov r11, qword [rax + 8]
mov rdi, r11
sub rdi, rsi
jb 0x180322367
cmp r11, rdx
ja 0x180322367
lea r10, [rcx + r10*8]
lea r11, [rax + 0x10]
lea rsi, [rcx + rsi*8]
jmp 0x1803220cf
cmp r13, rax
jne 0x180321eb0
mov rcx, rbx
call fcn.180327680
jmp 0x180321eb0
mov r8, rdx
mov r11, rax
xor r10d, r10d
mov rdi, rdx
mov rsi, rcx
shl r9, 4
add rax, r9
lea r9, [rsi + rdi*8]
movups xmmword [r12 - 0x20], xmm6
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 4
mov qword [rsp + 0x48], 4
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], r9
xor r13d, r13d
cmp rsi, r9
jne 0x180321ee4
jmp 0x180321bb2
mov ecx, dword [rsp + 0x13c]
mov r12, qword [rsp + 0x98]
mov dword [r12 + 0x7c], ecx
movups xmm0, xmmword [rsp + 0x12c]
movups xmmword [r12 + 0x6c], xmm0
movups xmm0, xmmword [rsp + 0x11c]
movups xmmword [r12 + 0x5c], xmm0
movups xmm0, xmmword [rsp + 0x10c]
movups xmmword [r12 + 0x4c], xmm0
movups xmm0, xmmword [rsp + 0xcc]
movups xmm1, xmmword [rsp + 0xdc]
movups xmm2, xmmword [rsp + 0xec]
movups xmm3, xmmword [rsp + 0xfc]
movups xmmword [r12 + 0x3c], xmm3
movups xmmword [r12 + 0x2c], xmm2
movups xmmword [r12 + 0x1c], xmm1
movups xmmword [r12 + 0xc], xmm0
mov qword [r12], rax
mov dword [r12 + 8], esi
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x18032220f
mov rcx, qword [rsp + 0x30]
shl rdx, 2
mov r8d, 4
call fcn.1802cbf20
mov rdx, qword [rsp + 0x40]
test rdx, rdx
jne 0x180322219
jmp 0x18032222d
mov r12, qword [rsp + 0x98]
mov dword [r12 + 8], eax
mov dword [r12 + 0xc], ebp
movabs rax, 0x8000000000000008
mov qword [r12], rax
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x18032222d
mov rcx, qword [rsp + 0x48]
shl rdx, 3
mov r8d, 4
call fcn.1802cbf20
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
je 0x180322292
mov rdi, qword [rsp + 0xa8]
add rdi, 0x20
jmp 0x180322259
add rdi, 0x70
dec rsi
je 0x180322292
mov rdx, qword [rdi - 0x20]
test rdx, rdx
je 0x180322275
mov rcx, qword [rdi - 0x18]
shl rdx, 2
mov r8d, 4
call fcn.1802cbf20
mov rdx, qword [rdi - 8]
test rdx, rdx
je 0x180322250
mov rcx, qword [rdi]
shl rdx, 3
mov r8d, 4
call fcn.1802cbf20
jmp 0x180322250
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1803222b6
mov rcx, qword [rsp + 0xa8]
imul rdx, rax, 0x70
mov r8d, 8
call fcn.1802cbf20
mov rax, r12
movaps xmm6, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [rsp + 0x13c]
mov r12, qword [rsp + 0x98]
mov dword [r12 + 0x7c], edx
movups xmm0, xmmword [rsp + 0x12c]
movups xmmword [r12 + 0x6c], xmm0
movups xmm0, xmmword [rsp + 0x11c]
movups xmmword [r12 + 0x5c], xmm0
movups xmm0, xmmword [rsp + 0x10c]
movups xmmword [r12 + 0x4c], xmm0
movups xmm0, xmmword [rsp + 0xcc]
movups xmm1, xmmword [rsp + 0xdc]
movups xmm2, xmmword [rsp + 0xec]
movups xmm3, xmmword [rsp + 0xfc]
movups xmmword [r12 + 0x3c], xmm3
movups xmmword [r12 + 0x2c], xmm2
movups xmmword [r12 + 0x1c], xmm1
movups xmmword [r12 + 0xc], xmm0
mov qword [r12], rcx
mov dword [r12 + 8], eax
mov rdx, qword [rsp + 0x40]
test rdx, rdx
jne 0x180322219
jmp 0x18032222d
ud2