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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
lea rbp, [rsp - 0x1380]
mov eax, 0x1480
call fcn.140082820
sub rsp, rax
mov rdx, qword [0x1401c5180]
xor r12d, r12d
mov rsi, qword [0x1401c5188]
mov rdi, rcx
mov qword [rbp + 0x13c0], rsi
test rdx, rdx
je 0x140022fd3
mov eax, dword [rcx + 0x18]
mov rcx, qword [0x1401c50d0]
cmp dword [rcx + 0x6c], eax
jge 0x140023046
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 0x10]
mov qword [0x1401c5180], r12
mov rcx, qword [0x1401c50d0]
lea r9, [0x1401c5180]
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 [0x1401c5168]
mov rax, qword [rcx]
mov r10, qword [rax + 0x18]
call r10
test eax, eax
js 0x140023adb
mov rdx, qword [0x1401c5180]
mov rcx, qword [0x1401c50d0]
mov r8, qword [0x1401c5160]
test r8, r8
je 0x140023075
mov eax, dword [rdi + 0x14]
cmp dword [rcx + 0x70], eax
jge 0x1400230fe
mov rax, qword [r8]
mov rcx, r8
call qword [rax + 0x10]
mov rcx, qword [0x1401c50d0]
mov qword [0x1401c5160], r12
mov eax, dword [rdi + 0x14]
lea r9, [0x1401c5160]
add eax, 0x2710
lea rdx, [rsp + 0x58]
mov dword [rcx + 0x70], eax
xor r8d, r8d
mov qword [rsp + 0x68], r12
mov dword [rsp + 0x5c], 2
mov eax, dword [rcx + 0x70]
mov rcx, qword [0x1401c5168]
shl eax, 2
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x60], 2
mov dword [rsp + 0x64], 0x10000
mov rax, qword [rcx]
mov r10, qword [rax + 0x18]
call r10
test eax, eax
js 0x140023adb
mov rcx, qword [0x1401c5168]
lea r9, [0x1401c5160]
xor r8d, r8d
lea rdx, [rsp + 0x58]
mov rax, qword [rcx]
mov r10, qword [rax + 0x18]
call r10
test eax, eax
js 0x140023adb
mov rdx, qword [0x1401c5180]
mov rax, qword [rsi]
mov r9d, 4
xor r8d, r8d
mov rcx, rsi
mov r10, qword [rax + 0x70]
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
call r10
test eax, eax
jne 0x140023adb
mov rax, qword [rsi]
mov r9d, 4
mov rdx, qword [0x1401c5160]
xor r8d, r8d
mov rcx, rsi
mov r10, qword [rax + 0x70]
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
call r10
test eax, eax
jne 0x140023adb
mov qword [rsp + 0x1478], r13
mov r13, qword [rbp - 0x60]
mov qword [rsp + 0x1468], r15
mov r15, qword [rbp - 0x70]
mov qword [rsp + 0x1470], r14
cmp dword [rdi + 0x10], r12d
jle 0x1400231eb
mov r14, r12
mov esi, r12d
nop dword [rax]
mov rax, qword [rdi + 8]
mov rcx, r15
mov rbx, qword [r14 + rax]
movsxd rax, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
lea r8, [rax + rax*4]
shl r8, 2
call fcn.1400a62b0
movsxd r8, dword [rbx + 0x10]
mov rcx, r13
mov rdx, qword [rbx + 0x18]
shl r8, 2
call fcn.1400a62b0
movsxd rax, dword [rbx + 0x20]
lea r14, [r14 + 8]
inc esi
lea rcx, [rax + rax*4]
movsxd rax, dword [rbx + 0x10]
lea r15, [r15 + rcx*4]
lea r13, [r13 + rax*4]
cmp esi, dword [rdi + 0x10]
jl 0x140023190
mov rsi, qword [rbp + 0x13c0]
mov rax, qword [rsi]
xor r8d, r8d
mov rdx, qword [0x1401c5180]
mov rcx, rsi
call qword [rax + 0x78]
mov rax, qword [rsi]
xor r8d, r8d
mov rdx, qword [0x1401c5160]
mov rcx, rsi
call qword [rax + 0x78]
mov rax, qword [rsi]
mov r9d, 4
mov rdx, qword [0x1401c5150]
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 0x140023ac3
mov rbx, qword [rsp + 0x30]
mov ecx, 0x40000000
movaps xmmword [rsp + 0x1450], xmm6
movaps xmmword [rsp + 0x1440], xmm7
movaps xmmword [rsp + 0x1430], xmm8
movaps xmmword [rsp + 0x1420], xmm9
movaps xmmword [rsp + 0x1410], xmm10
movaps xmmword [rsp + 0x1400], xmm11
movaps xmmword [rsp + 0x13f0], xmm12
movss xmm12, dword [rdi + 0x20]
movaps xmmword [rsp + 0x13e0], xmm13
movaps xmm11, xmm12
movss xmm13, dword [rdi + 0x1c]
addss xmm11, dword [rdi + 0x28]
movaps xmm10, xmm13
addss xmm10, dword [rdi + 0x24]
call fcn.140030720
movaps xmm1, xmm10
movaps xmm8, xmm0
subss xmm1, xmm13
mov ecx, 0x40000000
divss xmm8, xmm1
call fcn.140030720
mov ecx, 0x3f000000
movaps xmm1, xmm12
movaps xmm7, xmm0
subss xmm1, xmm11
divss xmm7, xmm1
call fcn.140030720
mov ecx, 0x3f000000
movaps xmm6, xmm0
call fcn.140030720
mov ecx, 0x3f800000
movaps xmm9, xmm0
call fcn.140030720
movss dword [rbx], xmm8
movaps xmm2, xmm0
mov qword [rbx + 4], r12
movaps xmm0, xmm11
mov qword [rbx + 0xc], r12
addss xmm0, xmm12
movss dword [rbx + 0x14], xmm7
subss xmm11, xmm12
mov qword [rbx + 0x18], r12
movaps xmm1, xmm10
mov qword [rbx + 0x20], r12
addss xmm1, xmm13
movss dword [rbx + 0x28], xmm6
subss xmm13, xmm10
mov dword [rbx + 0x2c], r12d
xor r8d, r8d
divss xmm0, xmm11
mov rcx, rsi
divss xmm1, xmm13
movss dword [rbx + 0x30], xmm1
movss dword [rbx + 0x34], xmm0
movss dword [rbx + 0x38], xmm9
movss dword [rbx + 0x3c], xmm2
mov rax, qword [rsi]
mov rdx, qword [0x1401c5150]
call qword [rax + 0x78]
mov rax, qword [rsi]
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x40]
mov dword [rbp - 0x3c], 0x10
mov rcx, rsi
mov dword [rbp - 0x40], 0x10
call qword [rax + 0x300]
mov rax, qword [rsi]
lea r8, [rbp + 0xc8]
lea rdx, [rbp - 0x3c]
mov rcx, rsi
call qword [rax + 0x2f8]
mov rax, qword [rsi]
lea rdx, [rbp + 0x248]
mov rcx, rsi
call qword [rax + 0x2f0]
mov rax, qword [rsi]
lea r9, [rbp + 0x268]
lea r8, [rbp + 0x258]
lea rdx, [rbp + 0x250]
mov rcx, rsi
call qword [rax + 0x2d8]
mov rax, qword [rsi]
lea r8, [rbp + 0x26c]
lea rdx, [rbp + 0x270]
mov rcx, rsi
call qword [rax + 0x2e0]
mov rax, qword [rsi]
lea r9, [rbp + 0x278]
xor edx, edx
mov r8d, 1
mov rcx, rsi
call qword [rax + 0x248]
mov rax, qword [rsi]
lea r9, [rbp + 0x280]
xor edx, edx
mov r8d, 1
mov rcx, rsi
call qword [rax + 0x258]
mov rax, qword [rsi]
lea r9, [rbp + 0x298]
lea r8, [rbp + 0x2a0]
mov dword [rbp + 0x29c], 0x100
lea rdx, [rbp + 0x288]
mov dword [rbp + 0x298], 0x100
mov rcx, rsi
call qword [rax + 0x250]
mov rax, qword [rsi]
lea r9, [rbp + 0x29c]
lea r8, [rbp + 0xaa0]
mov rcx, rsi
lea rdx, [rbp + 0x290]
call qword [rax + 0x260]
mov rax, qword [rsi]
lea r9, [rbp + 0x12b8]
xor edx, edx
mov r8d, 1
mov rcx, rsi
call qword [rax + 0x240]
mov rax, qword [rsi]
lea rdx, [rbp + 0x12a0]
mov rcx, rsi
call qword [rax + 0x298]
mov rax, qword [rsi]
lea r9, [rbp + 0x12c0]
lea r8, [rbp + 0x12cc]
mov rcx, rsi
lea rdx, [rbp + 0x12a8]
call qword [rax + 0x280]
mov rax, qword [rsi]
lea rcx, [rbp + 0x12c8]
mov qword [rsp + 0x28], rcx
lea r9, [rbp + 0x12b0]
lea rcx, [rbp + 0x12c4]
xor edx, edx
mov qword [rsp + 0x20], rcx
mov r8d, 1
mov rcx, rsi
call qword [rax + 0x278]
mov rax, qword [rsi]
lea rdx, [rbp + 0x12d0]
mov rcx, rsi
call qword [rax + 0x270]
movss xmm0, dword [rdi + 0x24]
mov ecx, 0x3f800000
movss xmm1, dword [rdi + 0x28]
movss dword [rsp + 0x78], xmm0
movss dword [rsp + 0x7c], xmm1
mov dword [rbp - 0x80], r12d
call fcn.140030720
mov rax, qword [rsi]
lea r8, [rsp + 0x70]
mov edx, 1
movss dword [rbp - 0x7c], xmm0
mov rcx, rsi
mov qword [rsp + 0x70], r12
call qword [rax + 0x160]
mov rax, qword [rsi]
mov rdx, qword [0x1401c5158]
mov dword [rsp + 0x48], 0x14
mov dword [rbp + 0x13c8], r12d
mov rcx, rsi
call qword [rax + 0x88]
mov rax, qword [rsi]
lea rcx, [rbp + 0x13c8]
mov qword [rsp + 0x28], rcx
lea r9, [0x1401c5180]
lea rcx, [rsp + 0x48]
xor edx, edx
mov qword [rsp + 0x20], rcx
mov r8d, 1
mov rcx, rsi
call qword [rax + 0x90]
mov rax, qword [rsi]
xor r9d, r9d
mov rdx, qword [0x1401c5160]
mov r8d, 0x2a
mov rcx, rsi
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 [0x1401c5148]
xor r8d, r8d
mov rcx, rsi
call qword [rax + 0x58]
mov rax, qword [rsi]
lea r9, [0x1401c5150]
xor edx, edx
mov r8d, 1
mov rcx, rsi
call qword [rax + 0x38]
mov rax, qword [rsi]
xor r9d, r9d
mov rdx, qword [0x1401c5138]
xor r8d, r8d
mov rcx, rsi
call qword [rax + 0x48]
mov rax, qword [rsi]
lea r9, [0x1401c5178]
xor edx, edx
mov r8d, 1
mov rcx, rsi
call qword [rax + 0x50]
mov rax, qword [rsi]
lea r8, [rbp - 0x50]
mov rdx, qword [0x1401c5140]
xorps xmm0, xmm0
mov r9d, 0xffffffff
mov rcx, rsi
movups xmmword [rbp - 0x50], xmm0
call qword [rax + 0x118]
mov rax, qword [rsi]
xor r8d, r8d
mov rdx, qword [0x1401c5130]
mov rcx, rsi
call qword [rax + 0x120]
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [0x1401c5128]
call qword [rax + 0x158]
mov ecx, r12d
movss xmm6, dword [rdi + 0x1c]
mov r15d, r12d
movss xmm7, dword [rdi + 0x20]
mov r8d, r12d
movaps xmm13, xmmword [rsp + 0x13e0]
movaps xmm12, xmmword [rsp + 0x13f0]
movaps xmm11, xmmword [rsp + 0x1400]
movaps xmm10, xmmword [rsp + 0x1410]
movaps xmm9, xmmword [rsp + 0x1420]
movaps xmm8, xmmword [rsp + 0x1430]
mov dword [rbp + 0x13b8], ecx
mov dword [rbp + 0x13c0], r12d
cmp dword [rdi + 0x10], r12d
jle 0x14002380a
mov rdx, r12
mov qword [rsp + 0x50], rdx
nop dword [rax]
mov rax, qword [rdi + 8]
mov r14d, r12d
mov r13, qword [rdx + rax]
cmp dword [r13], 0
jle 0x1400237e3
mov rdi, r12
mov r12d, dword [rbp + 0x13b8]
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 - 0x78]
mov qword [rbp - 0x78], rax
xor edx, edx
mov rax, qword [rsi]
mov r8d, 1
mov rcx, rsi
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 0x140023720
mov ecx, dword [rbp + 0x13b8]
xor r12d, r12d
mov rdi, qword [rbp + 0x13b0]
mov rdx, qword [rsp + 0x50]
mov r8d, dword [rbp + 0x13c0]
add ecx, dword [r13 + 0x20]
inc r8d
add rdx, 8
mov dword [rbp + 0x13b8], ecx
mov dword [rbp + 0x13c0], r8d
mov qword [rsp + 0x50], rdx
cmp r8d, dword [rdi + 0x10]
jl 0x140023700
mov rax, qword [rsi]
lea r8, [rbp - 0x38]
mov edx, dword [rbp - 0x40]
mov rcx, rsi
call qword [rax + 0x168]
mov rax, qword [rsi]
lea r8, [rbp + 0xc8]
mov edx, dword [rbp - 0x3c]
mov rcx, rsi
call qword [rax + 0x160]
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbp + 0x248]
call qword [rax + 0x158]
mov rcx, qword [rbp + 0x248]
movaps xmm7, xmmword [rsp + 0x1440]
movaps xmm6, xmmword [rsp + 0x1450]
test rcx, rcx
je 0x140023868
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
lea r8, [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
mov rcx, rsi
mov rdx, qword [rbp + 0x250]
call qword [rax + 0x118]
mov rcx, qword [rbp + 0x250]
test rcx, rcx
je 0x14002389b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
mov rcx, rsi
mov r8d, dword [rbp + 0x26c]
mov rdx, qword [rbp + 0x270]
call qword [rax + 0x120]
mov rcx, qword [rbp + 0x270]
test rcx, rcx
je 0x1400238c7
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
lea r9, [rbp + 0x278]
xor edx, edx
mov r8d, 1
mov rcx, rsi
call qword [rax + 0x40]
mov rcx, qword [rbp + 0x278]
test rcx, rcx
je 0x1400238f1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
lea r9, [rbp + 0x280]
xor edx, edx
mov r8d, 1
mov rcx, rsi
call qword [rax + 0x50]
mov rcx, qword [rbp + 0x280]
test rcx, rcx
je 0x14002391b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
lea r8, [rbp + 0x2a0]
mov r9d, dword [rbp + 0x298]
mov rcx, rsi
mov rdx, qword [rbp + 0x288]
call qword [rax + 0x48]
mov rcx, qword [rbp + 0x288]
test rcx, rcx
je 0x14002394b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov edx, dword [rbp + 0x298]
mov ebx, r12d
test edx, edx
je 0x140023981
nop dword [rax + rax]
mov eax, ebx
mov rcx, qword [rbp + rax*8 + 0x2a0]
test rcx, rcx
je 0x14002397b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov edx, dword [rbp + 0x298]
inc ebx
cmp ebx, edx
jb 0x140023960
mov rax, qword [rsi]
lea r8, [rbp + 0xaa0]
mov r9d, dword [rbp + 0x29c]
mov rcx, rsi
mov rdx, qword [rbp + 0x290]
call qword [rax + 0x58]
mov rcx, qword [rbp + 0x290]
test rcx, rcx
je 0x1400239b1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
lea r9, [rbp + 0x12b8]
xor edx, edx
mov r8d, 1
mov rcx, rsi
call qword [rax + 0x38]
mov rcx, qword [rbp + 0x12b8]
test rcx, rcx
je 0x1400239db
mov rax, qword [rcx]
call qword [rax + 0x10]
mov edx, dword [rbp + 0x29c]
test edx, edx
je 0x140023a14
nop word [rax + rax]
mov eax, r12d
mov rcx, qword [rbp + rax*8 + 0xaa0]
test rcx, rcx
je 0x140023a0c
mov rax, qword [rcx]
call qword [rax + 0x10]
mov edx, dword [rbp + 0x29c]
inc r12d
cmp r12d, edx
jb 0x1400239f0
mov rax, qword [rsi]
mov rcx, rsi
mov edx, dword [rbp + 0x12a0]
call qword [rax + 0xc0]
mov rax, qword [rsi]
mov rcx, rsi
mov r9d, dword [rbp + 0x12c0]
mov r8d, dword [rbp + 0x12cc]
mov rdx, qword [rbp + 0x12a8]
call qword [rax + 0x98]
mov rcx, qword [rbp + 0x12a8]
test rcx, rcx
je 0x140023a59
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
lea rcx, [rbp + 0x12c8]
mov qword [rsp + 0x28], rcx
lea r9, [rbp + 0x12b0]
lea rcx, [rbp + 0x12c4]
xor edx, edx
mov qword [rsp + 0x20], rcx
mov r8d, 1
mov rcx, rsi
call qword [rax + 0x90]
mov rcx, qword [rbp + 0x12b0]
test rcx, rcx
je 0x140023a9e
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbp + 0x12d0]
call qword [rax + 0x88]
mov rcx, qword [rbp + 0x12d0]
test rcx, rcx
je 0x140023ac3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r14, qword [rsp + 0x1470]
mov r13, qword [rsp + 0x1478]
mov r15, qword [rsp + 0x1468]
add rsp, 0x1480
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret