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

Disassembly:
mov rax, rsp
push r12
sub rsp, 0xa0
mov qword [rax + 0x10], rbx
xor r12d, r12d
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
movabs rsi, 0xd80958fc74e988a6
mov qword [rax - 0x10], rdi
mov qword [rax - 0x18], r13
mov r13, rcx
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
movaps xmmword [rax - 0x38], xmm6
cmp byte [rcx], r12b
je 0x1800238af
call fcn.180023700
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
lea edx, [r12 + 0x41]
lea r8d, [r12 + 1]
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.180029b00
cmp byte [r13 + 4], r12b
je 0x18002391d
call fcn.180023700
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180023700
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], 0x3a83126f
movabs rcx, 0x364df566ec833de2
inc dword [rax + 8]
call fcn.1800235a0
call fcn.180023700
cmp byte [r13 + 5], r12b
je 0x18002392d
mov edx, 0x16
call fcn.180029a80
cmp byte [r13 + 8], r12b
je 0x18002399b
call fcn.180023700
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180023700
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], 1
movabs rcx, 0x428ca6dbd1094446
inc dword [rax + 8]
call fcn.1800235a0
call fcn.180023700
movzx edx, byte [r13 + 0xf]
mov rcx, r13
call fcn.18002a160
movzx edx, byte [r13 + 0x14]
call fcn.18002a940
movss xmm2, dword [r13 + 0x1c]
movzx edx, byte [r13 + 0x18]
call fcn.18002ad60
movss xmm6, dword [r13 + 0x24]
cmp byte [r13 + 0x20], r12b
je 0x180023a34
call fcn.180023700
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180023700
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
movss dword [rcx + rdx*8], xmm6
movabs rcx, 0x85bf80fa50a39d1
inc dword [rax + 8]
call fcn.1800235a0
call fcn.180023700
movss xmm6, dword [r13 + 0x2c]
cmp byte [r13 + 0x28], r12b
je 0x180023aa6
call fcn.180023700
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180023700
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
movss dword [rcx + rdx*8], xmm6
movabs rcx, 0xb3e35ac043707d9
inc dword [rax + 8]
call fcn.1800235a0
call fcn.180023700
cmp byte [r13 + 0x30], r12b
je 0x180023b9e
movss xmm0, dword [0x180129794]
mov r9d, 0x49d9
movd xmm6, dword [r13 + 0x70]
movaps xmmword [rsp + 0x60], xmm7
movd xmm7, dword [r13 + 0x6c]
movaps xmmword [rsp + 0x50], xmm8
movd xmm8, dword [r13 + 0x68]
cvtdq2ps xmm6, xmm6
cvtdq2ps xmm7, xmm7
divss xmm6, xmm0
divss xmm7, xmm0
movss dword [rsp + 0x40], xmm6
cvtdq2ps xmm8, xmm8
movss dword [rsp + 0x38], xmm7
divss xmm8, xmm0
movss xmm0, dword [r13 + 0x34]
movss dword [rsp + 0x30], xmm8
movss dword [rsp + 0x20], xmm0
call fcn.180029f30
movss xmm0, dword [r13 + 0x34]
mov r9d, 0xdead
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x30], xmm8
movss dword [rsp + 0x20], xmm0
call fcn.180029f30
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
cmp byte [r13 + 0x31], r12b
je 0x180023b9e
mov ecx, dword [r13 + 0x68]
mov eax, ecx
test ecx, ecx
jle 0x180023b6c
cmp dword [r13 + 0x70], r12d
jne 0x180023b6c
inc dword [r13 + 0x6c]
lea eax, [rcx - 1]
mov dword [r13 + 0x68], eax
mov ecx, dword [r13 + 0x6c]
mov edx, ecx
test ecx, ecx
jle 0x180023b85
test eax, eax
jne 0x180023b85
inc dword [r13 + 0x70]
lea edx, [rcx - 1]
mov dword [r13 + 0x6c], edx
mov ecx, dword [r13 + 0x70]
test ecx, ecx
jle 0x180023b9e
test edx, edx
jne 0x180023b9e
inc eax
mov dword [r13 + 0x68], eax
lea eax, [rcx - 1]
mov dword [r13 + 0x70], eax
cmp byte [r13 + 0x38], r12b
je 0x180023c0c
call fcn.180023700
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180023700
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], 1
movabs rcx, 0x3882114bde571ad4
inc dword [rax + 8]
call fcn.1800235a0
call fcn.180023700
cmp byte [r13 + 0x39], r12b
je 0x180023ce4
call fcn.180023700
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180023700
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
movabs rcx, 0x15d757606d170c3c
inc dword [rax + 8]
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
mov edi, dword [rcx]
call fcn.180023700
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180023700
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], edi
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r12d
movabs rcx, 0x6b76dc1f3ae6e6a3
inc dword [rax + 8]
call fcn.1800235a0
call fcn.180023700
movzx edx, byte [r13 + 0x3a]
call fcn.18002af60
cmp byte [r13 + 0x3b], r12b
je 0x180023d7f
mov rbx, qword [0x1801e52c8]
mov rax, qword [rbx + 0x48]
mov rax, qword [rax]
test rax, rax
je 0x180023d1d
mov rax, qword [rax + 8]
test rax, rax
je 0x180023d1d
mov rcx, qword [rax + 0x10a8]
jmp 0x180023d20
mov rcx, r12
mov dword [rcx + 0x8d8], r12d
mov rax, qword [rbx + 0x48]
mov rax, qword [rax]
test rax, rax
je 0x180023d45
mov rax, qword [rax + 8]
test rax, rax
je 0x180023d45
mov rcx, qword [rax + 0x10a8]
jmp 0x180023d48
mov rcx, r12
mov byte [rcx + 0x8d0], r12b
mov rcx, qword [rbx + 0xf8]
mov r8, qword [rcx + 0x20]
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rcx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbx + 0x100]
mov r8, qword [rcx + 0x20]
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rcx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov r8d, dword [r13 + 0x60]
movzx edx, byte [r13 + 0x3c]
call fcn.18002b240
movzx edx, byte [r13 + 0x3d]
call fcn.18002b470
cmp byte [r13 + 0x3e], r12b
je 0x180023dcf
mov rax, qword [0x1801e52c8]
mov rcx, qword [rax + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x180023dc2
mov rax, qword [rax + 8]
test rax, rax
je 0x180023dc2
mov rax, qword [rax + 0x10a8]
jmp 0x180023dc5
mov rax, r12
mov dword [rax + 0xd44], 0x42c80000
movzx edx, byte [r13 + 0x3f]
call fcn.18002b640
movabs rbx, 0x4f8644af03d0e0d6
movabs rdi, 0x7a5487fe9faa6b48
cmp byte [r13 + 0x40], r12b
je 0x180023e8a
call fcn.180023700
mov rcx, rbx
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
movsxd rax, dword [rcx]
imul rdx, rax, 0x1d2
mov rax, qword [0x1801e52c8]
add rdx, 0x288e08
mov rcx, rdx
and edx, 0x3ffff
shr rcx, 0x12
mov rax, qword [rax + 0x80]
and ecx, 0x3f
mov rax, qword [rax + rcx*8]
mov dword [rax + rdx*8], 1
call fcn.180023700
mov rcx, rdi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov r8, qword [0x1801e52c8]
mov rcx, qword [rax]
mov rax, qword [r8 + 0x80]
mov edx, dword [rcx]
mov rcx, qword [rax + 0x50]
add edx, 0x3c
mov dword [rcx + 0x63d90], edx
jmp 0x180023e91
mov r8, qword [0x1801e52c8]
cmp byte [r13 + 0x41], r12b
je 0x180023ee6
mov rax, qword [r8 + 0x80]
mov rcx, qword [rax + 0x50]
mov dword [rcx + 0x158420], 1
call fcn.180023700
mov rcx, rdi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
mov rax, qword [0x1801e52c8]
mov edx, dword [rcx]
mov rcx, qword [rax + 0x80]
add edx, 0x3c
mov rax, qword [rcx + 0x50]
mov dword [rax + 0x158438], edx
cmp byte [r13 + 0x42], r12b
je 0x180023f83
call fcn.180023700
mov rcx, rbx
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
movsxd rax, dword [rcx]
imul r8, rax, 0x1d2
mov rax, qword [0x1801e52c8]
add r8, 0x288e0b
mov rdx, r8
and r8d, 0x3ffff
shr rdx, 0x12
mov rax, qword [rax + 0x80]
and edx, 0x3f
mov rax, qword [rax + rdx*8]
mov dword [rax + r8*8], 1
call fcn.180023700
mov rcx, rdi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
mov rax, qword [0x1801e52c8]
mov edx, dword [rcx]
mov rcx, qword [rax + 0x80]
add edx, 0x3c
mov rax, qword [rcx + 0x50]
mov dword [rax + 0x63d98], edx
cmp byte [r13 + 0x43], r12b
je 0x18002401d
call fcn.180023700
mov rcx, rbx
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
movsxd rax, dword [rcx]
imul rdx, rax, 0x35e
mov rax, qword [0x1801e52c8]
add rdx, 0x1c4d17
mov rcx, rdx
and edx, 0x3ffff
shr rcx, 0x12
mov rax, qword [rax + 0x80]
and ecx, 0x3f
mov rax, qword [rax + rcx*8]
mov dword [rax + rdx*8], 0xffffffff
call fcn.180023700
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180023700
movabs rcx, 0x18f621f7a5b1f85d
mov r8d, dword [rax + 8]
mov rdx, qword [rax + 0x10]
mov dword [rdx + r8*8], 1
inc dword [rax + 8]
call fcn.1800235a0
call fcn.180023700
cmp byte [r13 + 0x44], r12b
je 0x1800240b5
call fcn.180023700
mov rcx, rbx
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
movsxd rax, dword [rcx]
imul rdx, rax, 0x35e
mov rax, qword [0x1801e52c8]
add rdx, 0x1c4d17
mov rcx, rdx
and edx, 0x3ffff
shr rcx, 0x12
mov rax, qword [rax + 0x80]
and ecx, 0x3f
mov rax, qword [rax + rcx*8]
mov dword [rax + rdx*8], 0xffffffff
call fcn.180023700
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], 1
movabs rcx, 0x7e08924259e08ce0
inc dword [rax + 8]
call fcn.1800235a0
call fcn.180023700
movzx edx, byte [r13 + 0x45]
call fcn.18002b940
cmp byte [r13 + 0x46], r12b
je 0x180024141
mov eax, dword [0x1801e59d8]
add eax, 0xc
mov dword [0x1801e59d8], eax
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call fcn.180023700
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180023700
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
movss dword [rcx + rdx*8], xmm6
movabs rcx, 0x8e2530aa8ada980e
inc dword [rax + 8]
call fcn.1800235a0
call fcn.180023700
movzx r15d, byte [r13 + 0xd]
movzx r14d, byte [r13 + 0xc]
movzx ebp, byte [r13 + 0xb]
movzx esi, byte [r13 + 0xa]
movzx edi, byte [r13 + 9]
call fcn.180023700
movabs rcx, 0xd80958fc74e988a6
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800235a0
call fcn.180023700
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180023700
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], edi
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], esi
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebp
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r14d
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r15d
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r12d
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r12d
inc dword [rax + 8]
call fcn.180023700
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r12d
movabs rcx, 0xfaee099c6f890bb8
inc dword [rax + 8]
call fcn.1800235a0
call fcn.180023700
cmp byte [r13 + 0xe], r12b
mov r13, qword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0x70]
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xb8]
je 0x1800242b5
mov rax, qword [0x1801e52c8]
mov rcx, qword [rax + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x1800242a4
mov rax, qword [rax + 8]
jmp 0x1800242a7
mov rax, r12
mov rax, qword [rax + 0x10a0]
mov dword [rax + 0x278], r12d
add rsp, 0xa0
pop r12
ret