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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
lea rbp, [rsp - 0x13d8]
mov eax, 0x14d8
call fcn.140079820
sub rsp, rax
mov rdx, qword [0x1401bf240]
xor r12d, r12d
mov rsi, qword [0x1401bf248]
mov rdi, rcx
mov qword [rbp + 0x1408], rsi
test rdx, rdx
je 0x140023282
mov eax, dword [rcx + 0x18]
mov rcx, qword [0x1401bf190]
cmp dword [rcx + 0x6c], eax
jge 0x1400232f5
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 0x10]
mov qword [0x1401bf240], r12
mov rcx, qword [0x1401bf190]
lea r9, [0x1401bf240]
mov eax, dword [rdi + 0x18]
lea rdx, [rsp + 0x30]
add eax, 0x1388
xor r8d, r8d
mov dword [rcx + 0x6c], eax
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x34], 2
mov eax, dword [rcx + 0x6c]
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x3c], 0x10000
lea ecx, [rax + rax*4]
shl ecx, 2
mov dword [rsp + 0x30], ecx
mov rcx, qword [0x1401bf228]
mov rax, qword [rcx]
mov r10, qword [rax + 0x18]
call r10
test eax, eax
js 0x140023dc1
mov rdx, qword [0x1401bf240]
mov rcx, qword [0x1401bf190]
mov r8, qword [0x1401bf220]
test r8, r8
je 0x140023324
mov eax, dword [rdi + 0x14]
cmp dword [rcx + 0x70], eax
jge 0x1400233a6
mov rax, qword [r8]
mov rcx, r8
call qword [rax + 0x10]
mov rcx, qword [0x1401bf190]
mov qword [0x1401bf220], r12
mov eax, dword [rdi + 0x14]
lea r9, [0x1401bf220]
add eax, 0x2710
lea rdx, [rbp - 0x60]
mov dword [rcx + 0x70], eax
xor r8d, r8d
mov qword [rbp - 0x50], r12
mov dword [rbp - 0x5c], 2
mov eax, dword [rcx + 0x70]
mov rcx, qword [0x1401bf228]
shl eax, 2
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x58], 2
mov dword [rbp - 0x54], 0x10000
mov rax, qword [rcx]
mov r10, qword [rax + 0x18]
call r10
test eax, eax
js 0x140023dc1
mov rcx, qword [0x1401bf228]
lea r9, [0x1401bf220]
xor r8d, r8d
lea rdx, [rbp - 0x60]
mov rax, qword [rcx]
mov r10, qword [rax + 0x18]
call r10
test eax, eax
js 0x140023dc1
mov rdx, qword [0x1401bf240]
mov rax, qword [rsi]
mov r9d, 4
xor r8d, r8d
mov rcx, rsi
mov r10, qword [rax + 0x70]
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
call r10
test eax, eax
jne 0x140023dc1
mov rax, qword [rsi]
mov r9d, 4
mov rdx, qword [0x1401bf220]
xor r8d, r8d
mov rcx, rsi
mov r10, qword [rax + 0x70]
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
call r10
test eax, eax
jne 0x140023dc1
mov qword [rsp + 0x14d0], rbx
mov qword [rsp + 0x14c8], r13
mov r13d, r12d
mov qword [rsp + 0x14c0], r14
mov r14, qword [rbp - 0x28]
mov qword [rsp + 0x14b8], r15
mov r15, qword [rbp - 0x18]
cmp dword [rdi + 0x10], r12d
jle 0x14002349c
mov rsi, r12
nop dword [rax]
mov rax, qword [rdi + 8]
mov rcx, r14
mov rbx, qword [rsi + rax]
movsxd rax, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
lea r8, [rax + rax*4]
shl r8, 2
call fcn.14007b250
movsxd r8, dword [rbx + 0x10]
mov rcx, r15
mov rdx, qword [rbx + 0x18]
shl r8, 2
call fcn.14007b250
movsxd rax, dword [rbx + 0x20]
lea rsi, [rsi + 8]
inc r13d
lea rcx, [rax + rax*4]
movsxd rax, dword [rbx + 0x10]
lea r14, [r14 + rcx*4]
lea r15, [r15 + rax*4]
cmp r13d, dword [rdi + 0x10]
jl 0x140023440
mov rsi, qword [rbp + 0x1408]
mov rax, qword [rsi]
xor r8d, r8d
mov rdx, qword [0x1401bf240]
mov rcx, rsi
call qword [rax + 0x78]
mov rax, qword [rsi]
xor r8d, r8d
mov rdx, qword [0x1401bf220]
mov rcx, rsi
call qword [rax + 0x78]
mov rax, qword [rsi]
mov r9d, 4
mov rdx, qword [0x1401bf210]
xor r8d, r8d
mov rcx, rsi
mov r10, qword [rax + 0x70]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
call r10
test eax, eax
jne 0x140023da1
mov rbx, qword [rsp + 0x30]
mov ecx, 0x40000000
movaps xmmword [rsp + 0x14a0], xmm6
movaps xmmword [rsp + 0x1490], xmm7
movaps xmmword [rsp + 0x1480], xmm8
movss xmm8, dword [rdi + 0x1c]
movaps xmmword [rsp + 0x1470], xmm9
movaps xmm6, xmm8
addss xmm6, dword [rdi + 0x24]
movaps xmmword [rsp + 0x1460], xmm10
movaps xmmword [rsp + 0x1450], xmm11
movss xmm11, dword [rdi + 0x20]
movaps xmm10, xmm11
movaps xmmword [rsp + 0x1440], xmm12
addss xmm10, dword [rdi + 0x28]
movaps xmmword [rsp + 0x1430], xmm13
call fcn.14002fc40
movaps xmm1, xmm6
mov qword [rsp + 0x64], r12
subss xmm1, xmm8
mov qword [rsp + 0x6c], r12
movaps xmm12, xmm0
mov ecx, 0x40000000
divss xmm12, xmm1
call fcn.14002fc40
mov qword [rsp + 0x78], r12
mov ecx, 0x3f000000
mov qword [rbp - 0x80], r12
movaps xmm1, xmm11
movaps xmm9, xmm0
subss xmm1, xmm10
divss xmm9, xmm1
call fcn.14002fc40
mov dword [rbp - 0x74], r12d
mov ecx, 0x3f000000
movaps xmm13, xmm6
movaps xmm7, xmm0
addss xmm13, xmm8
subss xmm8, xmm6
divss xmm13, xmm8
movaps xmm8, xmm10
subss xmm10, xmm11
addss xmm8, xmm11
divss xmm8, xmm10
call fcn.14002fc40
mov ecx, 0x3f800000
movaps xmm6, xmm0
call fcn.14002fc40
movaps xmm1, xmmword [rsp + 0x60]
xor r8d, r8d
movaps xmm2, xmmword [rsp + 0x70]
movss xmm1, xmm12
movups xmmword [rbx], xmm1
mov rcx, rsi
movaps xmm1, xmmword [rbp - 0x80]
shufps xmm13, xmm13, 0xe1
movss xmm13, xmm8
shufps xmm2, xmm2, 0xe1
shufps xmm13, xmm13, 0xc6
movss xmm2, xmm9
movss xmm13, xmm6
shufps xmm1, xmm1, 0xd2
shufps xmm13, xmm13, 0x27
movss xmm1, xmm7
shufps xmm2, xmm2, 0xe1
movss xmm13, xmm0
movups xmmword [rbx + 0x10], xmm2
shufps xmm1, xmm1, 0xc9
movups xmmword [rbx + 0x20], xmm1
shufps xmm13, xmm13, 0x39
movups xmmword [rbx + 0x30], xmm13
mov rax, qword [rsi]
mov rdx, qword [0x1401bf210]
call qword [rax + 0x78]
mov rax, qword [rsi]
lea r8, [rbp + 0x18]
lea rdx, [rbp + 0x10]
mov dword [rbp + 0x14], 0x10
mov rcx, rsi
mov dword [rbp + 0x10], 0x10
call qword [rax + 0x300]
mov rax, qword [rsi]
lea r8, [rbp + 0x118]
lea rdx, [rbp + 0x14]
mov rcx, rsi
call qword [rax + 0x2f8]
mov rax, qword [rsi]
lea rdx, [rbp + 0x298]
mov rcx, rsi
call qword [rax + 0x2f0]
mov rax, qword [rsi]
lea r9, [rbp + 0x2b8]
lea r8, [rbp + 0x2a8]
mov rcx, rsi
lea rdx, [rbp + 0x2a0]
call qword [rax + 0x2d8]
mov rax, qword [rsi]
lea r8, [rbp + 0x2bc]
lea rdx, [rbp + 0x2c0]
mov rcx, rsi
call qword [rax + 0x2e0]
mov rax, qword [rsi]
lea r9, [rbp + 0x2c8]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 1]
call qword [rax + 0x248]
mov rax, qword [rsi]
lea r9, [rbp + 0x2d0]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 1]
call qword [rax + 0x258]
mov rax, qword [rsi]
lea r9, [rbp + 0x2e8]
lea r8, [rbp + 0x2f0]
mov dword [rbp + 0x2ec], 0x100
lea rdx, [rbp + 0x2d8]
mov dword [rbp + 0x2e8], 0x100
mov rcx, rsi
call qword [rax + 0x250]
mov rax, qword [rsi]
lea r9, [rbp + 0x2ec]
lea r8, [rbp + 0xaf0]
mov rcx, rsi
lea rdx, [rbp + 0x2e0]
call qword [rax + 0x260]
mov rax, qword [rsi]
lea r9, [rbp + 0x1308]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 1]
call qword [rax + 0x240]
mov rax, qword [rsi]
lea rdx, [rbp + 0x12f0]
mov rcx, rsi
call qword [rax + 0x298]
mov rax, qword [rsi]
lea r9, [rbp + 0x1310]
lea r8, [rbp + 0x131c]
mov rcx, rsi
lea rdx, [rbp + 0x12f8]
call qword [rax + 0x280]
mov rax, qword [rsi]
lea rcx, [rbp + 0x1318]
mov qword [rsp + 0x28], rcx
lea r9, [rbp + 0x1300]
xor edx, edx
lea rcx, [rbp + 0x1314]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
lea r8d, [rdx + 1]
call qword [rax + 0x278]
mov rax, qword [rsi]
lea rdx, [rbp + 0x1320]
mov rcx, rsi
call qword [rax + 0x270]
movss xmm0, dword [rdi + 0x24]
movss xmm1, dword [rdi + 0x28]
movss dword [rbp - 0x40], xmm0
movss dword [rbp - 0x3c], xmm1
mov dword [rbp - 0x38], r12d
mov ecx, 0x3f800000
call fcn.14002fc40
mov rax, qword [rsi]
lea r8, [rbp - 0x48]
mov edx, 1
movss dword [rbp - 0x34], xmm0
mov rcx, rsi
mov qword [rbp - 0x48], r12
call qword [rax + 0x160]
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [0x1401bf218]
mov dword [rsp + 0x48], 0x14
mov dword [rbp + 0x1418], r12d
call qword [rax + 0x88]
mov rax, qword [rsi]
lea rcx, [rbp + 0x1418]
mov qword [rsp + 0x28], rcx
lea r9, [0x1401bf240]
xor edx, edx
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
lea r8d, [rdx + 1]
call qword [rax + 0x90]
mov rax, qword [rsi]
xor r9d, r9d
mov rdx, qword [0x1401bf220]
mov rcx, rsi
lea r8d, [r9 + 0x2a]
call qword [rax + 0x98]
mov rax, qword [rsi]
mov edx, 4
mov rcx, rsi
call qword [rax + 0xc0]
mov rax, qword [rsi]
xor r9d, r9d
mov rdx, qword [0x1401bf208]
xor r8d, r8d
mov rcx, rsi
call qword [rax + 0x58]
mov rax, qword [rsi]
lea r9, [0x1401bf210]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 1]
call qword [rax + 0x38]
mov rax, qword [rsi]
xor r9d, r9d
mov rdx, qword [0x1401bf1f8]
xor r8d, r8d
mov rcx, rsi
call qword [rax + 0x48]
mov rax, qword [rsi]
lea r9, [0x1401bf238]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 1]
call qword [rax + 0x50]
mov rax, qword [rsi]
lea r8, [rbp - 8]
mov rdx, qword [0x1401bf200]
xorps xmm0, xmm0
mov r9d, 0xffffffff
mov rcx, rsi
movups xmmword [rbp - 8], xmm0
call qword [rax + 0x118]
mov rax, qword [rsi]
xor r8d, r8d
mov rdx, qword [0x1401bf1f0]
mov rcx, rsi
call qword [rax + 0x120]
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [0x1401bf1e8]
call qword [rax + 0x158]
movss xmm6, dword [rdi + 0x1c]
mov ecx, r12d
movss xmm7, dword [rdi + 0x20]
mov r15d, r12d
mov dword [rbp + 0x1408], ecx
mov r8d, r12d
movaps xmm13, xmmword [rsp + 0x1430]
movaps xmm12, xmmword [rsp + 0x1440]
movaps xmm11, xmmword [rsp + 0x1450]
movaps xmm10, xmmword [rsp + 0x1460]
movaps xmm9, xmmword [rsp + 0x1470]
movaps xmm8, xmmword [rsp + 0x1480]
mov dword [rbp + 0x1410], r12d
cmp dword [rdi + 0x10], r12d
jle 0x140023ae8
mov rdx, r12
mov qword [rsp + 0x50], rdx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi + 8]
mov r14d, r12d
mov r13, qword [rdx + rax]
cmp dword [r13], 0
jle 0x140023ac1
mov rdi, r12
mov r12d, dword [rbp + 0x1408]
mov rbx, qword [r13 + 8]
lea r8, [rsp + 0x30]
mov edx, 1
mov rcx, rsi
movss xmm0, dword [rdi + rbx + 4]
subss xmm0, xmm6
cvttss2si eax, xmm0
mov dword [rsp + 0x30], eax
movss xmm1, dword [rdi + rbx + 8]
subss xmm1, xmm7
cvttss2si eax, xmm1
mov dword [rsp + 0x34], eax
movss xmm0, dword [rdi + rbx + 0xc]
subss xmm0, xmm6
cvttss2si eax, xmm0
mov dword [rsp + 0x38], eax
movss xmm1, dword [rdi + rbx + 0x10]
subss xmm1, xmm7
cvttss2si eax, xmm1
mov dword [rsp + 0x3c], eax
mov rax, qword [rsi]
call qword [rax + 0x168]
mov rax, qword [rdi + rbx + 0x18]
lea r9, [rbp - 0x30]
xor edx, edx
mov qword [rbp - 0x30], rax
mov rax, qword [rsi]
mov rcx, rsi
lea r8d, [rdx + 1]
call qword [rax + 0x40]
mov rax, qword [rsi]
mov r9d, r12d
mov edx, dword [rdi + rbx]
mov r8d, r15d
mov rcx, rsi
call qword [rax + 0x60]
add r15d, dword [rdi + rbx]
inc r14d
add rdi, 0x20
cmp r14d, dword [r13]
jl 0x140023a00
mov ecx, dword [rbp + 0x1408]
xor r12d, r12d
mov rdi, qword [rbp + 0x1400]
mov rdx, qword [rsp + 0x50]
mov r8d, dword [rbp + 0x1410]
add ecx, dword [r13 + 0x20]
inc r8d
add rdx, 8
mov dword [rbp + 0x1408], ecx
mov dword [rbp + 0x1410], r8d
mov qword [rsp + 0x50], rdx
cmp r8d, dword [rdi + 0x10]
jl 0x1400239e0
mov rax, qword [rsi]
lea r8, [rbp + 0x18]
mov edx, dword [rbp + 0x10]
mov rcx, rsi
call qword [rax + 0x168]
mov rax, qword [rsi]
lea r8, [rbp + 0x118]
mov edx, dword [rbp + 0x14]
mov rcx, rsi
call qword [rax + 0x160]
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbp + 0x298]
call qword [rax + 0x158]
mov rcx, qword [rbp + 0x298]
movaps xmm7, xmmword [rsp + 0x1490]
movaps xmm6, xmmword [rsp + 0x14a0]
test rcx, rcx
je 0x140023b46
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
lea r8, [rbp + 0x2a8]
mov r9d, dword [rbp + 0x2b8]
mov rcx, rsi
mov rdx, qword [rbp + 0x2a0]
call qword [rax + 0x118]
mov rcx, qword [rbp + 0x2a0]
test rcx, rcx
je 0x140023b79
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
mov rcx, rsi
mov r8d, dword [rbp + 0x2bc]
mov rdx, qword [rbp + 0x2c0]
call qword [rax + 0x120]
mov rcx, qword [rbp + 0x2c0]
test rcx, rcx
je 0x140023ba5
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
lea r9, [rbp + 0x2c8]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 1]
call qword [rax + 0x40]
mov rcx, qword [rbp + 0x2c8]
test rcx, rcx
je 0x140023bcd
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
lea r9, [rbp + 0x2d0]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 1]
call qword [rax + 0x50]
mov rcx, qword [rbp + 0x2d0]
test rcx, rcx
je 0x140023bf5
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
lea r8, [rbp + 0x2f0]
mov r9d, dword [rbp + 0x2e8]
mov rcx, rsi
mov rdx, qword [rbp + 0x2d8]
call qword [rax + 0x48]
mov rcx, qword [rbp + 0x2d8]
test rcx, rcx
je 0x140023c25
mov rax, qword [rcx]
call qword [rax + 0x10]
mov edx, dword [rbp + 0x2e8]
mov ebx, r12d
test edx, edx
je 0x140023c61
nop dword [rax]
nop word [rax + rax]
mov eax, ebx
mov rcx, qword [rbp + rax*8 + 0x2f0]
test rcx, rcx
je 0x140023c5b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov edx, dword [rbp + 0x2e8]
inc ebx
cmp ebx, edx
jb 0x140023c40
mov rax, qword [rsi]
lea r8, [rbp + 0xaf0]
mov r9d, dword [rbp + 0x2ec]
mov rcx, rsi
mov rdx, qword [rbp + 0x2e0]
call qword [rax + 0x58]
mov rcx, qword [rbp + 0x2e0]
test rcx, rcx
je 0x140023c91
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
lea r9, [rbp + 0x1308]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 1]
call qword [rax + 0x38]
mov rcx, qword [rbp + 0x1308]
test rcx, rcx
je 0x140023cb9
mov rax, qword [rcx]
call qword [rax + 0x10]
mov edx, dword [rbp + 0x2ec]
test edx, edx
je 0x140023cf4
nop dword [rax]
nop word [rax + rax]
mov eax, r12d
mov rcx, qword [rbp + rax*8 + 0xaf0]
test rcx, rcx
je 0x140023cec
mov rax, qword [rcx]
call qword [rax + 0x10]
mov edx, dword [rbp + 0x2ec]
inc r12d
cmp r12d, edx
jb 0x140023cd0
mov rax, qword [rsi]
mov rcx, rsi
mov edx, dword [rbp + 0x12f0]
call qword [rax + 0xc0]
mov rax, qword [rsi]
mov rcx, rsi
mov r9d, dword [rbp + 0x1310]
mov r8d, dword [rbp + 0x131c]
mov rdx, qword [rbp + 0x12f8]
call qword [rax + 0x98]
mov rcx, qword [rbp + 0x12f8]
test rcx, rcx
je 0x140023d39
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
lea rcx, [rbp + 0x1318]
mov qword [rsp + 0x28], rcx
lea r9, [rbp + 0x1300]
xor edx, edx
lea rcx, [rbp + 0x1314]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
lea r8d, [rdx + 1]
call qword [rax + 0x90]
mov rcx, qword [rbp + 0x1300]
test rcx, rcx
je 0x140023d7c
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbp + 0x1320]
call qword [rax + 0x88]
mov rcx, qword [rbp + 0x1320]
test rcx, rcx
je 0x140023da1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r14, qword [rsp + 0x14c0]
mov r13, qword [rsp + 0x14c8]
mov rbx, qword [rsp + 0x14d0]
mov r15, qword [rsp + 0x14b8]
add rsp, 0x14d8
pop r12
pop rdi
pop rsi
pop rbp
ret