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

Disassembly:
sub esp, 0x6c
push ebx
push ebp
push esi
mov esi, dword [0x100b7d54]
mov ebx, ecx
push edi
mov byte [esp + 0x17], dl
mov dword [esp + 0x4c], ebx
mov eax, dword [esi + 0x124c]
mov byte [eax + 0xb0], 1
mov edi, dword [esi + 0x124c]
cmp byte [edi + 0xb3], 0
jne 0x100494bb
mov ecx, dword [edi + 0xec]
xor edx, edx
mov eax, dword [edi + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, ebx
call fcn.100197e0
add esp, 4
mov ebp, eax
mov dword [esp + 0x1c], ebp
mov ecx, ebx
cmp ebx, 0xffffffff
jae 0x10048e56
mov dl, byte [ecx]
test dl, dl
je 0x10048e56
cmp dl, 0x23
jne 0x10048e50
cmp byte [ecx + 1], dl
je 0x10048e56
inc ecx
cmp ecx, 0xffffffff
jb 0x10048e40
movss xmm1, dword [esi + 0xfb4]
xorps xmm0, xmm0
cmp ebx, ecx
jne 0x10048e6a
xorps xmm2, xmm2
jmp 0x10048eb3
movss xmm3, dword [0x100a7114]
lea eax, [esp + 0x44]
push 0
push ecx
push ebx
push ecx
mov ecx, dword [esi + 0xfb0]
movaps xmm2, xmm1
mov dword [esp], 0xbf800000
push eax
call fcn.1003c390
movss xmm0, dword [esp + 0x44]
addss xmm0, dword [0x100a6fc0]
movss xmm1, dword [esp + 0x48]
cvttss2si eax, xmm0
xorps xmm0, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mov ebx, dword [esp + 0x84]
movss dword [esp + 0x54], xmm1
movss dword [esp + 0x50], xmm2
movss xmm3, dword [ebx + 4]
ucomiss xmm3, xmm0
movss dword [esp + 0x40], xmm3
lahf
test ah, 0x44
jp 0x10048ee3
movaps xmm3, xmm1
movss dword [esp + 0x40], xmm1
movss xmm1, dword [ebx]
ucomiss xmm1, xmm0
movss dword [esp + 0x30], xmm1
lahf
test ah, 0x44
jp 0x10048eff
movaps xmm1, xmm2
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x20], xmm1
lea ecx, [esp + 0x20]
movss xmm1, dword [edi + 0xf8]
movss dword [esp + 0x28], xmm1
movss xmm1, dword [edi + 0xfc]
addss xmm1, dword [edi + 0x130]
movss dword [esp + 0x24], xmm3
movss dword [esp + 0x44], xmm1
xorps xmm1, xmm1
call fcn.10027530
mov ecx, dword [esp + 0x80]
mov edx, ecx
movss xmm2, dword [esp + 0x28]
shr edx, 1
and dl, 1
mov dword [esp + 0x20], edx
je 0x10048f67
movss xmm6, dword [edi + 0x20c]
movss xmm1, dword [edi + 0x214]
jmp 0x10048f72
movss xmm1, dword [edi + 0x204]
movaps xmm6, xmm2
movss xmm0, dword [ebx]
xorps xmm4, xmm4
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x10048f8a
test ecx, 0x1000000
je 0x10048f9a
movss xmm5, dword [esp + 0x50]
subss xmm1, xmm6
maxss xmm5, xmm1
jmp 0x10048fa0
movss xmm5, dword [esp + 0x30]
movss xmm0, dword [esp + 0x44]
addss xmm5, xmm6
movss dword [esp + 0x60], xmm2
movaps xmm7, xmm0
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x68], xmm6
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x58], xmm5
movss dword [esp + 0x70], xmm5
addss xmm7, dword [esp + 0x40]
movss dword [esp + 0x5c], xmm7
movss dword [esp + 0x74], xmm7
test ecx, 0x4000000
jne 0x10049061
test dl, dl
jne 0x10048ff7
movss xmm4, dword [esi + 0xbb4]
movss xmm3, dword [esi + 0xbb8]
movaps xmm0, xmm4
mulss xmm0, dword [0x100a6f8c]
movss xmm1, dword [esp + 0x44]
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x100a6f8c]
movd xmm2, eax
cvttss2si eax, xmm0
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm4, xmm2
subss xmm3, xmm0
subss xmm6, xmm2
subss xmm1, xmm0
addss xmm4, xmm5
addss xmm3, xmm7
movss dword [esp + 0x68], xmm6
movss dword [esp + 0x6c], xmm1
movss dword [esp + 0x70], xmm4
movss dword [esp + 0x74], xmm3
movss xmm0, dword [edi + 0x21c]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [edi + 0x224]
movss dword [esp + 0x30], xmm0
test dl, dl
je 0x10049099
mov eax, dword [edi + 0x20c]
mov dword [edi + 0x21c], eax
mov eax, dword [edi + 0x214]
mov dword [edi + 0x224], eax
mov eax, ecx
mov edx, ebp
shr eax, 3
lea ecx, [esp + 0x68]
and eax, 0xffffff01
mov dword [esp + 0x44], eax
movzx eax, al
shl eax, 2
push eax
push 0
call fcn.10027280
mov cl, al
add esp, 8
mov eax, dword [esp + 0x20]
test al, al
je 0x100490e4
movss xmm0, dword [esp + 0x40]
movss dword [edi + 0x21c], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [edi + 0x224], xmm0
test cl, cl
je 0x100494bb
mov ebx, dword [esi + 0x1b98]
shr ebx, 2
and ebx, 0xffffff01
cmp byte [esp + 0x44], 0
mov dword [esp + 0x40], ebx
je 0x10049113
test bl, bl
jne 0x10049113
call fcn.10024f50
mov eax, dword [esp + 0x20]
test al, al
je 0x1004914d
cmp dword [esi + 0x1f98], 0
je 0x10049127
call fcn.1003d980
jmp 0x10049135
cmp dword [edi + 0x198], 0
je 0x10049135
call fcn.1003e630
or dword [esi + 0x1bc8], 0x200
movups xmm0, xmmword [edi + 0x21c]
movups xmmword [esi + 0x1bfc], xmm0
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0x80]
mov eax, ebp
shr ecx, 3
and ecx, 0x20000
mov edx, ecx
or edx, 0x100000
test dword [esp + 0x80], 0x8000000
cmove edx, ecx
mov ecx, edx
or ecx, 0x10
test ebp, 0x400000
cmove ecx, edx
mov edx, ecx
or edx, 0x80
test ebp, 0x800000
cmove edx, ecx
mov ecx, edx
or ecx, 0x120
test al, 4
cmove ecx, edx
test byte [esp + 0x80], 0x10
jne 0x100491be
test dword [esi + 0x1bc4], 0x200
je 0x100491c4
or ecx, 0x1000
mov al, byte [esp + 0x17]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x1a], al
lea eax, [esp + 0x1b]
push ecx
push eax
lea eax, [esp + 0x21]
push eax
lea ecx, [esp + 0x74]
call fcn.1003f350
mov dl, byte [esp + 0x25]
mov dh, al
mov eax, dword [esp + 0x8c]
add esp, 0xc
mov byte [esp + 0x18], dh
test eax, 0x200000
je 0x1004922b
mov ebp, dword [esi + 0x1d20]
test ebp, ebp
je 0x1004922b
mov ecx, dword [esi + 0x1d24]
cmp ecx, dword [esi + 0x1b94]
mov ecx, dword [esp + 0x1c]
jne 0x1004922f
cmp ebp, ecx
jne 0x1004922f
mov dh, 1
mov byte [esp + 0x18], dh
mov byte [esp + 0x17], dh
jmp 0x10049246
mov ecx, dword [esp + 0x1c]
test dh, dh
jne 0x10049246
test dl, dl
je 0x10049307
test eax, 0x2000000
je 0x10049303
cmp byte [esi + 0x1d4b], 0
jne 0x100492e1
cmp dword [esi + 0x1cf0], edi
jne 0x100492e1
mov eax, dword [edi + 0x150]
cmp dword [esi + 0x1d38], eax
jne 0x100492e1
movss xmm1, dword [edi + 0x108]
lea edx, [esp + 0x30]
movss xmm0, dword [esp + 0x68]
movss xmm2, dword [edi + 0x10c]
subss xmm0, xmm1
push edx
push dword [esi + 0x1b94]
mov edx, eax
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x74]
subss xmm0, xmm2
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x78]
subss xmm0, xmm1
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x7c]
subss xmm0, xmm2
movss dword [esp + 0x44], xmm0
call fcn.10029010
mov dl, byte [esp + 0x21]
add esp, 8
mov dh, byte [esp + 0x18]
mov byte [esi + 0x1d4a], 1
test dh, dh
je 0x100492f2
mov ecx, dword [esp + 0x1c]
call fcn.1001c950
mov dl, byte [esp + 0x19]
mov al, byte [esp + 0x17]
cmp al, byte [esp + 0x1a]
je 0x10049303
or dword [esi + 0x1bc8], 8
test dl, dl
jne 0x1004930e
cmp byte [esp + 0x17], 0
je 0x10049388
cmp byte [esp + 0x1b], 0
je 0x10049320
test dl, dl
je 0x10049320
mov ebx, 0x1a
jmp 0x1004932a
xor ebx, ebx
test dl, dl
setne bl
add ebx, 0x18
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
movss xmm1, dword [0x100a6fc8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x28], eax
mov eax, dword [0x100b7d54]
push 0
push ecx
mov dword [esp + 0x3c], ecx
mov ecx, ebx
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x124c]
mov dword [esp], 0
call fcn.1001a410
mov ecx, dword [edx + 0x270]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.10038ac0
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
cmp dword [esi + 0x1cf4], eax
jne 0x100493a4
push 0xa
mov edx, eax
lea ecx, [esp + 0x6c]
call fcn.1001b5c0
add esp, 4
cmp byte [esp + 0x20], 0
je 0x100493c9
cmp dword [esi + 0x1f98], 0
je 0x100493bb
call fcn.1003da40
jmp 0x100493c9
cmp dword [edi + 0x198], 0
je 0x100493c9
call fcn.1003e6e0
lea eax, [esp + 0x68]
push eax
lea eax, [esi + 0xc10]
push eax
lea eax, [esp + 0x58]
push eax
push 0
push dword [esp + 0x5c]
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x74]
call fcn.1001aae0
add esp, 0x14
cmp byte [esp + 0x18], 0
je 0x1004949f
test dword [edi + 0xc], 0x4000000
je 0x1004949f
test byte [esp + 0x80], 1
jne 0x1004949f
test byte [esi + 0x1bc4], 0x20
jne 0x1004949f
mov edi, dword [0x100b7d54]
mov ecx, dword [edi + 0x1ccc]
sub ecx, 1
js 0x1004949f
cmp ecx, dword [edi + 0x1cc0]
jge 0x1004949f
mov eax, dword [edi + 0x1cd4]
lea edx, [ecx + ecx*4]
mov esi, dword [edi + 0x1cc8]
shl edx, 3
mov eax, dword [edx + eax]
cmp eax, dword [esi + edx]
jne 0x1004949f
test ecx, ecx
jle 0x10049487
lea eax, [esi - 0x24]
add eax, edx
nop
mov esi, dword [eax + 0x28]
mov edx, dword [eax]
test esi, esi
je 0x10049487
test dword [esi + 0xc], 0x10000000
je 0x10049487
test edx, edx
je 0x10049487
test dword [edx + 0xc], 0x400
jne 0x10049487
dec ecx
sub eax, 0x28
test ecx, ecx
jg 0x10049460
mov dl, 1
call fcn.10028770
mov eax, dword [edi + 0x1cf0]
test eax, eax
je 0x1004949f
mov byte [eax + 0x159], 1
cmp byte [esp + 0x44], 0
je 0x100494af
test bl, bl
jne 0x100494af
call fcn.10024fb0
mov al, byte [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x6c
ret