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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1a0
mov eax, dword [0x4c3140]
xor eax, esp
mov dword [esp + 0x19c], eax
push esi
mov esi, ecx
xor eax, eax
push edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x60], eax
cmp dword [esi + 0x58], eax
jge 0x426828
test byte [esi + 4], 2
jne 0x426819
push 0x1b
push 0xd9
jmp 0x42681d
push 2
push 2
push ecx
call fcn.0042668d
mov dword [esi + 0x58], eax
xor eax, eax
xorps xmm0, xmm0
mov dword [esi + 8], eax
mov ecx, esi
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], eax
movups xmmword [esi + 0x24], xmm0
call fcn.0042621c
mov edi, dword [esi + 0x4c]
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], edi
push 8
pop edx
test edi, edi
jle 0x426874
cmp edi, edx
mov eax, edi
cmovl eax, edx
test eax, eax
jle 0x426874
imul ecx, eax, 0xc4
call fcn.00413509
push 8
mov dword [esp + 0x2c], eax
pop edx
mov ecx, dword [esi + 0x34]
mov dword [esp + 0x1c], ecx
test ecx, ecx
jle 0x426896
cmp ecx, edx
mov eax, ecx
cmovl eax, edx
test eax, eax
jle 0x426896
imul ecx, eax, 0x18
call fcn.00413509
mov dword [esp + 0x40], eax
imul eax, edi, 0xc4
xor edi, edi
push eax
push edi
push dword [esp + 0x30]
call fcn.0045b240
imul eax, dword [esp + 0x28], 0x18
add esp, 0xc
push eax
push edi
push dword [esp + 0x48]
call fcn.0045b240
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x14], ecx
cmp dword [esi + 0x4c], ecx
jle 0x4269d2
mov edi, dword [esp + 0x28]
mov edx, ecx
mov dword [esp + 0x10], edx
add edi, 0xa4
mov eax, dword [esi + 0x54]
or dword [edi - 4], 0xffffffff
add eax, edx
mov edx, ecx
mov dword [esp + 0x18], eax
cmp dword [esi + 0x34], ecx
jle 0x4275ff
or ecx, 0xffffffff
mov dword [esp + 8], ecx
cmp ecx, 0xffffffff
jne 0x42692a
or dword [esp + 0x54], ecx
mov ecx, dword [esi + 0x3c]
mov eax, dword [eax + 0x74]
cmp eax, dword [ecx + edx*4]
jne 0x426918
mov dword [edi - 4], edx
mov ecx, edx
jmp 0x42691c
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
inc edx
mov dword [esp + 8], ecx
cmp edx, dword [esi + 0x34]
jl 0x4268f9
cmp dword [esp + 8], 0xffffffff
je 0x4275ff
mov edx, dword [eax + 0xc]
mov ecx, dword [eax]
call fcn.0041f59c
mov edx, dword [esp + 0x18]
lea ecx, [edi - 0xa4]
push eax
mov edx, dword [edx]
call fcn.0041f6f9
pop ecx
test eax, eax
je 0x4275ff
imul eax, dword [edi - 4], 0x18
mov edx, 0x4aeb40
mov ecx, dword [esp + 0x18]
add eax, dword [esp + 0x40]
cmp dword [ecx + 0x30], 0
mov dword [esp + 8], eax
cmovne edx, dword [ecx + 0x30]
xor ecx, ecx
mov dword [edi - 8], edx
cmp word [edx], cx
je 0x42699d
movzx eax, word [edx + 2]
test ax, ax
je 0x426999
cmp dword [edi], eax
cmovge eax, dword [edi]
add edx, 4
mov dword [edi], eax
cmp word [edx], cx
jne 0x426981
mov eax, dword [esp + 8]
mov edx, dword [esp + 8]
inc dword [eax]
mov eax, dword [edi]
cmp dword [edx + 4], eax
cmovge eax, dword [edx + 4]
add edi, 0xc4
mov dword [edx + 4], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc eax
add edx, 0x78
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
cmp eax, dword [esi + 0x4c]
jl 0x4268de
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x54], 1
test eax, eax
jle 0x426c0d
mov esi, dword [esp + 0x28]
add esi, 0xa8
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], esi
xor edi, edi
imul eax, dword [esi - 8], 0x18
lea ecx, [esi + 4]
add eax, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax - 4]
add eax, 0x20
sar eax, 5
push eax
call fcn.0041e110
mov eax, dword [esi + 4]
mov esi, dword [esp + 0x18]
shl eax, 2
push eax
push edi
push dword [esi + 0xc]
call fcn.0045b240
mov edx, dword [esp + 0x40]
add esp, 0xc
lea ecx, [edx + 0xc]
mov dword [esp + 0x20], ecx
cmp dword [ecx], edi
jne 0x426a6f
mov eax, dword [edx + 4]
add eax, 0x20
sar eax, 5
push eax
call fcn.0041e110
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
shl eax, 2
push eax
push edi
push dword [ecx + 8]
call fcn.0045b240
mov edx, dword [esp + 0x40]
add esp, 0xc
mov eax, dword [esi - 0xc]
jmp 0x426b30
movzx ecx, word [eax + 2]
mov dword [esp + 0x20], ecx
test cx, cx
je 0x426b3d
movzx ecx, word [eax]
mov eax, dword [esp + 0x20]
movzx eax, ax
jmp 0x426b1d
mov edx, dword [edx + 0x14]
mov eax, ecx
sar eax, 5
and ecx, 0x1f
mov dword [esp + 0x30], eax
xor eax, eax
inc eax
mov dword [esp + 8], ecx
shl eax, cl
mov ecx, dword [esp + 0x30]
test dword [edx + ecx*4], eax
jne 0x426b0c
mov edx, dword [esp + 0x2c]
lea ecx, [esi - 0xa8]
call fcn.0041fad9
mov edx, dword [esp + 0x34]
test eax, eax
je 0x426b10
inc dword [esi]
inc dword [edx + 8]
mov ecx, dword [esi + 0xc]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 8]
mov eax, dword [ecx + eax*4]
bts eax, esi
mov esi, dword [esp + 0x30]
mov dword [ecx + esi*4], eax
mov eax, esi
mov ecx, dword [edx + 0x14]
mov esi, dword [esp + 8]
mov eax, dword [ecx + eax*4]
bts eax, esi
mov esi, dword [esp + 0x30]
inc dword [esp + 0xc]
mov dword [ecx + esi*4], eax
mov esi, dword [esp + 0x18]
jmp 0x426b10
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
inc ecx
movzx eax, word [eax + 2]
mov dword [esp + 0x2c], ecx
cmp ecx, eax
jbe 0x426a97
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x10], eax
cmp word [eax], di
jne 0x426a77
add esi, 0xc4
sub dword [esp + 0x14], 1
mov dword [esp + 0x18], esi
jne 0x4269fe
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
add esi, 0xb8
mov dword [esp + 0x10], eax
push dword [esi - 0x10]
mov ecx, esi
call fcn.0041e08c
mov edi, dword [esi - 4]
mov eax, dword [esi - 0xc]
mov dword [esp + 8], edi
lea eax, [edi + eax*4]
mov dword [esp + 0x44], eax
cmp edi, eax
jae 0x426bd9
xor edx, edx
mov dword [esp + 0x14], edx
mov eax, dword [edi]
mov dword [esp + 0x20], eax
test eax, eax
je 0x426bc5
xor edi, edi
xor eax, eax
mov ecx, edi
inc eax
shl eax, cl
test dword [esp + 0x20], eax
je 0x426bbb
and edx, 0xffffffe0
lea eax, [esp + 0x48]
add edx, edi
mov ecx, esi
push eax
mov dword [esp + 0x4c], edx
call fcn.0041de33
mov edx, dword [esp + 0x14]
inc edi
cmp edi, 0x20
jb 0x426b95
mov edi, dword [esp + 8]
add edi, 4
add edx, 0x20
mov dword [esp + 8], edi
mov dword [esp + 0x14], edx
cmp edi, dword [esp + 0x44]
jb 0x426b89
mov ecx, dword [esi - 4]
test ecx, ecx
je 0x426bf4
xor eax, eax
mov dword [esi - 8], eax
mov dword [esi - 0xc], eax
call fcn.00413520
xor ecx, ecx
mov dword [esi - 4], ecx
jmp 0x426bf6
xor ecx, ecx
add esi, 0xc4
sub dword [esp + 0x10], 1
jne 0x426b64
mov esi, dword [esp + 0x3c]
jmp 0x426c11
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x426c46
mov edi, dword [esp + 0x40]
add edi, 0x14
cmp dword [edi], 0
je 0x426c3a
mov dword [edi - 4], ecx
mov dword [edi - 8], ecx
mov ecx, dword [edi]
call fcn.00413520
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov dword [edi], ecx
add edi, 0x18
sub eax, 1
mov dword [esp + 0x1c], eax
jne 0x426c20
mov eax, dword [esp + 0x40]
test eax, eax
je 0x426c5b
mov ecx, eax
call fcn.00413520
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov edi, dword [esp + 0xc]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x68]
push edi
call fcn.00428e03
test edi, edi
jle 0x426c97
push 8
pop ecx
cmp edi, ecx
mov eax, edi
cmovl eax, ecx
test eax, eax
jle 0x426c97
imul ecx, eax, 0x1c
call fcn.00413509
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x68]
xor edi, edi
shl eax, 4
push eax
mov eax, dword [esp + 0x74]
push edi
push eax
mov dword [esp + 0x3c], eax
call fcn.0045b240
imul eax, dword [esp + 0x18], 0x1c
add esp, 0xc
push eax
push edi
push dword [esp + 0x3c]
call fcn.0045b240
mov edi, dword [esp + 0x44]
xor edx, edx
add esp, 0xc
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], edx
mov ecx, edx
mov dword [esp + 8], ecx
test edi, edi
jle 0x426eec
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
add edi, 0x98
mov dword [esp + 0x14], eax
mov eax, edx
mov dword [esp + 0x1c], edx
cmp dword [edi + 0x10], 0
je 0x426eca
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
shl eax, 4
add eax, dword [esp + 0x30]
mov dword [edi - 4], eax
imul eax, dword [esp + 0x2c], 0x1c
add ecx, eax
mov eax, dword [esp + 0x10]
add eax, dword [edi + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
add eax, dword [edi + 0x10]
mov dword [esp + 0x2c], eax
mov dword [edi], ecx
mov eax, dword [esi + 0x54]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov eax, dword [eax + 0x10]
mov dword [edi - 0x1c], eax
mov eax, dword [edi + 0x28]
mov dword [edi - 0xc], ecx
mov ecx, dword [esp + 0x44]
mov dword [edi - 0x14], eax
mov eax, dword [edi + 0x20]
mov dword [edi - 0x10], eax
mov dword [edi - 0x18], edx
mov al, byte [ecx + 0x14]
mov byte [edi - 8], al
mov al, byte [ecx + 0x18]
mov byte [edi - 7], al
lea eax, [edi - 0x98]
movss xmm1, dword [ecx + 0x10]
comiss xmm1, dword [0x4b0f60]
mov dword [esp + 0xc], eax
jbe 0x426d9a
mov ecx, eax
call fcn.004216f8
mov ecx, dword [esp + 0xc]
movaps xmm1, xmm0
movss dword [esp + 0x20], xmm0
jmp 0x426dd5
mov edx, dword [edi - 0x94]
mov eax, dword [edi - 0x84]
xorps xmm1, xmmword [0x4b1790]
movzx ecx, byte [edx + eax + 0x12]
movzx eax, byte [edx + eax + 0x13]
shl ecx, 8
add ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc], ecx
divss xmm1, xmm0
movss dword [esp + 0x20], xmm1
mov eax, dword [esi + 0x10]
xor edx, edx
mov dword [esp + 0x18], edx
cmp dword [edi + 0x20], edx
jle 0x426ec2
mov esi, dword [esp + 0x44]
movzx eax, ax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x24], eax
mov eax, edx
mov dword [esp + 0x48], edx
mov edx, dword [edi + 0x28]
mov edx, dword [edx + eax*4]
call fcn.0041fad9
movd xmm3, dword [esi + 0x18]
lea ecx, [esp + 0x50]
movd xmm2, dword [esi + 0x14]
mov edx, eax
push ecx
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x64]
cvtdq2ps xmm3, xmm3
push ecx
push ecx
push ecx
and dword [esp + 4], 0
mov ecx, dword [esp + 0x24]
and dword [esp], 0
cvtdq2ps xmm2, xmm2
mulss xmm3, xmm1
mulss xmm2, xmm1
call fcn.0042172d
mov ecx, dword [esp + 0x7c]
add esp, 0x18
sub ecx, dword [esp + 0x58]
add ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
dec cx
add cx, word [esi + 0x14]
mov eax, dword [edi - 4]
movss xmm1, dword [esp + 0x20]
mov word [edx + eax + 4], cx
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x4c]
mov eax, dword [edi - 4]
dec cx
add cx, word [esi + 0x18]
add cx, word [esp + 0x24]
mov word [edx + eax + 6], cx
mov eax, dword [edi - 4]
movzx ecx, word [edx + eax + 6]
movzx eax, word [edx + eax + 4]
add edx, 0x10
imul ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], edx
add dword [esp + 8], ecx
inc eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], eax
cmp eax, dword [edi + 0x20]
jl 0x426dfc
mov esi, dword [esp + 0x3c]
xor edx, edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add eax, 0x78
add edi, 0xc4
sub ecx, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
jne 0x426cfe
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 8]
mov eax, dword [esi + 0xc]
mov dword [esi + 0x20], edx
test eax, eax
jg 0x426f49
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
call fcn.0047d470
cvtsd2ss xmm0, xmm0
mov ecx, 0x400
cvttss2si eax, xmm0
inc eax
movd xmm0, eax
mov eax, 0x200
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x4b10b0]
cmovae eax, ecx
mov ecx, 0x800
comiss xmm0, dword [0x4b10bc]
cmovae eax, ecx
mov ecx, 0x1000
comiss xmm0, dword [0x4b10c0]
cmovae eax, ecx
xor edx, edx
push 0x2c
mov dword [esi + 0x1c], eax
lea eax, [esp + 0x78]
push edx
push eax
call fcn.0045b240
pop ecx
pop ecx
push dword [esi + 0x10]
push ecx
push ecx
push dword [esi + 0x1c]
lea ecx, [esp + 0x88]
call fcn.00423021
mov edx, dword [esp + 0x8c]
add esp, 0x14
mov ecx, esi
call fcn.00427657
test edi, edi
jle 0x42700c
mov eax, dword [esp + 0x28]
add eax, 0xa8
mov dword [esp + 0x24], eax
mov eax, edi
mov edi, dword [esp + 0x24]
mov dword [esp + 8], eax
cmp dword [edi], 0
je 0x426ffd
push dword [edi]
mov edx, dword [edi - 0x14]
mov ecx, dword [esp + 0x7c]
call fcn.0041f06a
xor eax, eax
pop ecx
mov ecx, eax
mov dword [esp + 0x20], ecx
cmp dword [edi], eax
jle 0x426ff9
mov edx, eax
mov esi, dword [edi - 0x14]
cmp dword [esi + edx + 0xc], eax
mov esi, dword [esp + 0x3c]
je 0x426fed
mov eax, dword [edi - 0x14]
movzx ecx, word [eax + edx + 0xa]
movzx eax, word [eax + edx + 6]
add ecx, eax
cmp dword [esi + 0x20], ecx
cmovge ecx, dword [esi + 0x20]
xor eax, eax
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x20]
inc ecx
add edx, 0x10
mov dword [esp + 0x20], ecx
cmp ecx, dword [edi]
jl 0x426fc1
mov eax, dword [esp + 8]
add edi, 0xc4
sub eax, 1
mov dword [esp + 8], eax
jne 0x426f9f
test byte [esi + 4], 1
mov eax, dword [esi + 0x20]
jne 0x42703a
lea ecx, [eax - 1]
mov eax, ecx
sar eax, 1
or ecx, eax
mov eax, ecx
sar eax, 2
or ecx, eax
mov eax, ecx
sar eax, 4
or ecx, eax
mov eax, ecx
sar eax, 8
or ecx, eax
mov eax, ecx
sar eax, 0x10
or eax, ecx
movd xmm0, dword [esi + 0x1c]
lea ecx, [eax + 1]
movss xmm1, dword [0x4b0fdc]
cvtdq2ps xmm0, xmm0
mov dword [esi + 0x20], ecx
movaps xmm2, xmm1
divss xmm2, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
imul ecx, dword [esi + 0x1c]
divss xmm1, xmm0
movss dword [esi + 0x24], xmm2
movss dword [esi + 0x28], xmm1
call fcn.00413509
mov ecx, eax
xor edi, edi
mov eax, dword [esi + 0x20]
imul eax, dword [esi + 0x1c]
mov dword [esi + 0x14], ecx
push eax
push edi
push ecx
call fcn.0045b240
mov eax, dword [esi + 0x14]
add esp, 0xc
mov edi, dword [esp + 0x38]
mov dword [esp + 0x98], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0x80], eax
test edi, edi
jle 0x42723f
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov eax, ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edi
mov edi, dword [esi + 0x54]
add edi, eax
cmp dword [edx + 0xa8], ecx
je 0x42721f
push dword [edx + 0x94]
lea eax, [edx + 0x7c]
push ecx
push eax
lea ecx, [esp + 0x80]
call fcn.00423542
movss xmm1, dword [edi + 0x44]
add esp, 0xc
ucomiss xmm1, dword [0x4b0fdc]
movss dword [esp + 0x24], xmm1
lahf
test ah, 0x44
jnp 0x42720f
xor edi, edi
mov esi, 0xff
movd xmm0, edi
mov eax, edi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4b16a0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.004598c0
movss xmm1, dword [esp + 0x24]
cmp eax, esi
movzx ecx, al
cmova ecx, esi
mov byte [esp + edi + 0xa0], cl
inc edi
cmp edi, 0x100
jb 0x427110
mov edx, dword [esp + 0xc]
xor ecx, ecx
mov esi, dword [esp + 0x3c]
mov edi, ecx
mov dword [esp + 0x14], edi
mov eax, dword [edx + 0x94]
cmp dword [edx + 0xa8], ecx
jle 0x427215
add eax, 4
mov dword [esp + 0x10], eax
cmp dword [eax + 8], ecx
je 0x4271f5
mov edx, dword [esi + 0x1c]
movzx edi, word [eax + 6]
mov dword [esp + 0x20], edx
imul edi, dword [esp + 0x20]
movzx edx, word [eax]
movzx eax, word [eax + 4]
mov dword [esp + 0x24], edx
add edi, eax
mov eax, dword [esp + 0x10]
add edi, dword [esi + 0x14]
movzx edx, word [eax + 2]
mov dword [esp + 8], edx
test edx, edx
mov edx, dword [esp + 0xc]
je 0x4271f1
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x24]
mov esi, ecx
test edx, edx
je 0x4271d8
movzx eax, byte [esi + edi]
mov al, byte [esp + eax + 0xa0]
mov byte [esi + edi], al
inc esi
cmp esi, edx
jl 0x4271c1
mov eax, dword [esp + 8]
add edi, dword [esp + 0x20]
dec eax
mov dword [esp + 8], eax
test eax, eax
jg 0x4271bb
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
inc edi
add eax, 0x10
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
cmp edi, dword [edx + 0xa8]
jl 0x42717a
jmp 0x427215
mov edx, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [esp + 0x48]
mov dword [edx + 0x94], ecx
add eax, 0x78
add edx, 0xc4
sub dword [esp + 0x44], 1
mov dword [esp + 0x48], eax
mov dword [esp + 0xc], edx
jne 0x4270c2
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x9c]
call fcn.00413520
mov ecx, dword [esp + 0x78]
call fcn.00413520
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x427269
call fcn.00413520
xor eax, eax
mov dword [esp + 0x30], eax
jmp 0x42726b
xor eax, eax
test edi, edi
jle 0x4275d3
mov ecx, dword [esp + 0x28]
mov edx, eax
add ecx, 4
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], edi
cmp dword [ecx + 0xa4], eax
je 0x427597
mov eax, dword [esi + 0x54]
add ecx, 0xfffffffc
add eax, edx
mov dword [esp + 0x24], eax
mov edx, dword [eax + 0x74]
movss xmm1, dword [eax + 0x10]
mov dword [esp + 0x1c], edx
call fcn.004216f8
mov esi, dword [esp + 0x18]
movss dword [esp + 0x5c], xmm0
mov edi, dword [esi + 0x18]
mov esi, dword [esi]
lea ecx, [esi + 4]
add ecx, edi
call fcn.0041f481
cwde
lea ecx, [edi + 6]
add ecx, esi
mov dword [esp + 0x50], eax
call fcn.0041f481
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
cwde
mov dword [esp + 0x4c], eax
lea eax, [edx + 0x4c]
cmp byte [edi + 0x3c], 0
mov dword [esp + 0x58], eax
jne 0x4273bd
mov ecx, edx
call fcn.00427a24
mov edx, dword [esp + 0x1c]
xor ecx, ecx
mov eax, dword [edi + 0x10]
xorps xmm5, xmm5
and dword [esp + 0x24], 0
mov esi, dword [esp + 0x3c]
mov dword [edx + 0x10], eax
xor eax, eax
movd xmm0, ecx
mov ecx, dword [esp + 0x4c]
and dword [esp + 0x4c], 0
movd xmm3, eax
mov eax, dword [esp + 0x50]
movd xmm1, ecx
punpckldq xmm1, xmm3
movd xmm3, dword [esp + 0x24]
movd xmm2, eax
punpckldq xmm2, xmm0
movd xmm0, ecx
or ecx, 0xffffffff
cvtdq2ps xmm0, xmm0
mov dword [edx + 0x3c], edi
mov dword [edx + 0x38], esi
punpckldq xmm2, xmm1
comiss xmm0, xmm5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cmova ecx, dword [esp + 0x54]
or eax, 0xffffffff
cvtdq2ps xmm4, xmm2
movss xmm2, dword [esp + 0x5c]
comiss xmm0, xmm5
movd xmm0, dword [esp + 0x4c]
movaps xmm1, xmm2
unpcklps xmm2, xmm1
cmova eax, dword [esp + 0x54]
mulps xmm4, xmm2
movd xmm1, ecx
movd xmm2, eax
mov eax, dword [esp + 0x58]
punpckldq xmm2, xmm0
punpckldq xmm1, xmm3
punpckldq xmm2, xmm1
cvtdq2ps xmm0, xmm2
addps xmm4, xmm0
cvttps2dq xmm0, xmm4
cvtdq2ps xmm0, xmm0
movss dword [eax], xmm0
shufps xmm0, xmm0, 0x55
movss dword [edx + 0x50], xmm0
jmp 0x4273c1
mov esi, dword [esp + 0x3c]
movss xmm0, dword [eax]
addss xmm0, dword [0x4b0fac]
inc word [edx + 0x40]
mov ecx, dword [esp + 0x18]
movss xmm1, dword [edi + 0x28]
movss dword [esp + 0x50], xmm1
cvttss2si eax, xmm0
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
mov dword [esp + 8], eax
addss xmm0, dword [edi + 0x2c]
movss dword [esp + 0x24], xmm0
cmp dword [ecx + 0xa4], eax
jle 0x42758f
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0xbc]
mov edx, dword [esp + 8]
movss xmm7, dword [edi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x94]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc], eax
movss xmm0, dword [eax + ecx + 0x10]
comiss xmm7, xmm0
ja 0x427444
movss xmm7, dword [edi + 0x38]
minss xmm7, xmm0
mov edx, dword [esp + 0x1c]
movaps xmm6, xmm1
ucomiss xmm0, xmm7
lahf
test ah, 0x44
jnp 0x427478
cmp byte [edi + 0x1c], 0
movaps xmm6, xmm7
subss xmm6, xmm0
mulss xmm6, dword [0x4b0fac]
je 0x427474
cvttss2si eax, xmm6
movd xmm6, eax
cvtdq2ps xmm6, xmm6
addss xmm6, xmm1
movd xmm0, dword [esi + 0x1c]
sub esp, 0x1c
mov eax, dword [esp + 0x28]
movss xmm3, dword [0x4b0fdc]
movss xmm2, dword [0x4b0fdc]
cvtdq2ps xmm0, xmm0
movzx eax, word [eax + ecx]
movd xmm5, eax
mov eax, dword [esp + 0x28]
divss xmm3, xmm0
movzx eax, word [eax + ecx + 2]
movd xmm0, dword [esi + 0x20]
cvtdq2ps xmm0, xmm0
movd xmm4, eax
mov eax, dword [esp + 0x28]
divss xmm2, xmm0
movzx eax, word [eax + ecx + 4]
movd xmm1, eax
mov eax, dword [esp + 0x28]
cvtdq2ps xmm4, xmm4
movzx eax, word [eax + ecx + 6]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, dword [esp + 0x28]
cvtdq2ps xmm0, xmm0
mulss xmm4, xmm2
mulss xmm0, xmm2
movss xmm2, dword [eax + ecx + 8]
mulss xmm1, xmm3
movss dword [esp + 0x18], xmm7
movss dword [esp + 0x14], xmm0
movss xmm0, dword [eax + ecx + 0x18]
movss dword [esp + 0x10], xmm1
movss dword [esp + 0xc], xmm4
xorps xmm4, xmm4
addss xmm0, xmm4
cvtdq2ps xmm5, xmm5
addss xmm0, dword [esp + 0x40]
mulss xmm5, xmm3
addss xmm2, xmm4
movss xmm3, dword [eax + ecx + 0xc]
addss xmm3, xmm4
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm0
addss xmm2, xmm6
movss xmm0, dword [eax + ecx + 0x14]
mov ecx, edx
addss xmm0, xmm4
addss xmm3, dword [esp + 0x40]
addss xmm0, xmm6
movss dword [esp], xmm0
push dword [esp + 0x68]
call fcn.00427cb6
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x18]
inc edx
add dword [esp + 0x14], 0x1c
movss xmm1, dword [esp + 0x50]
mov dword [esp + 8], edx
cmp edx, dword [ecx + 0xa4]
jl 0x42740c
xor eax, eax
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
add ecx, 0xc4
add edx, 0x78
sub edi, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], edi
jne 0x427288
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
mov ecx, edi
call fcn.00427635
add edi, 0xc4
sub esi, 1
jne 0x4275bd
mov esi, dword [esp + 0x3c]
mov ecx, esi
call fcn.0042782a
xor eax, eax
inc eax
mov byte [esp + 0x60], al
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4275f0
mov ecx, eax
call fcn.00413520
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4275ff
mov ecx, eax
call fcn.00413520
mov eax, dword [esp + 0x40]
test eax, eax
je 0x42760e
mov ecx, eax
call fcn.00413520
mov eax, dword [esp + 0x28]
test eax, eax
je 0x42761d
mov ecx, eax
call fcn.00413520
mov ecx, dword [esp + 0x1a4]
mov al, byte [esp + 0x60]
pop edi
pop esi
xor ecx, esp
call fcn.00458d97
mov esp, ebp
pop ebp
ret