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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x4c
mov eax, dword [0x55f9d4]
mov edi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
movss xmm2, dword [esp + 0x6c]
mov ebx, ecx
xor eax, esp
test edi, edi
mov dword [esp + 0x48], eax
jne 0x423293
push ebp
call fcn.0049fb00
movss xmm2, dword [esp + 0x70]
add esp, 4
mov edi, eax
add edi, ebp
addss xmm2, dword [ebx + 0xc]
ucomiss xmm2, dword [esi + 0xc]
ja 0x4239c0
movss xmm3, dword [esp + 0x64]
movss xmm4, dword [ebx]
movss xmm0, dword [esp + 0x68]
movss xmm1, dword [esp + 0x80]
mov esi, dword [esp + 0x60]
movss dword [esp + 0x10], xmm2
divss xmm3, xmm4
addss xmm0, dword [ebx + 8]
movss dword [esp + 0x18], xmm0
xorps xmm0, xmm0
ucomiss xmm1, xmm0
mulss xmm4, xmm3
movss dword [esp + 0x30], xmm3
movss dword [esp + 0x1c], xmm4
ja 0x423312
mov eax, dword [esp + 0x74]
movaps xmm0, xmm2
addss xmm0, xmm4
movss xmm1, dword [eax + 4]
ucomiss xmm1, xmm0
jbe 0x423312
cmp edi, ebp
jbe 0x423312
cmp byte [ebp], 0xa
je 0x423312
inc ebp
cmp edi, ebp
jne 0x423305
mov ebp, edi
mov ecx, dword [esi + 0xc]
mov eax, edi
sub eax, ebp
lea edx, [eax*4]
add eax, eax
lea eax, [eax + eax*2]
mov dword [esp + 0x3c], ecx
mov ecx, esi
push edx
mov dword [esp + 0x44], eax
push eax
call fcn.0041ce00
mov eax, dword [esi + 0x34]
mov edx, dword [esi + 0x38]
cmp edi, ebp
mov dword [esp + 0x20], eax
jbe 0x4238a5
movss xmm3, dword [esp + 0x18]
mov eax, dword [esi + 0x30]
movss xmm6, dword [esp + 0x10]
movss xmm5, dword [esp + 0x80]
movss xmm7, dword [esp + 0x1c]
xor ecx, ecx
xorps xmm2, xmm2
mov dword [esp + 0x38], ebx
movaps xmm1, xmm3
mov dword [esp + 0x34], eax
movaps xmm4, xmm1
movaps xmm0, xmm6
mov ebx, ebp
mov dword [esp + 4], ecx
mov dword [esp], edx
movss dword [esp + 0x10], xmm6
movss dword [esp + 0xc], xmm1
ucomiss xmm5, xmm2
jbe 0x42345e
test ecx, ecx
jne 0x423418
movss dword [esp + 8], xmm0
movaps xmm0, xmm4
movaps xmm1, xmm5
subss xmm0, xmm3
subss xmm1, xmm0
sub esp, 0x10
movss xmm0, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
movss dword [esp + 0xc], xmm1
movss dword [esp + 0x24], xmm4
movss dword [esp], xmm0
call fcn.00419d28
movss xmm4, dword [esp + 0x14]
movss xmm0, dword [esp + 8]
movss xmm1, dword [esp + 0xc]
movss xmm7, dword [esp + 0x1c]
movss xmm5, dword [esp + 0x80]
movss xmm3, dword [esp + 0x18]
movss xmm6, dword [esp + 0x10]
mov edx, dword [esp]
xorps xmm2, xmm2
lea ecx, [eax + 1]
cmp eax, ebx
cmovne ecx, eax
cmp ebx, ecx
jb 0x423452
cmp ebx, edi
jae 0x42343c
mov al, byte [ebx]
cmp al, 0x20
je 0x42342a
cmp al, 9
jne 0x423434
inc ebx
cmp edi, ebx
jne 0x423420
jmp 0x4238a5
lea ecx, [ebx + 1]
cmp al, 0xa
cmove ebx, ecx
xor ecx, ecx
addss xmm0, xmm7
cmp ebx, edi
movaps xmm4, xmm3
jb 0x423391
jmp 0x4238a5
movaps xmm1, xmm4
movaps xmm6, xmm0
mov ebp, ebx
mov dword [esp + 4], ecx
movsx ecx, byte [ebp]
mov ebx, dword [esp + 0x38]
test ecx, ecx
mov dword [esp + 0x44], ecx
js 0x423471
inc ebp
jmp 0x4234c2
movss dword [esp + 0xc], xmm1
push edi
push ebp
lea eax, [esp + 0x4c]
push eax
movss dword [esp + 0x1c], xmm6
call fcn.00408479
movss xmm7, dword [esp + 0x28]
movss xmm5, dword [esp + 0x8c]
movss xmm3, dword [esp + 0x24]
movss xmm6, dword [esp + 0x1c]
mov edx, dword [esp + 0xc]
xorps xmm2, xmm2
add esp, 0xc
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x4238a5
movss xmm1, dword [esp + 0xc]
add ebp, eax
cmp ecx, 0x1f
ja 0x4234f8
cmp ecx, 0xd
je 0x4234ef
cmp ecx, 0xa
jne 0x4234f8
mov eax, dword [esp + 0x74]
addss xmm6, xmm7
ucomiss xmm6, dword [eax + 0xc]
ja 0x4238a5
ucomiss xmm5, xmm2
jbe 0x423587
movaps xmm1, xmm3
mov ecx, dword [esp + 4]
jmp 0x42357a
movzx eax, cx
cmp dword [ebx + 0x28], eax
jle 0x423519
mov edx, dword [ebx + 0x30]
movzx eax, word [edx + eax*2]
cmp eax, 0xffff
je 0x42351e
lea eax, [eax + eax*4]
shl eax, 3
add eax, dword [ebx + 0x18]
jmp 0x423521
mov eax, dword [ebx + 0x34]
jmp 0x423524
mov eax, dword [ebx + 0x34]
mov edx, dword [esp]
test eax, eax
je 0x42356f
movss xmm0, dword [eax + 4]
cmp ecx, 9
mulss xmm0, dword [esp + 0x30]
je 0x423572
cmp ecx, 0x20
je 0x423572
mov ecx, dword [esp + 0x74]
movss xmm4, dword [eax + 8]
movss xmm2, dword [esp + 0x30]
movss dword [esp], xmm0
movss xmm0, dword [ecx + 8]
mulss xmm4, xmm2
addss xmm4, xmm1
ucomiss xmm0, xmm4
movss dword [esp + 8], xmm0
jae 0x4235b4
mov ecx, dword [esp + 4]
jmp 0x4235e0
xorps xmm0, xmm0
mov ecx, dword [esp + 4]
addss xmm1, xmm0
cmp ebp, edi
jb 0x423376
jmp 0x4238a5
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 4]
movaps xmm0, xmm7
addss xmm0, xmm6
movss xmm1, dword [eax + 4]
ucomiss xmm1, xmm0
jbe 0x4235e8
cmp ebp, edi
jae 0x4235e8
cmp byte [ebp], 0xa
je 0x4235e8
inc ebp
cmp edi, ebp
jne 0x4235a4
jmp 0x4238a5
movss xmm7, dword [eax + 0x10]
movss xmm0, dword [ecx]
movss dword [esp + 0xc], xmm1
mulss xmm7, xmm2
addss xmm7, xmm1
ucomiss xmm7, xmm0
jae 0x4235ed
movss xmm7, dword [esp + 0x1c]
mov ecx, dword [esp + 4]
movss xmm1, dword [esp + 0xc]
xorps xmm2, xmm2
jmp 0x423885
movaps xmm1, xmm3
jmp 0x42357a
movss xmm1, dword [eax + 0x1c]
movss xmm3, dword [eax + 0xc]
movss xmm5, dword [eax + 0x14]
cmp byte [esp + 0x84], 0
mov ecx, dword [esp + 4]
movss dword [esp + 0x24], xmm1
movss xmm1, dword [eax + 0x20]
mulss xmm3, xmm2
mulss xmm5, xmm2
movss xmm2, dword [eax + 0x18]
addss xmm3, xmm6
addss xmm5, xmm6
movss dword [esp + 0x28], xmm1
movss xmm1, dword [eax + 0x24]
movss dword [esp + 0x2c], xmm1
je 0x42367e
ucomiss xmm0, xmm4
movss dword [esp + 0x10], xmm6
jbe 0x4236a4
movaps xmm6, xmm7
movaps xmm1, xmm7
subss xmm1, xmm4
subss xmm6, xmm0
movss xmm4, dword [esp + 0x28]
divss xmm6, xmm1
movss xmm1, dword [0x4b23b0]
subss xmm4, xmm2
subss xmm1, xmm6
mulss xmm4, xmm1
addss xmm2, xmm4
movss dword [esp + 0x14], xmm2
jmp 0x4236ad
movss dword [esp + 0x14], xmm2
movaps xmm0, xmm4
movaps xmm2, xmm7
movaps xmm4, xmm3
movss xmm3, dword [esp + 0x18]
movss xmm7, dword [esp + 0x1c]
movss xmm1, dword [esp + 0xc]
jmp 0x4237a9
movss dword [esp + 0x14], xmm2
movaps xmm0, xmm4
mov eax, dword [esp + 0x74]
movss xmm1, dword [esp + 8]
movss xmm4, dword [eax + 4]
ucomiss xmm4, xmm3
jbe 0x423705
movaps xmm1, xmm5
movaps xmm6, xmm5
movss xmm2, dword [esp + 0x24]
subss xmm6, xmm3
subss xmm1, xmm4
movss xmm3, dword [0x4b23b0]
divss xmm1, xmm6
subss xmm3, xmm1
movss xmm1, dword [esp + 0x2c]
subss xmm1, xmm2
mulss xmm1, xmm3
addss xmm2, xmm1
movss xmm1, dword [esp + 8]
movss dword [esp + 0x24], xmm2
jmp 0x423708
movaps xmm4, xmm3
movss xmm6, dword [esp + 0x10]
ucomiss xmm7, xmm1
jbe 0x42373f
subss xmm1, xmm0
subss xmm7, xmm0
movss xmm3, dword [esp + 0x14]
movss xmm2, dword [esp + 0x28]
divss xmm1, xmm7
subss xmm2, xmm3
mulss xmm2, xmm1
addss xmm2, xmm3
movss dword [esp + 0x28], xmm2
jmp 0x423745
movss dword [esp + 8], xmm7
mov eax, dword [esp + 0x74]
movss xmm7, dword [esp + 0x1c]
movss xmm1, dword [eax + 0xc]
ucomiss xmm5, xmm1
jbe 0x42378b
movaps xmm3, xmm1
subss xmm5, xmm4
movss xmm2, dword [esp + 0x2c]
subss xmm3, xmm4
divss xmm3, xmm5
movss xmm5, dword [esp + 0x24]
subss xmm2, xmm5
mulss xmm2, xmm3
addss xmm2, xmm5
movaps xmm5, xmm1
movss dword [esp + 0x2c], xmm2
jmp 0x42378e
movaps xmm1, xmm5
ucomiss xmm4, xmm1
movss xmm3, dword [esp + 0x18]
movss xmm1, dword [esp + 0xc]
movss xmm2, dword [esp + 8]
jae 0x42388f
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
movss dword [esp + 8], xmm4
movss dword [esp + 0xc], xmm0
add dword [esp + 0x34], 4
lea eax, [ecx + 1]
mov word [edx], cx
mov word [edx + 2], ax
lea eax, [ecx + 2]
mov word [edx + 4], ax
mov word [edx + 6], cx
mov word [edx + 8], ax
lea eax, [ecx + 3]
mov ecx, dword [esp + 0x70]
mov word [edx + 0xa], ax
movss dword [ebx], xmm0
movss dword [ebx + 4], xmm4
movss xmm4, dword [esp + 0x14]
movss xmm0, dword [esp + 0x24]
add edx, 0xc
mov dword [ebx + 0x10], ecx
movss dword [ebx + 8], xmm4
movss xmm4, dword [esp + 8]
movss dword [ebx + 0xc], xmm0
movss dword [ebx + 0x14], xmm2
movss dword [ebx + 0x18], xmm4
movss xmm4, dword [esp + 0x28]
mov dword [ebx + 0x24], ecx
movss dword [ebx + 0x1c], xmm4
movss dword [ebx + 0x20], xmm0
movss dword [ebx + 0x28], xmm2
movss dword [ebx + 0x2c], xmm5
mov dword [ebx + 0x38], ecx
movss dword [ebx + 0x30], xmm4
movss xmm4, dword [esp + 0x2c]
movss xmm0, dword [esp + 0xc]
xorps xmm2, xmm2
movss dword [ebx + 0x34], xmm4
movss dword [ebx + 0x3c], xmm0
movss dword [ebx + 0x40], xmm5
movss xmm5, dword [esp + 0x14]
mov dword [ebx + 0x4c], ecx
mov ecx, dword [esp + 4]
movss dword [ebx + 0x44], xmm5
movss xmm5, dword [esp + 0x80]
movss dword [ebx + 0x48], xmm4
add ebx, 0x50
mov dword [esp + 0x20], ebx
movss xmm0, dword [esp]
jmp 0x423576
addss xmm1, dword [esp]
movss xmm5, dword [esp + 0x80]
xorps xmm2, xmm2
jmp 0x42357a
mov edi, dword [esp + 0x20]
mov eax, edi
sub eax, dword [esi + 0x20]
sar eax, 2
imul ebx, eax, 0xcccccccd
mov eax, dword [esi + 0x1c]
cmp eax, ebx
jge 0x423929
test eax, eax
je 0x4238cf
mov ebp, eax
shr ebp, 0x1f
add ebp, eax
sar ebp, 1
add ebp, eax
jmp 0x4238d4
mov ebp, 8
cmp ebp, ebx
cmovl ebp, ebx
cmp eax, ebp
jge 0x423929
lea eax, [ebp*4]
mov dword [esp], edx
lea eax, [eax + eax*4]
push eax
call fcn.00418288
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x20]
test eax, eax
je 0x423913
mov ecx, dword [esi + 0x18]
shl ecx, 2
lea ecx, [ecx + ecx*4]
push ecx
push eax
push edi
call fcn.0048b1e0
add esp, 0xc
mov eax, dword [esi + 0x20]
push eax
call fcn.00418655
add esp, 4
mov dword [esi + 0x20], edi
mov edx, dword [esp]
mov edi, dword [esp + 0x20]
mov dword [esi + 0x1c], ebp
mov dword [esi + 0x18], ebx
mov ebx, edx
sub ebx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
sar ebx, 1
cmp eax, ebx
jge 0x42399b
test eax, eax
je 0x42394b
mov ebp, eax
shr ebp, 0x1f
add ebp, eax
sar ebp, 1
add ebp, eax
jmp 0x423950
mov ebp, 8
cmp ebp, ebx
cmovl ebp, ebx
cmp eax, ebp
jge 0x42399b
lea eax, [ebp + ebp]
mov dword [esp], edx
push eax
call fcn.00418288
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x14]
test eax, eax
je 0x423985
mov ecx, dword [esi + 0xc]
add ecx, ecx
push ecx
push eax
push edi
call fcn.0048b1e0
add esp, 0xc
mov eax, dword [esi + 0x14]
push eax
call fcn.00418655
add esp, 4
mov dword [esi + 0x14], edi
mov edx, dword [esp]
mov edi, dword [esp + 0x20]
mov dword [esi + 0x10], ebp
mov eax, dword [esp + 0x40]
mov dword [esi + 0xc], ebx
mov ecx, dword [esi + 8]
add eax, dword [esp + 0x3c]
sub ebx, eax
mov eax, dword [esi]
shl eax, 5
add dword [eax + ecx - 0x20], ebx
mov dword [esi + 0x34], edi
mov dword [esi + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [esi + 0x30], eax
mov ecx, dword [esp + 0x48]
xor ecx, esp
call fcn.0043f03d
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret 0x28