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

Disassembly:
sub esp, 0xf94
mov eax, dword [0x1008c00c]
xor eax, esp
mov dword [esp + 0xf8c], eax
push ebx
push ebp
mov ebp, ecx
xorps xmm0, xmm0
push esi
push edi
comiss xmm0, dword [ebp + 0x1c]
jae 0x10042589
comiss xmm0, dword [ebp + 0x20]
jae 0x10042589
call fcn.10040ced
mov edi, eax
mov dword [esp + 0x1c], edi
mov ebx, dword [edi + 4]
lea esi, [edi + 0xc]
mov ecx, dword [esi]
mov dword [esp + 0x20], ebx
test ecx, ecx
je 0x10041d6d
mov eax, dword [edi + 0x38]
cmp eax, dword [ebp + 0xc]
jge 0x10041dce
test ecx, ecx
je 0x10041d6d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [esi], 0
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0xf84]
mov ecx, dword [edi]
add eax, 0x1388
and dword [esp + 0xf98], 0
and dword [esp + 0xf94], 0
mov dword [edi + 0x38], eax
imul eax, eax, 0x14
push esi
push 0
mov dword [esp + 0xf90], 2
mov dword [esp + 0xf94], 1
mov dword [esp + 0xf8c], eax
mov dword [esp + 0xf98], 0x10000
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0xc]
test eax, eax
js 0x10042589
lea esi, [edi + 0x10]
mov ecx, dword [esi]
test ecx, ecx
je 0x10041dec
mov eax, dword [edi + 0x3c]
cmp eax, dword [ebp + 8]
jge 0x10041e43
test ecx, ecx
je 0x10041dec
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [esi], 0
mov eax, dword [ebp + 8]
lea edx, [esp + 0xf84]
push 2
pop ecx
add eax, 0x2710
mov dword [esp + 0xf88], ecx
mov dword [esp + 0xf8c], ecx
xorps xmm0, xmm0
mov ecx, dword [edi]
mov dword [edi + 0x3c], eax
add eax, eax
push esi
push 0
movlpd qword [esp + 0xf9c], xmm0
mov dword [esp + 0xf8c], eax
mov dword [esp + 0xf98], 0x10000
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0xc]
test eax, eax
js 0x10042589
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push ecx
push 0
push 4
push 0
push dword [edi + 0xc]
push ebx
call dword [eax + 0x38]
test eax, eax
jne 0x10042589
mov eax, dword [ebx]
lea ecx, [esp + 0x84]
push ecx
push 0
push 4
push 0
push dword [esi]
push ebx
call dword [eax + 0x38]
test eax, eax
jne 0x10042589
and dword [esp + 0x24], 0
cmp dword [ebp + 4], 0
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
jle 0x10041ef4
mov ebx, dword [esp + 0x24]
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + ebx*4]
imul eax, dword [esi + 0x18], 0x14
push eax
push dword [esi + 0x20]
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esi + 0xc]
add esp, 0xc
add eax, eax
push eax
push dword [esi + 0x14]
push dword [esp + 0x1c]
call sub.VCRUNTIME140.dll_memcpy
imul eax, dword [esi + 0x18], 0x14
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
add ecx, eax
mov eax, dword [esi + 0xc]
inc ebx
mov dword [esp + 0x18], ecx
lea edx, [edx + eax*2]
mov dword [esp + 0x14], edx
cmp ebx, dword [ebp + 4]
jl 0x10041e9f
mov ebx, dword [esp + 0x20]
lea esi, [edi + 0x10]
mov eax, dword [ebx]
push 0
push dword [edi + 0xc]
push ebx
call dword [eax + 0x3c]
mov eax, dword [ebx]
push 0
push dword [esi]
push ebx
call dword [eax + 0x3c]
mov eax, dword [ebx]
lea ecx, [esp + 0xf84]
push ecx
push 0
push 4
push 0
push dword [edi + 0x1c]
push ebx
call dword [eax + 0x38]
test eax, eax
jne 0x10042589
movss xmm6, dword [ebp + 0x14]
lea esi, [esp + 0x30]
movss xmm2, dword [0x10088580]
movaps xmm3, xmm6
addss xmm3, dword [ebp + 0x1c]
movss xmm5, dword [ebp + 0x18]
movaps xmm0, xmm2
movaps xmm4, xmm5
and dword [esp + 0x5c], eax
addss xmm4, dword [ebp + 0x20]
mov edi, dword [esp + 0xf84]
movaps xmm1, xmm3
mov dword [esp + 0x58], 0x3f000000
subss xmm1, xmm6
mov dword [esp + 0x68], 0x3f000000
push 0x10
pop ecx
mov dword [esp + 0x6c], 0x3f800000
divss xmm0, xmm1
movss dword [esp + 0x30], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x34], xmm0
movaps xmm0, xmm5
subss xmm0, xmm4
divss xmm2, xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
movaps xmm0, xmm3
movss dword [esp + 0x44], xmm2
addss xmm0, xmm6
subss xmm6, xmm3
divss xmm0, xmm6
movss dword [esp + 0x60], xmm0
movaps xmm0, xmm4
addss xmm0, xmm5
subss xmm4, xmm5
divss xmm0, xmm4
movss dword [esp + 0x64], xmm0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x1c]
xor edi, edi
mov eax, dword [ebx]
push edi
push dword [ecx + 0x1c]
push ebx
call dword [eax + 0x3c]
push 0xee8
lea eax, [esp + 0x9c]
push edi
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [esp + 0x98]
push 0x10
pop eax
push ecx
mov dword [esp + 0x98], eax
lea ecx, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [ebx]
push ecx
push ebx
call dword [eax + 0x180]
mov eax, dword [ebx]
lea ecx, [esp + 0x198]
push ecx
lea ecx, [esp + 0x98]
push ecx
push ebx
call dword [eax + 0x17c]
mov eax, dword [ebx]
lea ecx, [esp + 0x318]
push ecx
push ebx
call dword [eax + 0x178]
mov eax, dword [ebx]
lea ecx, [esp + 0x330]
push ecx
lea ecx, [esp + 0x324]
push ecx
lea ecx, [esp + 0x324]
push ecx
push ebx
call dword [eax + 0x16c]
mov eax, dword [ebx]
lea ecx, [esp + 0x334]
push ecx
lea ecx, [esp + 0x33c]
push ecx
push ebx
call dword [eax + 0x170]
mov eax, dword [ebx]
lea ecx, [esp + 0x33c]
push ecx
xor esi, esi
inc esi
push esi
push edi
push ebx
call dword [eax + 0x124]
mov eax, dword [ebx]
lea ecx, [esp + 0x340]
push ecx
push esi
push edi
push ebx
call dword [eax + 0x12c]
lea ecx, [esp + 0x350]
mov eax, 0x100
push ecx
lea ecx, [esp + 0x360]
mov dword [esp + 0x35c], eax
push ecx
mov dword [esp + 0x35c], eax
lea ecx, [esp + 0x34c]
mov dword [esp + 0x358], eax
mov eax, dword [ebx]
push ecx
push ebx
call dword [eax + 0x128]
mov eax, dword [ebx]
lea ecx, [esp + 0x354]
push ecx
lea ecx, [esp + 0x760]
push ecx
lea ecx, [esp + 0x350]
push ecx
push ebx
call dword [eax + 0x130]
mov eax, dword [ebx]
lea ecx, [esp + 0xf68]
push ecx
push esi
push edi
push ebx
call dword [eax + 0x120]
mov eax, dword [ebx]
lea ecx, [esp + 0x358]
push ecx
lea ecx, [esp + 0xb60]
push ecx
lea ecx, [esp + 0x354]
push ecx
push ebx
call dword [eax + 0x148]
mov eax, dword [ebx]
lea ecx, [esp + 0xf5c]
push ecx
push ebx
call dword [eax + 0x14c]
mov eax, dword [ebx]
lea ecx, [esp + 0xf6c]
push ecx
lea ecx, [esp + 0xf7c]
push ecx
lea ecx, [esp + 0xf68]
push ecx
push ebx
call dword [eax + 0x140]
mov eax, dword [ebx]
lea ecx, [esp + 0xf74]
push ecx
lea ecx, [esp + 0xf74]
push ecx
lea ecx, [esp + 0xf6c]
push ecx
push esi
push edi
push ebx
call dword [eax + 0x13c]
mov eax, dword [ebx]
lea ecx, [esp + 0xf7c]
push ecx
push ebx
call dword [eax + 0x138]
mov edx, ebx
mov ecx, ebp
call fcn.10041bd0
mov edx, edi
movss xmm0, dword [ebp + 0x14]
mov esi, edi
movss xmm4, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x18], esi
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x28], xmm4
mov dword [esp + 0x24], edi
cmp dword [ebp + 4], edi
jle 0x10042317
mov eax, dword [ebp + 0x10]
and dword [esp + 0x14], 0
mov edi, dword [eax + ecx*4]
cmp dword [edi], 0
jle 0x100422f9
mov ecx, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x1c], eax
mov esi, dword [edi + 8]
add esi, eax
mov eax, dword [esi + 0x24]
test eax, eax
je 0x1004222a
cmp eax, 0xffffffff
jne 0x1004221f
mov edx, ebx
mov ecx, ebp
call fcn.10041bd0
jmp 0x100422c5
push esi
push edi
call eax
pop ecx
pop ecx
jmp 0x100422c5
movss xmm3, dword [esi]
movss xmm2, dword [esi + 8]
subss xmm3, xmm0
movss xmm1, dword [esi + 4]
subss xmm2, xmm0
movss xmm0, dword [esi + 0xc]
subss xmm1, xmm4
subss xmm0, xmm4
comiss xmm3, xmm2
jae 0x100422cf
comiss xmm1, xmm0
jae 0x100422cf
cvttss2si eax, xmm3
lea ecx, [esp + 0xf84]
push ecx
push 1
push ebx
mov dword [esp + 0xf90], eax
cvttss2si eax, xmm1
mov dword [esp + 0xf94], eax
cvttss2si eax, xmm2
mov dword [esp + 0xf98], eax
cvttss2si eax, xmm0
mov dword [esp + 0xf9c], eax
mov eax, dword [ebx]
call dword [eax + 0xb4]
mov eax, dword [esi + 0x10]
lea ecx, [esp + 0x74]
push ecx
push 1
mov dword [esp + 0x7c], eax
mov eax, dword [ebx]
push 0
push ebx
call dword [eax + 0x20]
mov eax, dword [esi + 0x18]
add eax, dword [esp + 0x18]
mov ecx, dword [ebx]
push eax
mov eax, dword [esi + 0x1c]
add eax, dword [esp + 0x30]
push eax
push dword [esi + 0x20]
push ebx
call dword [ecx + 0x30]
movss xmm4, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
inc ecx
movss xmm0, dword [esp + 0x20]
add eax, 0x30
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [edi]
jl 0x10042200
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
add edx, dword [edi + 0xc]
add esi, dword [edi + 0x18]
inc ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], ecx
cmp ecx, dword [ebp + 4]
jl 0x100421e2
xor edi, edi
mov eax, dword [ebx]
lea ecx, [esp + 0x98]
push ecx
push dword [esp + 0x94]
push ebx
call dword [eax + 0xb4]
mov eax, dword [ebx]
lea ecx, [esp + 0x198]
push ecx
push dword [esp + 0x98]
push ebx
call dword [eax + 0xb0]
push dword [esp + 0x318]
mov eax, dword [ebx]
push ebx
call dword [eax + 0xac]
mov ecx, dword [esp + 0x318]
test ecx, ecx
je 0x10042368
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push dword [esp + 0x330]
mov eax, dword [ebx]
lea ecx, [esp + 0x324]
push ecx
push dword [esp + 0x324]
push ebx
call dword [eax + 0x8c]
mov ecx, dword [esp + 0x31c]
test ecx, ecx
je 0x10042398
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push dword [esp + 0x334]
mov eax, dword [ebx]
push dword [esp + 0x33c]
push ebx
call dword [eax + 0x90]
mov ecx, dword [esp + 0x338]
test ecx, ecx
je 0x100423c0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebx]
lea ecx, [esp + 0x33c]
push ecx
xor ebp, ebp
inc ebp
push ebp
push edi
push ebx
call dword [eax + 0x20]
mov ecx, dword [esp + 0x33c]
test ecx, ecx
je 0x100423e4
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebx]
lea ecx, [esp + 0x340]
push ecx
push ebp
push edi
push ebx
call dword [eax + 0x28]
mov ecx, dword [esp + 0x340]
test ecx, ecx
je 0x10042405
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push dword [esp + 0x350]
mov eax, dword [ebx]
lea ecx, [esp + 0x360]
push ecx
push dword [esp + 0x34c]
push ebx
call dword [eax + 0x24]
mov ecx, dword [esp + 0x344]
test ecx, ecx
je 0x10042432
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x350]
mov esi, edi
test eax, eax
je 0x1004245c
mov ecx, dword [esp + esi*4 + 0x35c]
test ecx, ecx
je 0x10042457
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x350]
inc esi
cmp esi, eax
jb 0x1004243f
push dword [esp + 0x354]
mov eax, dword [ebx]
lea ecx, [esp + 0x760]
push ecx
push dword [esp + 0x350]
push ebx
call dword [eax + 0x2c]
mov ecx, dword [esp + 0x348]
test ecx, ecx
je 0x10042489
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebx]
lea ecx, [esp + 0xf68]
push ecx
push ebp
push edi
push ebx
call dword [eax + 0x1c]
mov ecx, dword [esp + 0xf68]
test ecx, ecx
je 0x100424aa
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push dword [esp + 0x358]
mov eax, dword [ebx]
lea ecx, [esp + 0xb60]
push ecx
push dword [esp + 0x354]
push ebx
call dword [eax + 0x5c]
mov ecx, dword [esp + 0x34c]
test ecx, ecx
je 0x100424d7
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x354]
mov esi, edi
test eax, eax
je 0x10042501
mov ecx, dword [esp + esi*4 + 0x75c]
test ecx, ecx
je 0x100424fc
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x354]
inc esi
cmp esi, eax
jb 0x100424e4
push dword [esp + 0xf5c]
mov eax, dword [ebx]
push ebx
call dword [eax + 0x60]
push dword [esp + 0xf6c]
mov eax, dword [ebx]
push dword [esp + 0xf7c]
push dword [esp + 0xf68]
push ebx
call dword [eax + 0x4c]
mov ecx, dword [esp + 0xf60]
test ecx, ecx
je 0x1004253a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebx]
lea ecx, [esp + 0xf74]
push ecx
lea ecx, [esp + 0xf74]
push ecx
lea ecx, [esp + 0xf6c]
push ecx
push ebp
push edi
push ebx
call dword [eax + 0x48]
mov ecx, dword [esp + 0xf64]
test ecx, ecx
je 0x1004256b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push dword [esp + 0xf7c]
mov eax, dword [ebx]
push ebx
call dword [eax + 0x44]
mov ecx, dword [esp + 0xf7c]
test ecx, ecx
je 0x10042589
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0xf9c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1006dac1
add esp, 0xf94
ret