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

Disassembly:
sub esp, 0x6c
push ebx
push ebp
push esi
mov esi, dword [0x100ae168]
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 0x1004362e
mov ecx, dword [edi + 0xec]
xor edx, edx
mov eax, dword [edi + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, ebx
call fcn.10013b60
add esp, 4
mov dword [esp + 0x1c], eax
mov ecx, ebx
cmp ebx, 0xffffffff
jae 0x10042fd6
nop
mov dl, byte [ecx]
test dl, dl
je 0x10042fd6
cmp dl, 0x23
jne 0x10042fd0
cmp byte [ecx + 1], dl
je 0x10042fd6
inc ecx
cmp ecx, 0xffffffff
jb 0x10042fc0
movss xmm1, dword [esi + 0xfb4]
xorps xmm0, xmm0
cmp ebx, ecx
jne 0x10042fea
xorps xmm2, xmm2
jmp 0x10043033
movss xmm3, dword [0x100a0fd4]
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.10036630
movss xmm0, dword [esp + 0x44]
addss xmm0, dword [0x100a0e80]
movss xmm1, dword [esp + 0x48]
cvttss2si eax, xmm0
xorps xmm0, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mov ebp, dword [esp + 0x84]
movss dword [esp + 0x54], xmm1
movss dword [esp + 0x50], xmm2
movss xmm3, dword [ebp + 4]
ucomiss xmm3, xmm0
movss dword [esp + 0x40], xmm3
lahf
test ah, 0x44
jp 0x10043063
movaps xmm3, xmm1
movss dword [esp + 0x40], xmm1
movss xmm1, dword [ebp]
ucomiss xmm1, xmm0
movss dword [esp + 0x30], xmm1
lahf
test ah, 0x44
jp 0x10043080
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]
movss dword [esp + 0x5c], xmm1
addss xmm1, dword [edi + 0x130]
movss dword [esp + 0x24], xmm3
movss dword [esp + 0x44], xmm1
xorps xmm1, xmm1
call fcn.100218a0
mov ebx, dword [esp + 0x80]
mov ecx, ebx
movss xmm2, dword [esp + 0x28]
shr ecx, 1
and cl, 1
mov dword [esp + 0x20], ecx
je 0x100430ee
movss xmm6, dword [edi + 0x20c]
movss xmm1, dword [edi + 0x214]
jmp 0x100430f9
movss xmm1, dword [edi + 0x204]
movaps xmm6, xmm2
movss xmm0, dword [ebp]
xorps xmm4, xmm4
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x10043112
test ebx, 0x1000000
je 0x10043122
movss xmm5, dword [esp + 0x50]
subss xmm1, xmm6
maxss xmm5, xmm1
jmp 0x10043128
movss xmm5, dword [esp + 0x30]
movss xmm7, dword [esp + 0x44]
addss xmm5, xmm6
movss dword [esp + 0x60], xmm2
movaps xmm0, xmm7
movss dword [esp + 0x64], xmm7
movss dword [esp + 0x68], xmm6
movss dword [esp + 0x6c], xmm7
movss dword [esp + 0x58], xmm5
movss dword [esp + 0x70], xmm5
addss xmm0, dword [esp + 0x40]
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x74], xmm0
test ebx, 0x4000000
jne 0x100431eb
test cl, cl
jne 0x10043185
movss xmm4, dword [esi + 0xbb4]
movss xmm3, dword [esi + 0xbb8]
movaps xmm0, xmm4
mulss xmm0, dword [0x100a0e4c]
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x100a0e4c]
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 xmm7, xmm0
addss xmm4, xmm5
addss xmm3, dword [esp + 0x44]
movss dword [esp + 0x68], xmm6
movss dword [esp + 0x6c], xmm7
movss dword [esp + 0x70], xmm4
movss dword [esp + 0x74], xmm3
movss xmm0, dword [edi + 0x21c]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [edi + 0x224]
movss dword [esp + 0x30], xmm0
test cl, cl
je 0x10043223
mov eax, dword [edi + 0x20c]
mov dword [edi + 0x21c], eax
mov eax, dword [edi + 0x214]
mov dword [edi + 0x224], eax
mov ebp, dword [esp + 0x1c]
lea ecx, [esp + 0x68]
mov eax, ebx
mov edx, ebp
shr eax, 3
and eax, 0xffffff01
mov dword [esp + 0x40], eax
movzx eax, al
shl eax, 2
push eax
push 0
call fcn.100215f0
add esp, 8
cmp byte [esp + 0x20], 0
je 0x1004326f
movss xmm0, dword [esp + 0x44]
movss dword [edi + 0x21c], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [edi + 0x224], xmm0
test al, al
je 0x1004362e
mov eax, dword [esi + 0x1b98]
shr eax, 2
and eax, 0xffffff01
cmp byte [esp + 0x40], 0
mov dword [esp + 0x44], eax
je 0x10043299
test al, al
jne 0x10043299
call fcn.1001f2c0
cmp byte [esp + 0x20], 0
je 0x100432d6
cmp dword [esi + 0x1f98], 0
je 0x100432b0
call fcn.10037c20
jmp 0x100432be
cmp dword [edi + 0x198], 0
je 0x100432be
call fcn.100388a0
or dword [esi + 0x1bc8], 0x200
movups xmm0, xmmword [edi + 0x21c]
movups xmmword [esi + 0x1bfc], xmm0
mov ecx, ebx
shr ecx, 3
and ecx, 0x20000
mov edx, ecx
or edx, 0x100000
test ebx, 0x8000000
cmove edx, ecx
mov ecx, edx
or ecx, 0x10
test ebx, 0x400000
cmove ecx, edx
mov edx, ecx
or edx, 0x80
test ebx, 0x800000
cmove edx, ecx
mov ecx, edx
or ecx, 0x120
test bl, 4
cmove ecx, edx
test bl, 0x10
jne 0x10043330
test dword [esi + 0x1bc4], 0x200
je 0x10043336
or ecx, 0x1000
mov al, byte [esp + 0x17]
mov edx, ebp
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.100395a0
mov dl, byte [esp + 0x25]
add esp, 0xc
mov byte [esp + 0x18], al
test ebx, 0x200000
je 0x10043391
mov ebp, dword [esi + 0x1d20]
test ebp, ebp
je 0x10043391
mov ecx, dword [esi + 0x1d24]
cmp ecx, dword [esi + 0x1b94]
jne 0x10043391
cmp ebp, dword [esp + 0x1c]
jne 0x10043391
mov al, 1
mov byte [esp + 0x18], al
mov byte [esp + 0x17], al
jmp 0x100433a9
test al, al
jne 0x100433a9
test dl, dl
je 0x10043478
test ebx, 0x2000000
je 0x10043474
cmp byte [esi + 0x1d4b], 0
jne 0x10043450
cmp dword [esi + 0x1cf0], edi
jne 0x10043450
mov ecx, dword [edi + 0x150]
mov ebp, dword [esp + 0x1c]
cmp dword [esi + 0x1d38], ecx
jne 0x10043454
movss xmm1, dword [edi + 0x108]
lea eax, [esp + 0x30]
movss xmm0, dword [esp + 0x68]
mov edx, ecx
movss xmm2, dword [edi + 0x10c]
subss xmm0, xmm1
push eax
push dword [esi + 0x1b94]
mov ecx, ebp
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.10023400
mov dl, byte [esp + 0x21]
add esp, 8
mov al, byte [esp + 0x18]
mov byte [esi + 0x1d4a], 1
jmp 0x10043454
mov ebp, dword [esp + 0x1c]
test al, al
je 0x10043463
mov ecx, ebp
call fcn.10016bc0
mov dl, byte [esp + 0x19]
mov al, byte [esp + 0x17]
cmp al, byte [esp + 0x1a]
je 0x10043474
or dword [esi + 0x1bc8], 8
test dl, dl
jne 0x10043483
cmp byte [esp + 0x17], 0
je 0x10043500
cmp byte [esp + 0x1b], 0
je 0x10043495
test dl, dl
je 0x10043495
mov ebx, 0x1a
jmp 0x1004349f
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 [0x100a0e88]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x28], eax
mov eax, dword [0x100ae168]
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.10014780
mov ecx, dword [edx + 0x270]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.10032d40
mov ebx, dword [esp + 0x80]
mov eax, dword [esp + 0x1c]
cmp dword [esi + 0x1cf4], eax
jne 0x1004351c
push 0xa
mov edx, eax
lea ecx, [esp + 0x6c]
call fcn.100157f0
add esp, 4
cmp byte [esp + 0x20], 0
je 0x10043541
cmp dword [esi + 0x1f98], 0
je 0x10043533
call fcn.10037ce0
jmp 0x10043541
cmp dword [edi + 0x198], 0
je 0x10043541
call fcn.10038950
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.10014e40
add esp, 0x14
cmp byte [esp + 0x18], 0
je 0x1004360f
test dword [edi + 0xc], 0x4000000
je 0x1004360f
test bl, 1
jne 0x1004360f
test byte [esi + 0x1bc4], 0x20
jne 0x1004360f
mov edi, dword [0x100ae168]
mov ecx, dword [edi + 0x1ccc]
sub ecx, 1
js 0x1004360f
cmp ecx, dword [edi + 0x1cc0]
jge 0x1004360f
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 0x1004360f
test ecx, ecx
jle 0x100435f7
lea eax, [esi - 0x24]
add eax, edx
nop
mov esi, dword [eax + 0x28]
mov edx, dword [eax]
test esi, esi
je 0x100435f7
test dword [esi + 0xc], 0x10000000
je 0x100435f7
test edx, edx
je 0x100435f7
test dword [edx + 0xc], 0x400
jne 0x100435f7
dec ecx
sub eax, 0x28
test ecx, ecx
jg 0x100435d0
mov dl, 1
call fcn.10022b30
mov eax, dword [edi + 0x1cf0]
test eax, eax
je 0x1004360f
mov byte [eax + 0x159], 1
cmp byte [esp + 0x40], 0
je 0x10043622
cmp byte [esp + 0x44], 0
jne 0x10043622
call fcn.1001f320
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