Function at 0x100152f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003f0d1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x28
mov eax, dword [0x1004c040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp byte [0x10f6d506], 0
je 0x100157bd
mov eax, dword fs:[0x2c]
mov esi, dword [0x1004c66c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dba7dc]
cmp eax, dword [ecx + 4]
jle 0x100153b8
push 0x11dba7dc
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dba7dc], 0xffffffff
jne 0x100153b8
mov dword [ebp - 4], 0
mov dword [ebp - 0x20], 0x695f6c63
mov dword [ebp - 0x1c], 0x7265746e
mov word [ebp - 0x18], 0x70
mov byte [ebp - 4], 1
lea edx, [ebp - 0x20]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dba7dc
mov dword [0x11dba7ec], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dba7fc]
cmp eax, dword [ecx + 4]
jle 0x10015447
push 0x11dba7fc
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dba7fc], 0xffffffff
jne 0x10015447
mov dword [ebp - 4], 2
mov ecx, 0xc6
xor edx, edx
mov al, byte [edx + 0x100451a0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001540f
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x100153f2
mov byte [ebp - 0x17], 0
mov byte [ebp - 4], 3
lea edx, [ebp - 0x24]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dba7fc
mov dword [0x11dba800], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dba7e0]
cmp eax, dword [ecx + 4]
jle 0x100154d6
push 0x11dba7e0
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dba7e0], 0xffffffff
jne 0x100154d6
mov dword [ebp - 4], 4
mov ecx, 0xbf
xor edx, edx
mov al, byte [edx + 0x100451b0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x1001549e
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x10015481
mov byte [ebp - 0x19], 0
mov byte [ebp - 4], 5
lea edx, [ebp - 0x28]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dba7e0
mov dword [0x11dba830], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dba7f4]
cmp eax, dword [ecx + 4]
jle 0x10015565
push 0x11dba7f4
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dba7f4], 0xffffffff
jne 0x10015565
mov dword [ebp - 4], 6
mov ecx, 0xf6
xor edx, edx
mov al, byte [edx + 0x100451c0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x1001552d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x10015510
mov byte [ebp - 0x18], 0
mov byte [ebp - 4], 7
lea edx, [ebp - 0x28]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dba7f4
mov dword [0x11dba80c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dba81c]
cmp eax, dword [ecx + 4]
jle 0x100155f5
push 0x11dba81c
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dba81c], 0xffffffff
jne 0x100155f5
mov dword [ebp - 4], 8
mov ecx, 0x6a
xor edx, edx
nop
mov al, byte [edx + 0x100451d4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x100155bd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x100155a0
mov byte [ebp - 0x18], 0
mov byte [ebp - 4], 9
lea edx, [ebp - 0x28]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dba81c
mov dword [0x11dba808], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dba820]
cmp eax, dword [ecx + 4]
jle 0x10015685
push 0x11dba820
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dba820], 0xffffffff
jne 0x10015685
mov dword [ebp - 4], 0xa
mov ecx, 0x9b
xor edx, edx
nop
mov al, byte [edx + 0x100451e8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1001564d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1a
jl 0x10015630
mov byte [ebp - 0x16], 0
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x30]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dba820
mov dword [0x11dba7e8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dba828]
cmp eax, dword [ecx + 4]
jle 0x1001572e
push 0x11dba828
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dba828], 0xffffffff
jne 0x1001572e
mov dword [ebp - 4], 0xc
mov ecx, 0xaf
xor edx, edx
mov al, byte [edx + 0x10045204]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x100156e0
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1a
jl 0x100156c3
mov byte [ebp - 0x16], 0
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x30]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
xorps xmm0, xmm0
mov dword [0x11dba7f8], eax
push 0x11dba828
movups xmmword [ebp - 0x30], xmm0
mov word [ebp - 0x18], 0
movq qword [ebp - 0x20], xmm0
mov byte [ebp - 0x16], 0
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov ecx, dword [0x1004c8e0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x1004c8ec]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov eax, dword [0x1004db8c]
cmp eax, 0xffffffff
je 0x100157bd
imul eax, eax, 0x37400
mov ecx, dword [0x1004c8e0]
movss xmm0, dword [eax + 0x10f6de74]
mov eax, dword [0x1004c8e8]
divss xmm0, dword [eax + 0x1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x120]
addss xmm0, dword [0x10047318]
cvttss2si esi, xmm0
call eax
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x24]
call eax
movd xmm1, dword [edi + 8]
fstp dword [ebp - 0x34]
movss xmm0, dword [ebp - 0x34]
mulss xmm0, dword [0x100474b0]
cvtdq2ps xmm1, xmm1
movd xmm2, esi
cvtdq2ps xmm2, xmm2
subss xmm1, xmm0
comiss xmm2, xmm1
jb 0x100157bd
mov dword [edi + 8], esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1003c1fe
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret