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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x100
mov esi, esp
mov dword [esi + 0xe8], ebp
mov edi, ecx
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov dword [esi + 0xec], esp
mov dword [esi + 0xf8], 0xffffffff
mov dword [esi + 0xf4], 0x10024970
mov eax, dword fs:[0]
mov dword [esi + 0xf0], eax
lea eax, [esi + 0xf0]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
movsd xmm0, qword [eax]
xor eax, eax
cmp byte [edi + 0x4c], 0
cvttps2dq xmm1, xmm0
mov dword [esi + 0xc], edi
movq xmm3, qword [edi + 0x74]
sete byte [esi + 4]
mov ebx, dword [ebp + 8]
movd edi, xmm1
test cl, 4
movdqa xmmword [esi + 0xc0], xmm1
jne 0x10023d86
mov ecx, edi
jmp 0x10023dc4
lea eax, [esi + 0x10]
push edx
push ebx
push eax
movdqa xmmword [esi + 0x50], xmm3
call fcn.10023be0
movdqa xmm3, xmmword [esi + 0x50]
xor eax, eax
mov edx, dword [ebp + 0x14]
movss xmm0, dword [esi + 0x10]
mulss xmm0, dword [0x1014776c]
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
addss xmm1, xmm0
cvttss2si ecx, xmm1
movdqa xmm1, xmmword [esi + 0xc0]
xorps xmm0, xmm0
movaps xmmword [esi + 0x10], xmm0
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
mov edi, dword [ebx + 0x10]
cmp dword [ebx + 0x14], 0x10
jb 0x10023de4
mov ebx, dword [ebx]
mov dword [esi + 0x50], ebx
test edi, edi
js 0x10024027
movzx ebx, byte [esi + 4]
mov al, bl
movd xmm0, eax
pshufd xmm2, xmm0, 0x50
pslld xmm2, 0x1f
psrad xmm2, 0x1f
movdqa xmm0, xmm1
pand xmm0, xmm2
pandn xmm2, xmm3
por xmm2, xmm0
lea ebx, [ebp + 0x10]
shl eax, 8
cmp edi, 0xf
ja 0x10023e3b
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], 0xf
mov edi, dword [esi + 0x50]
movdqu xmm0, xmmword [edi]
movdqa xmmword [esi + 0x10], xmm0
jmp 0x10023eb9
movdqa xmmword [esi + 0xd0], xmm2
mov dword [esi + 8], ecx
mov dword [esi + 4], eax
mov eax, edi
or eax, 0xf
cmp eax, 0x17
mov ebx, 0x16
cmovae ebx, eax
cmp ebx, 0xfff
jb 0x10023e7a
lea eax, [ebx + 0x24]
push eax
call fcn.100e9fad
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x10023e86
lea eax, [ebx + 1]
push eax
call fcn.100e9fad
add esp, 4
mov dword [esi + 0x10], eax
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], ebx
inc edi
push edi
push dword [esi + 0x50]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp + 0x14]
mov eax, dword [esi + 4]
movdqa xmm1, xmmword [esi + 0xc0]
mov ecx, dword [esi + 8]
lea ebx, [ebp + 0x10]
movdqa xmm2, xmmword [esi + 0xd0]
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], ecx
pshufd xmm0, xmm1, 0x55
movd dword [esi + 0x30], xmm0
movq qword [esi + 0x34], xmm2
mov dword [esi + 0x3c], eax
movzx eax, byte [ebx + 3]
shl eax, 0x18
movzx ecx, byte [ebx]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [ebx + 1]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 2]
or ecx, eax
mov dword [esi + 0x40], ecx
mov ecx, dword [ebp + 0x18]
mov eax, ecx
shr al, 1
and al, 1
mov byte [esi + 0x44], al
and cl, 1
mov byte [esi + 0x45], cl
pxor xmm0, xmm0
movdqa xmmword [esi + 0x90], xmm0
movdqa xmmword [esi + 0xa0], xmm0
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb0], 0
mov dword [esi + 0xf8], 0
push 0x38
call fcn.100e9fad
add esp, 4
mov ecx, dword [esi + 0xc]
add ecx, 0x20
lea edx, [esi + 0x28]
movsd xmm0, qword [esi + 0x20]
movsd qword [eax + 0x10], xmm0
movaps xmm0, xmmword [esi + 0x10]
movups xmmword [eax], xmm0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0xf
mov byte [esi + 0x10], 0
movdqu xmm0, xmmword [edx]
movdqu xmm1, xmmword [edx + 0xe]
movdqu xmmword [eax + 0x26], xmm1
movdqu xmmword [eax + 0x18], xmm0
mov dword [esi + 0xac], eax
mov dword [esi + 0xb0], 0x10147850
mov dword [esi + 0x60], 2
pxor xmm0, xmm0
movdqu xmmword [esi + 0x78], xmm0
movdqu xmmword [esi + 0x68], xmm0
mov edx, 0x1023d070
or edx, 1
mov dword [esi + 0x8c], edx
mov dword [esi + 0x88], 0x10147850
mov dword [esi + 0x84], eax
mov dword [esi + 0xb4], 0
mov dword [esi + 0xf8], 1
lea eax, [esi + 0x60]
push eax
call fcn.100242a0
mov eax, dword [esi + 0x8c]
and eax, 3
cmp eax, 1
je 0x10024000
cmp eax, 2
jne 0x10024011
lea eax, [esi + 0x68]
mov ecx, dword [esi + 0x88]
push eax
call dword [ecx]
jmp 0x1002400e
mov eax, dword [esi + 0x88]
push dword [esi + 0x84]
call dword [eax]
add esp, 4
mov eax, dword [esi + 0xf0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
call fcn.10018f00
nop dword [eax]
push ebp
sub esp, 0xc
lea esi, [ebp - 0xfc]
mov ebp, dword [esi + 0xe8]
lea ecx, [esi + 0x60]
call fcn.10022970
lea ecx, [esi + 0x90]
call fcn.100229b0
add esp, 0xc
pop ebp
ret