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

Disassembly:
mov eax, 0x1ca0
call fcn.00584c40
push ebx
push ebp
mov ebp, dword [esp + 0x1ccc]
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x1cc4]
lea edx, [ebp + 4]
mov dword [esp + 0x10], ebp
mov eax, edx
lea ebx, [edx + edx*4]
imul eax, ecx
push esi
push edi
lea esi, [edx + edx*4]
shl ebx, 2
shl esi, 3
lea edi, [eax + eax*4]
lea eax, [ecx + ecx*4]
mov dword [esp + 0x54], eax
lea eax, [ecx + ecx]
mov dword [esp + 0x4c], eax
lea eax, [ecx + ecx*8]
add eax, eax
mov dword [esp + 0x64], eax
dec eax
mov dword [esp + 0x60], eax
imul eax, ebp, 0x254
push eax
lea eax, [esp + 0x774]
push 0
push eax
call fcn.00585a40
mov eax, dword [esp + 0x1cd8]
add esp, 0xc
mov edx, dword [esp + 0x48]
cmp eax, 0x10
jne 0x568cdc
push edi
lea ecx, [esp + 0x1214]
call fcn.00568ae0
add esp, 4
lea edx, [esp + 0x130]
xor eax, eax
lea ecx, [esp + 0xd8]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
lea eax, [esp + 0x1210]
push edi
push eax
call fcn.0056e870
push esi
lea edx, [esp + 0x13c]
lea ecx, [esp + 0x121c]
call fcn.00568b60
add esp, 0xc
jmp 0x568d62
cmp eax, 0xc
jne 0x568d52
push edi
lea ecx, [esp + 0x3b4]
call fcn.00568ae0
xor eax, eax
lea edx, [esp + 0x134]
add esp, 4
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
lea ecx, [esp + 0xd8]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
lea eax, [esp + 0x3b0]
push edi
push eax
call fcn.0056e950
push esi
lea edx, [esp + 0x13c]
lea ecx, [esp + 0x121c]
call fcn.00568b60
add esp, 0xc
jmp 0x568d62
push esi
lea ecx, [esp + 0x134]
call fcn.00568ae0
add esp, 4
xor eax, eax
lea edx, [esp + 0x3b0]
mov dword [esp + 0xd8], eax
lea ecx, [esp + 0xd8]
mov dword [esp + 0xdc], eax
lea eax, [esp + 0x130]
push esi
push eax
call fcn.0056e870
push ebx
lea edx, [esp + 0x3bc]
lea ecx, [esp + 0x13c]
call fcn.00568b60
lea eax, [ebx - 1]
add esp, 0xc
test eax, eax
jle 0x568dd0
lea esp, [esp]
movss xmm0, dword [esp + eax*4 + 0x12c]
addss xmm0, dword [esp + eax*4 + 0x130]
movss dword [esp + eax*4 + 0x130], xmm0
dec eax
test eax, eax
jg 0x568db0
sar ebp, 1
lea ebx, [esp + 0x270]
test ebp, ebp
jle 0x568e7e
lea esi, [ebx - 0x20]
mov edx, 0x28
mov ecx, esi
call fcn.005685a0
fadd qword [0x5f4730]
push edx
mov edx, esi
mov ecx, ebx
fstp qword [esp + 0x3c]
call fcn.0056e790
fld qword [esp + 0x3c]
add esp, 4
fld st(0)
mov edi, 9
fsqrt
fdivp st(2)
fxch st(1)
fadd dword [esp + 0x790]
fstp dword [esp + 0x790]
fld dword [esi + 0x9c]
sub esi, 4
push 0x28
mov edx, esi
mov ecx, ebx
fld dword [esi]
fmul st(0), st(0)
fxch st(1)
fmul st(0), st(0)
fsubp st(1)
faddp st(1)
fstp qword [esp + 0x3c]
call fcn.0056e790
fld qword [esp + 0x3c]
add esp, 4
fld st(0)
fsqrt
fdivp st(2)
fxch st(1)
fadd dword [esp + edi*4 + 0x770]
fstp dword [esp + edi*4 + 0x770]
inc edi
cmp edi, 0x48
jle 0x568e26
add ebx, 0xa0
fstp st(0)
sub ebp, 1
jne 0x568de1
movss xmm2, dword [0x5f4538]
mov eax, 0x48
jmp 0x568e90
movss xmm1, dword [esp + eax*4 + 0x770]
cvtsi2ss xmm0, eax
mulss xmm0, xmm1
mulss xmm0, xmm2
subss xmm1, xmm0
movss dword [esp + eax*4 + 0x770], xmm1
dec eax
cmp eax, 8
jge 0x568e90
mov eax, dword [esp + 0x1cd0]
lea ebp, [eax + eax]
xor eax, eax
lea ebx, [ebp + 4]
test ebx, ebx
jle 0x568ed9
jmp 0x568ed0
mov dword [esp + eax*4 + 0x78], eax
inc eax
cmp eax, ebx
jl 0x568ed0
mov esi, 1
cmp ebx, esi
jle 0x568ffd
lea edi, [esi - 9]
lea esp, [esp]
movss xmm0, dword [esp + esi*4 + 0x790]
lea edx, [esi - 1]
cmp esi, 4
jb 0x568fb4
mov ecx, edi
jmp 0x568f10
movss xmm1, dword [esp + ecx + 0x798]
comiss xmm0, xmm1
jbe 0x568fe4
mov eax, dword [esp + ecx + 0x80]
movss dword [esp + ecx + 0x79c], xmm1
movss xmm1, dword [esp + ecx + 0x794]
comiss xmm0, xmm1
mov dword [esp + ecx + 0x84], eax
jbe 0x5691c3
mov eax, dword [esp + ecx + 0x7c]
movss dword [esp + ecx + 0x798], xmm1
movss xmm1, dword [esp + ecx + 0x790]
comiss xmm0, xmm1
mov dword [esp + ecx + 0x80], eax
jbe 0x5691bb
mov eax, dword [esp + ecx + 0x78]
movss dword [esp + ecx + 0x794], xmm1
movss xmm1, dword [esp + ecx + 0x78c]
comiss xmm0, xmm1
mov dword [esp + ecx + 0x7c], eax
jbe 0x5691b3
mov eax, dword [esp + ecx + 0x74]
sub edx, 4
movss dword [esp + ecx + 0x790], xmm1
mov dword [esp + ecx + 0x78], eax
sub ecx, 0x10
cmp edx, 3
jge 0x568f10
test edx, edx
js 0x568fe4
jmp 0x568fc0
movss xmm1, dword [esp + edx*4 + 0x790]
comiss xmm0, xmm1
jbe 0x568fe4
mov eax, dword [esp + edx*4 + 0x78]
movss dword [esp + edx*4 + 0x794], xmm1
mov dword [esp + edx*4 + 0x7c], eax
sub edx, 1
jns 0x568fc0
mov dword [esp + edx*4 + 0x7c], esi
add edi, 4
inc esi
movss dword [esp + edx*4 + 0x794], xmm0
cmp esi, ebx
jl 0x568ef0
mov esi, ebx
cmp ebx, 0x41
jge 0x56912b
jmp 0x569010
movss xmm0, dword [esp + esi*4 + 0x790]
comiss xmm0, dword [esp + ebx*4 + 0x78c]
jbe 0x569121
lea edx, [ebx - 2]
test edx, edx
js 0x569114
cmp edx, 3
jl 0x5690f0
lea ecx, [ebp*4]
movss xmm1, dword [esp + ecx + 0x798]
comiss xmm0, xmm1
jbe 0x569114
mov eax, dword [esp + ecx + 0x80]
movss dword [esp + ecx + 0x79c], xmm1
movss xmm1, dword [esp + ecx + 0x794]
comiss xmm0, xmm1
mov dword [esp + ecx + 0x84], eax
jbe 0x5691d9
mov eax, dword [esp + ecx + 0x7c]
movss dword [esp + ecx + 0x798], xmm1
movss xmm1, dword [esp + ecx + 0x790]
comiss xmm0, xmm1
mov dword [esp + ecx + 0x80], eax
jbe 0x5691d1
mov eax, dword [esp + ecx + 0x78]
movss dword [esp + ecx + 0x794], xmm1
movss xmm1, dword [esp + ecx + 0x78c]
comiss xmm0, xmm1
mov dword [esp + ecx + 0x7c], eax
jbe 0x5691c9
mov eax, dword [esp + ecx + 0x74]
sub edx, 4
mov dword [esp + ecx + 0x78], eax
mov eax, edx
movss dword [esp + ecx + 0x790], xmm1
sub ecx, 0x10
cmp edx, 3
jge 0x569042
test eax, eax
js 0x569114
lea esp, [esp]
movss xmm1, dword [esp + edx*4 + 0x790]
comiss xmm0, xmm1
jbe 0x569114
mov eax, dword [esp + edx*4 + 0x78]
movss dword [esp + edx*4 + 0x794], xmm1
mov dword [esp + edx*4 + 0x7c], eax
sub edx, 1
jns 0x5690f0
movss dword [esp + edx*4 + 0x794], xmm0
mov dword [esp + edx*4 + 0x7c], esi
inc esi
cmp esi, 0x41
jl 0x569010
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x130]
fld qword [0x5f4700]
movsx eax, dx
lea eax, [eax + eax*4]
shl eax, 4
add ecx, eax
xor eax, eax
fld dword [ecx + eax*4]
inc eax
fmul st(0), st(0)
faddp st(1)
cmp eax, 0x50
jl 0x569149
fmul qword [0x5f4668]
fld dword [esp + 0x790]
fmul st(0), st(0)
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x5691df
lea eax, [edx*4]
push eax
push 0
push dword [esp + 0x58]
call fcn.00585a40
mov eax, dword [esp + 0x1cc8]
add esp, 0xc
xor ecx, ecx
mov dword [eax], 0
mov eax, dword [esp + 0x1cb4]
mov word [eax], cx
mov eax, dword [esp + 0x1cb8]
mov byte [eax], cl
lea eax, [ecx + 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1ca0
ret
add edx, 0xfffffffd
jmp 0x568fe4
add edx, 0xfffffffe
jmp 0x568fe4
dec edx
jmp 0x568fe4
add edx, 0xfffffffd
jmp 0x569114
add edx, 0xfffffffe
jmp 0x569114
dec edx
jmp 0x569114
movss xmm1, dword [esp + 0x790]
xor edx, edx
mulss xmm1, dword [esp + 0x1cc4]
test ebx, ebx
jle 0x569229
xor ecx, ecx
lea esp, [esp]
movss xmm0, dword [esp + ecx + 0x790]
comiss xmm0, xmm1
jbe 0x569227
mov eax, dword [esp + ecx + 0x78]
inc edx
lea eax, [eax*2 + 0x10]
mov dword [esp + ecx + 0x78], eax
add ecx, 4
cmp edx, ebx
jl 0x569200
jmp 0x569229
mov ebx, edx
xor eax, eax
lea edi, [esp + 0x3c6]
mov ecx, 0x44
rep stosd dword es:[edi], eax
xor ecx, ecx
stosw word es:[edi], ax
lea edx, [ecx + 1]
test ebx, ebx
jle 0x569261
jmp 0x569250
mov eax, dword [esp + ecx*4 + 0x78]
inc ecx
mov word [esp + eax*2 + 0x3b0], dx
cmp ecx, ebx
jl 0x569250
mov ecx, 0x92
jmp 0x569270
mov ax, word [esp + ecx*2 + 0x3ae]
add ax, word [esp + ecx*2 + 0x3ac]
add word [esp + ecx*2 + 0x3b0], ax
dec ecx
cmp ecx, 0x10
jge 0x569270
xor ecx, ecx
mov eax, 0x10
cmp word [esp + eax*2 + 0x3b2], 0
jle 0x5692a5
mov dword [esp + ecx*4 + 0x78], eax
inc ecx
inc eax
cmp eax, 0x90
jl 0x569295
movzx ebx, word [esp + 0x4d0]
lea esi, [esp + 0x4d0]
mov dword [esp + 0x34], ecx
mov edi, 0x83
mov ax, word [esi + 2]
lea esi, [esi - 2]
movzx edx, word [esi]
add ax, bx
add ax, dx
mov ebx, edx
add word [esi + 6], ax
sub edi, 1
jne 0x5692c5
xor ebp, ebp
mov ecx, 0x10
jmp 0x5692f0
cmp word [esp + ecx*2 + 0x3b0], 0
jle 0x569307
lea eax, [ecx - 2]
mov word [esp + ebp*2 + 0x3b0], ax
inc ebp
inc ecx
cmp ecx, 0x93
jl 0x5692f0
push 0x950
lea eax, [esp + 0x774]
push 0
push eax
call fcn.00585a40
mov ecx, dword [esp + 0x1cd8]
add esp, 0xc
cmp ecx, 8
jne 0x56933f
mov ebx, dword [esp + 0x48]
add ebx, 0x280
jmp 0x569346
lea ebx, [esp + 0x1490]
fldz
xorps xmm2, xmm2
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], ebx
fstp qword [esp + 0x68]
fld qword [0x5f45c0]
fstp qword [esp + 0x70]
test edi, edi
jle 0x569430
xor esi, esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x1c], esi
mov edx, 0x28
mov ecx, ebx
call fcn.005685a0
xor edi, edi
fstp qword [esp + 0x58]
test ebp, ebp
jle 0x569406
lea ecx, [ecx]
movsx esi, word [esp + edi*2 + 0x3b0]
mov edx, dword [esp + 0x14]
push 0x28
lea eax, [esi*4]
sub ebx, eax
mov ecx, ebx
call fcn.0056e790
fld qword [esp + 0x6c]
add esp, 4
add esi, dword [esp + 0x1c]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x5693eb
fmul st(0), st(0)
mov edx, 0x28
mov ecx, ebx
fstp qword [esp + 0x38]
call fcn.005685a0
fmul qword [esp + 0x58]
fadd qword [esp + 0x70]
fdivr qword [esp + 0x38]
fstp dword [esp + 0x38]
movss xmm0, dword [esp + 0x38]
jmp 0x5693f0
fstp st(0)
movaps xmm0, xmm2
mov ebx, dword [esp + 0x14]
inc edi
movss dword [esp + esi*4 + 0x770], xmm0
cmp edi, ebp
jl 0x569390
mov esi, dword [esp + 0x1c]
add ebx, 0xa0
add esi, 0x95
sub dword [esp + 0x2c], 1
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], esi
jne 0x569373
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1ccc]
movss xmm1, dword [0x5f47f8]
movaps xmm3, xmm2
mov eax, dword [esp + 0x1cc0]
movaps xmm6, xmm1
fld qword [0x5f46d8]
mov dword [esp + 0x14], 0
mov dword [esp + 0x30], 0xffffffff
test eax, eax
jle 0x5694ad
cmp ecx, 0xc
jne 0x56947e
lea ecx, [eax + eax]
mov eax, 0x55555556
imul ecx
mov ecx, dword [esp + 0x1ccc]
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x569485
cmp ecx, 0x10
jne 0x56948c
shr eax, 1
mov dword [esp + 0x1cc0], eax
fild dword [esp + 0x1cc0]
fldlg2
fxch st(1)
fyl2x
fmul st(1)
fstp dword [esp + 0x38]
movss xmm0, dword [esp + 0x38]
movss dword [esp + 0x44], xmm0
jmp 0x5694b3
movss dword [esp + 0x44], xmm2
cmp edi, 4
jne 0x5694da
lea ebp, [edi + 7]
mov eax, 0x5e72d0
mov dword [esp + 0x28], eax
cmp ecx, 8
jne 0x5694d3
cmp dword [esp + 0x1cd0], 0
jg 0x5694e8
mov esi, 3
jmp 0x5694ea
mov eax, 0x5e72c8
mov ebp, 3
mov dword [esp + 0x28], eax
mov esi, ebp
xor ecx, ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x34], ecx
jle 0x569b43
movss xmm4, dword [esp + 0x1cc8]
cvtsi2ss xmm5, edi
movaps xmm7, xmm5
mulss xmm7, dword [0x5f45b8]
movss dword [esp + 0x38], xmm7
fld dword [esp + 0x38]
jmp 0x569525
xorps xmm2, xmm2
mov edx, dword [esp + ecx*4 + 0x78]
lea edi, [esp + 0xd8]
mov ecx, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], edi
mov dword [edi], 0
movaps xmm0, xmm2
test ecx, ecx
jle 0x56958f
mov esi, dword [esp + 0x18]
lea edx, [eax + ebx]
mov ebx, dword [esp + 0x1c]
xor ecx, ecx
movsx eax, byte [edx]
add edx, ebp
add eax, ecx
add ecx, 0x95
add eax, dword [esp + ebx*4 + 0x78]
addss xmm0, dword [esp + eax*4 + 0x770]
sub esi, 1
jne 0x56955c
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
movss dword [edi], xmm0
mov eax, dword [esp + 0x28]
inc ebx
add edi, 4
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], edi
cmp ebx, esi
jl 0x569542
movaps xmm2, xmm1
xor ecx, ecx
movss dword [esp + 0x20], xmm2
xor eax, eax
movss xmm0, dword [esp + eax*4 + 0xd8]
comiss xmm0, xmm2
jbe 0x5695c3
movaps xmm2, xmm0
mov ecx, eax
inc eax
cmp eax, esi
jl 0x5695b0
xorps xmm0, xmm0
movss dword [esp + 0x20], xmm2
comiss xmm2, xmm0
ja 0x5695df
movaps xmm2, xmm0
movss dword [esp + 0x20], xmm2
cmp dword [esp + 0x1cc0], 0
fild dword [esp + 0x38]
mov edx, dword [esp + 0x1cbc]
fldlg2
fxch st(1)
fyl2x
fmul st(2)
fst dword [esp + 0x38]
fmul st(1)
fsubr dword [esp + 0x20]
fstp dword [esp + 0x24]
jle 0x56963d
movss xmm1, dword [esp + 0x38]
movaps xmm0, xmm7
subss xmm1, dword [esp + 0x44]
mulss xmm0, dword [edx]
mulss xmm1, xmm1
mulss xmm0, xmm1
addss xmm1, dword [0x5f45ec]
divss xmm0, xmm1
movss xmm1, dword [esp + 0x24]
subss xmm1, xmm0
jmp 0x569643
movss xmm1, dword [esp + 0x24]
comiss xmm1, xmm6
jbe 0x569679
movaps xmm0, xmm5
mulss xmm0, xmm4
mulss xmm0, xmm4
comiss xmm2, xmm0
jbe 0x569679
cmp byte [ecx + 0x5e72d0], 0x10
jg 0x569679
mov eax, dword [esp + 0x1c]
movaps xmm6, xmm1
movaps xmm3, xmm2
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + eax*4 + 0x78]
mov dword [esp + 0x30], ebx
jmp 0x56967d
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
movss xmm1, dword [0x5f47f8]
inc ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], ecx
cmp ecx, dword [esp + 0x34]
jl 0x569522
fstp st(0)
fstp st(0)
cmp ebx, 0xffffffff
je 0x569b45
mov eax, dword [esp + 0x1ccc]
cmp eax, 8
jle 0x569a92
cmp eax, 0xc
jne 0x5696cf
movsx eax, bx
lea eax, [eax + eax*2]
mov edi, eax
and eax, 1
sar edi, 1
add edi, eax
jmp 0x5696d2
lea edi, [ebx + ebx]
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x60]
cmp ecx, ebp
jle 0x5696ed
cmp edi, ecx
jle 0x5696e6
mov edi, ecx
jmp 0x5696fa
cmp edi, ebp
cmovl edi, ebp
jmp 0x5696fa
cmp edi, ebp
jle 0x5696f5
mov edi, ebp
jmp 0x5696fa
cmp edi, ecx
cmovl edi, ecx
lea eax, [edi - 2]
mov dword [esp + 0x28], edi
cmp eax, ecx
mov dword [esp + 0x14], 0
mov ebx, ecx
mov ecx, ebp
cmovg ebx, eax
lea eax, [edi + 2]
cmp eax, ebp
mov dword [esp + 0x58], ebx
mov ebp, dword [esp + 0x54]
cmovl ecx, eax
shl ebp, 4
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x18]
add ebp, dword [esp + 0x48]
cvtsi2ss xmm0, ecx
divss xmm3, xmm0
sqrtss xmm0, xmm3
movss dword [edx], xmm0
cmp ecx, 4
jne 0x56977b
mov eax, dword [esp + 0x1cd0]
mov dword [esp + 0x30], 0x5e7320
mov dword [esp + 0x24], 0x22
movsx esi, byte [eax + 0x5e72fc]
lea edx, [eax*8 + 0x5e73b0]
xor eax, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], eax
jmp 0x5697a7
xor eax, eax
mov dword [esp + 0x30], 0x5e7300
mov dword [esp + 0x1c], eax
mov esi, 0xc
mov dword [esp + 0x34], esi
mov edx, 0x5e7318
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], esi
test ecx, ecx
jle 0x5698ab
lea ecx, [esp + 0x1214]
mov dword [esp + 0x2c], ecx
movsx ebx, byte [edx + eax*2]
movsx edi, byte [edx + eax*2 + 1]
mov dword [esp + 0x44], ebx
cmp ebx, edi
jg 0x56980d
mov eax, dword [esp + 0x58]
lea ebx, [esp + 0xd8]
add eax, dword [esp + 0x44]
mov esi, ebp
sub edi, dword [esp + 0x44]
shl eax, 2
sub esi, eax
inc edi
mov edi, edi
push dword [esp + 0x54]
mov edx, esi
mov ecx, ebp
call fcn.0056e790
fstp dword [ebx]
add esp, 4
add ebx, 4
sub esi, 4
sub edi, 1
jne 0x5697e0
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
test esi, esi
jle 0x56986d
mov edx, dword [esp + 0x30]
lea esp, [esp]
movsx eax, byte [edx]
lea edx, [edx + 1]
sub eax, ebx
fld dword [esp + eax*4 + 0xd8]
fstp dword [ecx - 4]
fld dword [esp + eax*4 + 0xdc]
fstp dword [ecx]
fld dword [esp + eax*4 + 0xe0]
fstp dword [ecx + 4]
fld dword [esp + eax*4 + 0xe4]
fstp dword [ecx + 8]
fld dword [esp + eax*4 + 0xe8]
fstp dword [ecx + 0xc]
add ecx, 0x14
sub esi, 1
jne 0x569820
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x54]
inc eax
add ecx, 0x2a8
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], ecx
lea edx, [ebx*4]
add ebp, edx
mov edx, dword [esp + 0x24]
add dword [esp + 0x30], edx
mov edx, dword [esp + 0x20]
cmp eax, dword [esp + 0x18]
jl 0x5697b2
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1cd0]
mov edx, dword [esp + 0x48]
push esi
push ecx
push dword [esp + 0x5c]
lea ecx, [esp + 0x77c]
push ebx
call fcn.00569b90
movss xmm1, dword [0x5f458c]
add esp, 0x10
cmp dword [esp + 0x18], 4
cvtsi2ss xmm0, edi
divss xmm1, xmm0
movss dword [esp + 0x58], xmm1
jne 0x5698f2
movsx ebp, byte [esi + 0x5e72fc]
jmp 0x5698f7
mov ebp, 0xc
mov ecx, dword [esp + 0x38]
mov edx, 0x5e7320
mov eax, 0x5e7300
mov esi, 0x22
cmove eax, edx
mov edx, 0xc
cmovne esi, edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], esi
cmp ebx, ecx
jg 0x569a06
fld1
xor eax, eax
fld dword [esp + 0x58]
xorps xmm2, xmm2
movss xmm1, dword [0x5f47f8]
mov dword [esp + 0x44], eax
xor edx, edx
mov dword [esp + 0x58], edx
test ebp, ebp
jle 0x5699ea
fld qword [esp + 0x68]
mov esi, eax
mov ecx, dword [esp + 0x18]
fld st(0)
fld qword [esp + 0x70]
test ecx, ecx
jle 0x5699a2
mov eax, esi
fadd dword [esp + eax + 0x770]
fld dword [esp + eax + 0x1210]
add eax, 0x2a8
faddp st(2)
sub ecx, 1
jne 0x569960
fxch st(1)
fcomi st(2)
jbe 0x5699a6
fstp st(2)
fild dword [esp + 0x58]
fmul st(3)
fsubr st(4)
fxch st(2)
fmul st(0), st(0)
fdivrp st(1)
fmulp st(1)
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
fld qword [esp + 0x68]
jmp 0x5699ad
fstp st(1)
jmp 0x5699a8
fstp st(0)
fstp st(0)
movaps xmm0, xmm2
comiss xmm0, xmm1
jbe 0x5699d0
movsx eax, byte [edx + 0x5e7320]
add eax, ebx
cmp eax, dword [esp + 0x60]
jg 0x5699d0
movss dword [esp + 0x58], xmm0
mov edi, ebx
mov dword [esp + 0x14], edx
movaps xmm1, xmm0
inc edx
add esi, 0x14
mov dword [esp + 0x58], edx
cmp edx, ebp
jl 0x569950
mov eax, dword [esp + 0x44]
fstp st(0)
mov ecx, dword [esp + 0x38]
add eax, 4
inc ebx
mov dword [esp + 0x44], eax
cmp ebx, ecx
jle 0x56993c
mov esi, dword [esp + 0x24]
fstp st(1)
mov eax, dword [esp + 0x34]
fstp st(0)
mov ebx, dword [esp + 0x18]
xor ecx, ecx
test ebx, ebx
jle 0x569a86
mov ebp, dword [esp + 0x64]
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x4c], ebp
jle 0x569a56
add edx, eax
movsx eax, byte [edx]
add eax, edi
cmp eax, dword [esp + 0x4c]
jle 0x569a35
mov eax, dword [esp + 0x4c]
jmp 0x569a3a
cmp eax, ebp
cmovl eax, ebp
mov esi, dword [esp + 0x50]
add edx, dword [esp + 0x24]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, ebx
jl 0x569a24
sub edi, dword [esp + 0x4c]
movzx ecx, di
jmp 0x569b1f
xor ecx, ecx
add edx, eax
lea ebx, [ebx]
movsx eax, byte [edx]
add eax, edi
cmp eax, ebp
jle 0x569a6d
mov eax, ebp
jmp 0x569a76
cmp eax, dword [esp + 0x4c]
cmovl eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
add edx, esi
mov dword [ebx + ecx*4], eax
inc ecx
cmp ecx, dword [esp + 0x18]
jl 0x569a60
sub edi, dword [esp + 0x4c]
movzx ecx, di
jmp 0x569b1f
divss xmm3, xmm5
mov esi, dword [esp + 0x18]
xor ecx, ecx
sqrtss xmm0, xmm3
movss dword [edx], xmm0
test esi, esi
jle 0x569b19
mov edx, dword [esp + 0x14]
mov eax, edx
mov edi, dword [esp + 0x64]
mov dword [esp + 0x14], eax
cmp edi, 0x10
jge 0x569aeb
add edx, dword [esp + 0x28]
movsx eax, byte [edx]
add eax, ebx
cmp eax, 0x10
jle 0x569ad4
mov eax, 0x10
jmp 0x569ad9
cmp eax, edi
cmovl eax, edi
mov esi, dword [esp + 0x50]
add edx, ebp
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, dword [esp + 0x18]
jl 0x569ac3
jmp 0x569b19
xor ecx, ecx
add edx, dword [esp + 0x28]
movsx eax, byte [edx]
add eax, ebx
cmp eax, edi
jle 0x569afe
mov eax, edi
jmp 0x569b09
cmp eax, 0x10
mov esi, 0x10
cmovl eax, esi
mov esi, dword [esp + 0x50]
add edx, ebp
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, dword [esp + 0x18]
jl 0x569af1
lea eax, [ebx - 0x10]
movzx ecx, ax
mov eax, dword [esp + 0x1cb4]
mov word [eax], cx
mov eax, dword [esp + 0x1cb8]
mov ecx, dword [esp + 0x14]
mov byte [eax], cl
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1ca0
ret
fstp st(0)
mov eax, dword [esp + 0x50]
xor ecx, ecx
xor edx, edx
pop edi
pop esi
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
lea eax, [edx + 1]
mov ecx, dword [esp + 0x1cb4]
pop ebp
pop ebx
mov dword [ecx], 0
mov ecx, dword [esp + 0x1ca4]
mov word [ecx], dx
mov ecx, dword [esp + 0x1ca8]
mov byte [ecx], dl
add esp, 0x1ca0
ret