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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
mov eax, dword [0x1026500c]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
mov ebx, dword [0x10265568]
push esi
mov dword [esp + 0x18], ecx
xor esi, esi
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 0x3f34]
push edi
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x20], ecx
mov byte [eax + 0xe1], 1
mov eax, dword [ebx + 0x3f34]
cmp byte [eax + 0xe4], 0
je 0x100425ed
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.10077e95
mov esp, ebp
pop ebp
ret
push dword [ecx]
test edi, edi
lea eax, [esp + 0x3c]
cmove edi, dword [0x10084278]
push edi
push 0x40
push eax
call fcn.10004690
add esp, 0x10
cmp dword [ebx + 0x3f80], esi
jne 0x10042641
cmp byte [edi], 0
je 0x1004263c
mov ecx, edi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10042620
sub ecx, edx
mov al, byte [edi + ecx - 1]
cmp al, 0x78
je 0x10042635
cmp al, 0x58
jne 0x1004263c
mov esi, 2
jmp 0x10042641
mov esi, 1
or esi, 0x8000010
mov byte [esp + 0x13], 0
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x30], esi
jne 0x100426a5
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x30]
push 0
push 0
push esi
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x40], 0
push 0x40
push eax
xor edx, edx
mov dword [esp + 0x4c], 0
call fcn.100448c0
add esp, 0x18
test al, al
je 0x10042a0c
push edi
push dword [esp + 0x24]
lea ecx, [esp + 0x40]
call fcn.10041c00
add esp, 8
mov cl, al
jmp 0x100429cd
mov eax, dword [0x10265568]
movss xmm0, dword [eax + 0x386c]
addss xmm0, xmm0
addss xmm0, dword [eax + 0x3c9c]
movss dword [esp + 0x28], xmm0
call fcn.10015490
mov eax, dword [0x10265568]
xor edx, edx
mov esi, dword [eax + 0x3f34]
mov ecx, dword [esi + 0x11c]
mov eax, dword [esi + 0x124]
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x20]
call fcn.10004780
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [ecx + 0x3f68], eax
jne 0x10042718
push ecx
push dword [esp + 0x20]
mov edx, 0xb
mov ecx, eax
call fcn.10026b10
mov eax, dword [esp + 0x1c]
add esp, 8
mov dword [esp + 0x14], eax
lea ecx, [esi + 0x11c]
lea eax, [esp + 0x14]
push eax
call fcn.10026d20
mov ecx, dword [0x10265568]
mov edx, dword [ecx + 0x4794]
mov eax, dword [ecx + 0x3f34]
mov dword [esp + 0x14], edx
test dl, 1
je 0x10042751
movss xmm2, dword [ecx + 0x479c]
jmp 0x10042759
movss xmm2, dword [eax + 0x1d8]
movss xmm3, dword [0x1025cd5c]
xorps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x100427a1
cmp dword [eax + 0x1c8], 0
jne 0x10042780
cmp dword [ecx + 0x4b6c], 0
mov edx, 0x260
je 0x10042785
mov edx, 0x230
movss xmm0, dword [edx + eax]
subss xmm0, dword [eax + 0x128]
mov edx, dword [esp + 0x14]
addss xmm0, xmm2
movaps xmm2, xmm3
maxss xmm2, xmm0
movss xmm1, dword [esp + 0x28]
or edx, 1
addss xmm1, dword [ebx + 0x3880]
cvttss2si eax, xmm2
push 0
push 0
mov dword [ecx + 0x4794], edx
xor edx, edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
push dword [esp + 0x38]
addss xmm1, xmm1
movd xmm0, eax
lea eax, [esp + 0x20]
cvtdq2ps xmm0, xmm0
push eax
lea eax, [esp + 0x48]
push 0x40
push eax
subss xmm0, xmm1
maxss xmm3, xmm0
movss dword [ecx + 0x479c], xmm3
mov ecx, 0x1007e542
call fcn.100448c0
mov esi, dword [esp + 0x38]
add esp, 0x18
test al, al
je 0x10042824
push edi
push esi
lea ecx, [esp + 0x40]
call fcn.10041c00
add esp, 8
mov byte [esp + 0x13], al
movss xmm0, dword [ebx + 0x3868]
mov eax, dword [ebx + 0x386c]
movss xmm1, dword [ebx + 0x3880]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [ebx + 0x386c]
movss dword [esp + 0x14], xmm0
xorps xmm0, xmm0
mov dword [ebx + 0x3868], eax
call fcn.100153e0
movss xmm0, dword [esp + 0x28]
lea edx, [esp + 0x20]
push 0x2400
mov ecx, 0x1025af04
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x28], xmm0
call fcn.1003ec50
mov edi, dword [ebp + 0x10]
add esp, 4
test al, al
je 0x100428d2
cmp byte [ebx + 0xde4], 0
je 0x1004289a
mov edx, edi
test edi, edi
jne 0x1004289d
mov edx, dword [ebp + 0xc]
mov edx, dword [edx]
mov ecx, dword [esi]
test edx, edx
jle 0x100428b6
lea eax, [edx - 0x80000000]
cmp ecx, eax
jge 0x100428c9
mov ecx, 0x80000000
jmp 0x100428cb
jns 0x100428c9
lea eax, [edx + 0x7fffffff]
cmp ecx, eax
jle 0x100428c9
mov ecx, 0x7fffffff
jmp 0x100428cb
sub ecx, edx
mov dword [esi], ecx
mov byte [esp + 0x13], 1
movss xmm1, dword [ebx + 0x3880]
xorps xmm0, xmm0
call fcn.100153e0
movss xmm0, dword [esp + 0x28]
lea edx, [esp + 0x28]
push 0x2400
mov ecx, 0x1025ab5c
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x30], xmm0
call fcn.1003ec50
add esp, 4
test al, al
je 0x10042954
cmp byte [ebx + 0xde4], 0
je 0x1004291b
test edi, edi
jne 0x1004291e
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi]
mov edx, dword [esi]
test ecx, ecx
jns 0x10042938
mov eax, 0x80000000
sub eax, ecx
cmp edx, eax
jge 0x1004294a
mov eax, 0x80000000
jmp 0x1004294d
jle 0x1004294a
mov eax, 0x7fffffff
sub eax, ecx
cmp edx, eax
mov eax, 0x7fffffff
jg 0x1004294d
lea eax, [edx + ecx]
mov dword [esi], eax
mov byte [esp + 0x13], 1
mov edi, dword [esp + 0x1c]
mov esi, edi
cmp edi, 0xffffffff
jae 0x10042997
nop
mov al, byte [esi]
test al, al
je 0x10042975
cmp al, 0x23
jne 0x1004296f
cmp byte [esi + 1], al
je 0x10042975
inc esi
cmp esi, 0xffffffff
jb 0x10042960
cmp edi, esi
je 0x10042997
movss xmm1, dword [ebx + 0x3880]
xorps xmm0, xmm0
call fcn.100153e0
push 0
mov edx, esi
mov ecx, edi
call fcn.1003d840
add esp, 4
movss xmm0, dword [esp + 0x30]
mov eax, dword [0x10265568]
movss dword [ebx + 0x3868], xmm0
movss xmm0, dword [esp + 0x14]
movss dword [ebx + 0x386c], xmm0
mov eax, dword [eax + 0x3f34]
dec dword [eax + 0x11c]
call fcn.100155c0
mov cl, byte [esp + 0x13]
test cl, cl
je 0x10042a10
mov eax, dword [0x10265568]
mov edx, dword [eax + 0x3f80]
cmp edx, dword [ebx + 0x47ac]
je 0x100429e8
test edx, edx
jne 0x100429f1
mov word [eax + 0x3f90], 0x101
or dword [eax + 0x47b4], 4
mov al, cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.10077e95
mov esp, ebp
pop ebp
ret
mov cl, byte [esp + 0x13]
pop edi
mov al, cl
mov ecx, dword [esp + 0x78]
pop esi
pop ebx
xor ecx, esp
call fcn.10077e95
mov esp, ebp
pop ebp
ret