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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov eax, 0x6aa060
cmp byte [eax], 0
je 0x42e82a
inc ecx
add eax, 0xc
mov dword [ebp - 0x1c], ecx
cmp eax, 0x6aa0d8
jl 0x42e810
or eax, 0xffffffff
mov esp, ebp
pop ebp
ret
cmp ecx, 0xffffffff
jne 0x42e835
or eax, ecx
mov esp, ebp
pop ebp
ret
push esi
push edi
lea eax, [ecx + ecx*2]
push ecx
mov dword [ebp - 0x10], eax
xor esi, esi
call fcn.0042ddb0
mov ecx, dword [0x742640]
mov edi, dword [ebp + 8]
add esp, 4
add ecx, 0xb1
mov edx, 0x100
lea esp, [esp]
cmp byte [ecx - 0xb1], 0
je 0x42e875
movzx eax, byte [ecx - 0xb0]
cmp eax, edi
jne 0x42e875
inc esi
cmp byte [ecx - 0x59], 0
je 0x42e884
movzx eax, byte [ecx - 0x58]
cmp eax, edi
jne 0x42e884
inc esi
cmp byte [ecx - 1], 0
je 0x42e892
movzx eax, byte [ecx]
cmp eax, edi
jne 0x42e892
inc esi
cmp byte [ecx + 0x57], 0
je 0x42e8a1
movzx eax, byte [ecx + 0x58]
cmp eax, edi
jne 0x42e8a1
inc esi
cmp byte [ecx + 0xaf], 0
je 0x42e8b6
movzx eax, byte [ecx + 0xb0]
cmp eax, edi
jne 0x42e8b6
inc esi
cmp byte [ecx + 0x107], 0
je 0x42e8cb
movzx eax, byte [ecx + 0x108]
cmp eax, edi
jne 0x42e8cb
inc esi
add ecx, 0x210
dec edx
jne 0x42e860
test esi, esi
je 0x42e8f7
mov eax, esi
imul eax, eax, 0x98
push eax
call fcn.004d3100
mov ecx, dword [ebp - 0x10]
add esp, 4
mov dword [ecx*4 + 0x6aa068], eax
test eax, eax
jne 0x42e900
pop edi
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret
movss xmm3, dword [ebp + 0x14]
movss xmm4, dword [ebp + 0x10]
movss xmm5, dword [0x6243d0]
mov dword [ecx*4 + 0x6aa064], esi
mov esi, dword [ebp - 0x10]
xor edx, edx
mov word [esi*4 + 0x6aa060], 0x101
mov word [esi*4 + 0x6aa062], di
mov dword [ebp - 0x14], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], 8
jmp 0x42e950
mov ecx, dword [0x742640]
mov dword [ebp - 4], ecx
cmp byte [edx + ecx], 0
je 0x42ee72
movzx eax, byte [edx + ecx + 1]
mov dword [ebp - 0x24], eax
cmp eax, edi
jne 0x42ee72
mov esi, dword [esi*4 + 0x6aa068]
add esi, dword [ebp - 0xc]
xorps xmm1, xmm1
xorps xmm2, xmm2
mov byte [esi], 1
mov dword [esi + 8], 0
mov al, byte [edx + ecx + 2]
mov byte [esi + 1], al
cmp byte [esi + 1], 0xc
movzx eax, al
cmove eax, dword [ebp - 0x20]
mov byte [esi + 1], al
mov eax, dword [ebp - 0x24]
mov byte [esi + 2], 0
cmp eax, 0xff
ja 0x42e9c2
movss xmm1, dword [eax*8 + 0x741c00]
movss xmm2, dword [eax*8 + 0x741c04]
movss xmm0, dword [edx + ecx + 0x14]
addss xmm0, xmm1
movss dword [esi + 0x10], xmm0
movss xmm0, dword [edx + ecx + 0x24]
addss xmm0, xmm2
movss dword [esi + 0x14], xmm0
movss xmm0, dword [edx + ecx + 0x18]
addss xmm0, xmm1
movss dword [esi + 0x18], xmm0
movss xmm0, dword [edx + ecx + 0x28]
addss xmm0, xmm2
movss dword [esi + 0x1c], xmm0
movss xmm0, dword [edx + ecx + 0x1c]
addss xmm0, xmm1
movss dword [esi + 0x20], xmm0
movss xmm0, dword [edx + ecx + 0x2c]
addss xmm0, xmm2
movss dword [esi + 0x24], xmm0
movss xmm0, dword [edx + ecx + 0x20]
addss xmm0, xmm1
movss dword [esi + 0x28], xmm0
movss xmm0, dword [edx + ecx + 0x30]
addss xmm0, xmm2
movss dword [esi + 0x2c], xmm0
movzx eax, word [edx + ecx + 0x10]
mov dword [esi + 0x38], eax
mov dword [esi + 0x30], eax
movzx ecx, word [edx + ecx + 0x10]
mov eax, dword [ebp - 4]
movzx eax, byte [edx + eax + 3]
add eax, ecx
mov dword [esi + 0x48], eax
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 4]
movzx eax, word [edx + eax + 0x12]
mov dword [esi + 0x44], eax
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 4]
movzx ecx, word [edx + eax + 0x12]
movzx eax, byte [edx + eax + 4]
add eax, ecx
mov dword [esi + 0x4c], eax
mov dword [esi + 0x3c], eax
mov eax, dword [0x741bf8]
movzx ecx, byte [esi + 1]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov dword [esi + 0x58], eax
mov dword [esi + 0x50], eax
mov eax, dword [0x741bf8]
movzx ecx, byte [esi + 1]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 8]
mov ecx, dword [ebp - 4]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x54], eax
movzx eax, byte [edx + ecx + 3]
mov dword [esi + 0x60], eax
movzx eax, byte [edx + ecx + 4]
mov dword [esi + 0x64], eax
movss xmm0, dword [edx + ecx + 0x34]
addss xmm0, xmm1
addss xmm0, xmm4
movss dword [esi + 0x68], xmm0
movss xmm0, dword [edx + ecx + 0x38]
addss xmm0, xmm2
addss xmm0, xmm3
movss dword [esi + 0x6c], xmm0
mov eax, dword [edx + ecx + 0x3c]
movzx ecx, byte [esi + 1]
mov dword [esi + 0x78], eax
mov eax, dword [0x741bf8]
add ecx, ecx
movzx eax, byte [eax + ecx*8 + 3]
movd xmm0, eax
mov eax, dword [ebp - 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edx + eax + 0x40]
mulss xmm0, xmm5
movss dword [esi + 0x80], xmm0
mov eax, dword [0x741bf8]
movzx eax, byte [eax + ecx*8 + 3]
movd xmm0, eax
mov eax, dword [ebp - 4]
cvtdq2ps xmm0, xmm0
sub esp, 8
mulss xmm0, dword [edx + eax + 0x44]
mulss xmm0, xmm5
movss dword [esi + 0x84], xmm0
movzx eax, byte [edx + eax + 0xa]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x90], xmm0
movss xmm0, dword [esi + 0x6c]
subss xmm0, xmm3
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x68]
subss xmm0, xmm4
movss dword [esp], xmm0
call fcn.004b98d0
fstp dword [ebp - 0x24]
movzx eax, byte [esi + 1]
add esp, 8
cmp eax, dword [ebp + 0xc]
jne 0x42ed1d
call fcn.004b95d0
fstp qword [ebp - 0x30]
movss xmm0, dword [ebp - 0x24]
mulss xmm0, dword [0x624158]
movsd xmm1, qword [ebp - 0x30]
sub esp, 8
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
mulsd xmm1, qword [0x6674f0]
cvtpd2ps xmm0, xmm1
movss dword [ebp - 4], xmm0
movss xmm0, dword [esi + 0x6c]
subss xmm0, dword [ebp + 0x14]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x68]
subss xmm0, dword [ebp + 0x10]
movss dword [esp], xmm0
call fcn.004b9740
fstp dword [ebp - 0x24]
add esp, 8
call fcn.004b9610
fstp qword [ebp - 0x30]
movsd xmm0, qword [ebp - 0x30]
subsd xmm0, qword [0x6674d8]
movss xmm1, dword [ebp - 0x24]
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [0x6256f8]
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x24], xmm0
call fcn.004b95d0
fstp qword [ebp - 0x30]
movsd xmm0, qword [ebp - 0x30]
mulsd xmm0, qword [0x6256e0]
movss xmm1, dword [ebp - 0x24]
mulss xmm1, dword [0x624184]
addsd xmm0, qword [0x6256d8]
mulss xmm1, dword [0x624148]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
cvtps2pd xmm0, xmm1
addss xmm1, dword [0x6245ac]
mulsd xmm0, qword [0x624188]
cvttsd2si eax, xmm0
and eax, 0xfff
movss xmm0, dword [eax*4 + 0x756c80]
mulss xmm0, dword [ebp - 4]
movss dword [esi + 0x70], xmm0
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x624188]
cvttsd2si eax, xmm0
and eax, 0xfff
movss xmm0, dword [eax*4 + 0x756c80]
mulss xmm0, dword [ebp - 4]
xorps xmm0, xmmword [0x6245d0]
movss dword [esi + 0x74], xmm0
call fcn.004b95d0
fstp qword [ebp - 0x28]
movsd xmm0, qword [ebp - 0x28]
mulsd xmm0, qword [0x6256f8]
addsd xmm0, qword [0x6256f0]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x7c], xmm0
call fcn.004b94b0
test al, 1
je 0x42ecef
movss xmm0, dword [esi + 0x7c]
mulss xmm0, dword [0x61289c]
movss dword [esi + 0x7c], xmm0
movss xmm0, dword [ebp - 0x2c]
movss dword [esi + 0x88], xmm0
movss dword [esi + 0x8c], xmm0
mov dword [esi + 0x94], 0
call fcn.004b94b0
mov ecx, 0xf
jmp 0x42ee3a
call fcn.004b95d0
fstp dword [ebp - 0x24]
movss xmm0, dword [esi + 0x6c]
subss xmm0, dword [ebp + 0x14]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x68]
subss xmm0, dword [ebp + 0x10]
movss dword [esp], xmm0
call fcn.004b9740
fstp dword [ebp - 0x2c]
add esp, 8
call fcn.004b9610
fstp qword [ebp - 8]
movsd xmm0, qword [ebp - 8]
subsd xmm0, qword [0x6674d8]
movss xmm1, dword [ebp - 0x2c]
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [0x6256e8]
addsd xmm0, xmm1
cvtpd2ps xmm2, xmm0
mulss xmm2, dword [0x624184]
mulss xmm2, dword [0x624148]
cvtps2pd xmm0, xmm2
addss xmm2, dword [0x6245ac]
mulsd xmm0, qword [0x624188]
cvttsd2si eax, xmm0
and eax, 0xfff
movss xmm0, dword [eax*4 + 0x756c80]
mulss xmm0, dword [ebp - 0x24]
movss dword [esi + 0x70], xmm0
cvtps2pd xmm0, xmm2
mulsd xmm0, qword [0x624188]
cvttsd2si eax, xmm0
and eax, 0xfff
movss xmm0, dword [eax*4 + 0x756c80]
mulss xmm0, dword [ebp - 0x24]
xorps xmm0, xmmword [0x6245d0]
movss dword [esi + 0x74], xmm0
call fcn.004b9610
fstp qword [ebp - 0x30]
movsd xmm0, qword [ebp - 0x30]
subsd xmm0, qword [0x6674d8]
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x94], 0
mulsd xmm0, qword [0x6674f0]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x7c], xmm0
call fcn.004b94b0
mov ecx, 0x1e
xor edx, edx
div ecx
mov eax, dword [ebp - 0x14]
add dword [ebp - 0xc], 0x98
inc eax
mov dword [ebp - 0x14], eax
add edx, ecx
mov dword [esi + 0xc], edx
mov esi, dword [ebp - 0x10]
cmp eax, dword [esi*4 + 0x6aa064]
jge 0x42ee84
movss xmm3, dword [ebp + 0x14]
movss xmm4, dword [ebp + 0x10]
movss xmm5, dword [0x6243d0]
mov edx, dword [ebp - 0x18]
add edx, 0x58
mov dword [ebp - 0x18], edx
cmp edx, 0x21000
jl 0x42e950
mov eax, dword [ebp - 0x1c]
pop edi
pop esi
mov esp, ebp
pop ebp
ret