Function at 0x108cf07
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
lea ebp, [esp - 0x64]
sub esp, 0x13c
push ebx
push esi
mov ebx, ecx
xor esi, esi
cmp dword [ebx + 0x58], esi
jne 0x108cf27
mov eax, 0x80004005
jmp 0x108d404
mov eax, dword [ebx + 0x674]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov eax, dword [ebx + 0x678]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax]
push 0x144
push eax
call dword [ecx + 0x164]
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x1ac]
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax]
push 0x1c
push esi
push dword [ebx + 0x60]
push esi
push eax
call dword [ecx + 0x190]
test byte [ebp + 0x7c], 8
je 0x108cf98
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax]
push 2
push 6
push esi
push eax
call dword [ecx + 0x114]
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax]
push 2
push 5
push esi
push eax
call dword [ecx + 0x114]
test byte [ebp + 0x7c], 1
je 0x108d039
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax]
lea edx, [ebp + 0x20]
push edx
push eax
call dword [ecx + 0xc0]
fldz
mov edx, dword [ebp + 0x78]
jmp 0x108d017
mov al, byte [edx]
inc edx
cmp al, 0xa
je 0x108d01c
movsx eax, al
lea ecx, [eax - 0x20]
cmp ecx, esi
jl 0x108d017
cmp ecx, 0x60
jge 0x108d017
mov ecx, eax
add eax, 0xffffffe7
shl ecx, 4
fld dword [ecx + ebx - 0x188]
shl eax, 4
fld dword [eax + ebx]
mov eax, dword [ebx + 0x64]
test eax, eax
fsubp st(1)
fdiv dword [ebx + 0x6c]
fild dword [ebx + 0x64]
jge 0x108cff9
fadd dword [0x1001760]
mov eax, dword [ebx + 0x670]
fmulp st(1)
shl eax, 1
test eax, eax
mov dword [ebp + 0x6c], eax
fild dword [ebp + 0x6c]
jge 0x108d013
fadd dword [0x1001760]
fsubp st(1)
faddp st(1)
cmp byte [edx], 0
jne 0x108cfb9
mov eax, dword [ebp + 0x28]
fild dword [ebp + 0x28]
test eax, eax
jge 0x108d02c
fadd dword [0x1001760]
fsub st(1)
fmul dword [0x1001764]
fstp dword [ebp + 0x6c]
fstp st(0)
test byte [ebp + 0x7c], 2
je 0x108d082
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax]
lea edx, [ebp + 0x20]
push edx
push eax
call dword [ecx + 0xc0]
fild dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
test eax, eax
jge 0x108d05f
fadd dword [0x1001760]
fld dword [ebx + 0x7c]
mov eax, dword [ebx + 0x68]
test eax, eax
fsub dword [ebx + 0x74]
fild dword [ebx + 0x68]
jge 0x108d075
fadd dword [0x1001760]
fmulp st(1)
fsubp st(1)
fmul dword [0x1001764]
fstp dword [ebp + 0x70]
mov eax, dword [ebx + 0x670]
fild dword [ebx + 0x670]
test eax, eax
jge 0x108d098
fadd dword [0x1001760]
fsubr dword [ebp + 0x6c]
mov eax, dword [ebx + 0x60]
push 0x2000
lea edx, [ebp + 0x60]
push edx
fst dword [ebp + 0x6c]
push esi
fstp dword [ebp + 0x38]
push esi
mov dword [ebp + 0x60], esi
mov ecx, dword [eax]
push eax
mov dword [ebp + 0x7c], esi
call dword [ecx + 0x2c]
mov eax, dword [ebp + 0x78]
mov cl, byte [eax]
test cl, cl
je 0x108d3d6
push edi
inc dword [ebp + 0x78]
cmp cl, 0xa
jne 0x108d0f5
mov eax, dword [ebp + 0x38]
fld dword [ebx + 0x7c]
fsub dword [ebx + 0x74]
mov dword [ebp + 0x6c], eax
mov eax, dword [ebx + 0x68]
fild dword [ebx + 0x68]
test eax, eax
jge 0x108d0ed
fadd dword [0x1001760]
fmulp st(1)
fadd dword [ebp + 0x70]
fstp dword [ebp + 0x70]
movsx eax, cl
lea edx, [eax - 0x20]
cmp edx, esi
jl 0x108d3c8
cmp edx, 0x60
jge 0x108d3c8
lea edx, [eax - 0x19]
shl eax, 4
shl edx, 4
fld dword [edx + ebx]
add eax, ebx
mov edx, dword [eax - 0x18c]
fstp dword [ebp + 0x58]
mov dword [ebp + 0x5c], edx
fld1
mov edx, dword [eax - 0x188]
fdiv dword [ebx + 0x6c]
mov eax, dword [eax - 0x184]
mov dword [ebp + 0x54], edx
mov dword [ebp + 0x4c], eax
mov eax, dword [ebx + 0x64]
test eax, eax
fld dword [ebp + 0x54]
fsub dword [ebp + 0x58]
fild dword [ebx + 0x64]
jge 0x108d153
fadd dword [0x1001760]
mov eax, dword [ebx + 0x68]
fmulp st(1)
test eax, eax
fmul st(1)
fstp dword [ebp + 0x48]
fld dword [ebp + 0x4c]
fsub dword [ebp + 0x5c]
fild dword [ebx + 0x68]
jge 0x108d170
fadd dword [0x1001760]
cmp cl, 0x20
fmulp st(1)
fmulp st(1)
je 0x108d3a5
fld dword [0x1001764]
push ecx
fld dword [ebp + 0x6c]
push ecx
fsub st(1)
lea eax, [ebp + 0x10]
mov dword [ebp + 0x18], 0x3f666666
fst dword [ebp + 0x3c]
fstp dword [ebp + 0x10]
fld st(1)
fadd dword [ebp + 0x70]
fsub st(1)
fst dword [ebp + 0x40]
fstp st(2)
fstp st(0)
fstp dword [ebp + 0x14]
fld1
fstp dword [ebp + 0x1c]
fld dword [ebp + 0x4c]
fstp dword [esp + 4]
fld dword [ebp + 0x58]
fstp dword [esp]
push dword [ebp + 0x74]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0108cec2
fld dword [ebp + 0x70]
fsub dword [0x1001764]
mov edi, dword [ebp + 0x60]
push 7
pop ecx
fst dword [ebp + 0x50]
add esp, 0xc
fstp dword [ebp - 0x2c]
mov esi, eax
mov eax, dword [ebp + 0x3c]
fld1
fstp dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
fld dword [ebp + 0x5c]
lea eax, [ebp - 0x30]
fstp dword [esp + 4]
rep movsd dword es:[edi], dword [esi]
fld dword [ebp + 0x58]
fstp dword [esp]
push dword [ebp + 0x74]
add dword [ebp + 0x60], 0x1c
push eax
lea eax, [ebp - 0x84]
push eax
mov dword [ebp - 0x28], 0x3f666666
call fcn.0108cec2
mov edi, dword [ebp + 0x60]
fld dword [ebp + 0x48]
push 7
fadd dword [ebp + 0x6c]
pop ecx
add esp, 0xc
mov esi, eax
fsub dword [0x1001764]
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
fst dword [ebp + 0x44]
rep movsd dword es:[edi], dword [esi]
fstp dword [ebp - 0x20]
fld1
fstp dword [ebp - 0x14]
fld dword [ebp + 0x4c]
fstp dword [esp + 4]
fld dword [ebp + 0x54]
fstp dword [esp]
push dword [ebp + 0x74]
add dword [ebp + 0x60], 0x1c
push eax
lea eax, [ebp - 0xbc]
push eax
mov dword [ebp - 0x18], 0x3f666666
call fcn.0108cec2
push 7
mov edi, dword [ebp + 0x60]
fld1
pop ecx
fstp dword [ebp + 0xc]
fld dword [ebp + 0x5c]
mov esi, eax
mov eax, dword [ebp + 0x44]
fstp dword [esp + 0x10]
fld dword [ebp + 0x54]
add esp, 0xc
mov dword [ebp], eax
fstp dword [esp]
mov eax, dword [ebp + 0x50]
push dword [ebp + 0x74]
mov dword [ebp + 4], eax
lea eax, [ebp]
push eax
lea eax, [ebp - 0x68]
rep movsd dword es:[edi], dword [esi]
add dword [ebp + 0x60], 0x1c
push eax
mov dword [ebp + 8], 0x3f666666
call fcn.0108cec2
mov edi, dword [ebp + 0x60]
push 7
fld1
pop ecx
fstp dword [ebp - 4]
fld dword [ebp + 0x4c]
mov esi, eax
mov eax, dword [ebp + 0x44]
fstp dword [esp + 0x10]
fld dword [ebp + 0x54]
add esp, 0xc
mov dword [ebp - 0x10], eax
fstp dword [esp]
mov eax, dword [ebp + 0x40]
push dword [ebp + 0x74]
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xa0]
rep movsd dword es:[edi], dword [esi]
add dword [ebp + 0x60], 0x1c
push eax
mov dword [ebp - 8], 0x3f666666
call fcn.0108cec2
mov edi, dword [ebp + 0x60]
push 7
fld1
pop ecx
fstp dword [ebp + 0x34]
fld dword [ebp + 0x5c]
mov esi, eax
mov eax, dword [ebp + 0x3c]
fstp dword [esp + 0x10]
fld dword [ebp + 0x58]
add esp, 0xc
mov dword [ebp + 0x28], eax
fstp dword [esp]
mov eax, dword [ebp + 0x50]
push dword [ebp + 0x74]
mov dword [ebp + 0x2c], eax
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp - 0xd8]
rep movsd dword es:[edi], dword [esi]
add dword [ebp + 0x60], 0x1c
push eax
mov dword [ebp + 0x30], 0x3f666666
call fcn.0108cec2
mov edi, dword [ebp + 0x60]
add esp, 0x14
push 7
pop ecx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
add dword [ebp + 0x60], 0x1c
mov esi, dword [ebp + 0x7c]
inc esi
inc esi
lea eax, [esi + esi*2]
cmp eax, 0x126
mov dword [ebp + 0x7c], esi
jbe 0x108d3a1
mov eax, dword [ebx + 0x60]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax]
push esi
xor esi, esi
push esi
push 4
push eax
call dword [ecx + 0x144]
mov eax, dword [ebx + 0x60]
push 0x2000
lea edx, [ebp + 0x60]
push edx
push esi
push esi
mov dword [ebp + 0x60], esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
mov dword [ebp + 0x7c], esi
xor esi, esi
jmp 0x108d3a7
fstp st(0)
mov eax, dword [ebx + 0x670]
shl eax, 1
test eax, eax
mov dword [ebp + 0x50], eax
fild dword [ebp + 0x50]
jge 0x108d3bf
fadd dword [0x1001760]
fsubr dword [ebp + 0x48]
fadd dword [ebp + 0x6c]
fstp dword [ebp + 0x6c]
mov eax, dword [ebp + 0x78]
mov cl, byte [eax]
test cl, cl
jne 0x108d0c9
pop edi
mov eax, dword [ebx + 0x60]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
cmp dword [ebp + 0x7c], esi
jbe 0x108d3f6
push dword [ebp + 0x7c]
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax]
push esi
push 4
push eax
call dword [ecx + 0x144]
mov ebx, dword [ebx + 0x674]
mov eax, dword [ebx]
push ebx
call dword [eax + 0x14]
xor eax, eax
pop esi
pop ebx
add ebp, 0x64
leave
ret 0x14