Function at 0x100052e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1001ef30
mov eax, dword fs:[0]
push eax
sub esp, 0x188
mov eax, dword [0x1002abc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movss xmm2, dword [ebp + 0x30]
movss xmm3, dword [ebp + 0x34]
subss xmm2, dword [ebp + 0x24]
subss xmm3, dword [ebp + 0x28]
movq xmm0, qword [ebp + 0x24]
movss xmm4, dword [ebp + 0x38]
subss xmm4, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
movq qword [ebp - 0x128], xmm0
movaps xmm1, xmm3
movaps xmm0, xmm2
mulss xmm1, xmm3
mov dword [ebp - 0x120], eax
mulss xmm0, xmm2
mov dword [ebp - 0x108], 0
addss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
addss xmm1, xmm0
movss dword [ebp - 0xf0], xmm1
sqrtss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0x108], xmm0
cmp dword [0x1002ae08], 0
movss xmm0, dword [ebp - 0x108]
addss xmm0, dword [0x10025388]
movss xmm1, dword [0x100253cc]
mov edi, dword [ebp + 0xc]
divss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm0, xmm2
movss dword [ebp - 0x10c], xmm0
movaps xmm0, xmm1
mulss xmm0, xmm3
mulss xmm1, xmm4
movss dword [ebp - 0x110], xmm0
movd xmm0, dword [ebp + 0x10]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x114], xmm1
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp + 0x1c]
movss dword [ebp - 0x118], xmm0
jne 0x100054d5
push 0
push 0
mov ecx, 0x12
xor edx, edx
nop
mov al, byte [edx + str.jklmno_abcdefgXYZ___PQ]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x3c], al
and ecx, 0x800000ff
jns 0x1000541d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1f
jl 0x10005400
mov byte [ebp - 0x1d], 0
sub esp, 0x18
mov dword [ebp - 4], 0
mov edx, esp
mov dword [ebp - 0xf8], esp
xorps xmm0, xmm0
lea ecx, [ebp - 0x3c]
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10005453
sub ecx, esi
lea eax, [ebp - 0x3c]
push ecx
push eax
mov ecx, edx
call fcn.100011f0
push 0x10025334
mov dword [ebp - 0x1c], 0x65696c63
mov dword [ebp - 0x18], 0x642e746e
mov word [ebp - 0x14], 0x6c6c
mov byte [ebp - 0x12], 0
sub esp, 0x18
mov byte [ebp - 4], 2
mov edx, esp
lea ecx, [ebp - 0x1c]
xorps xmm0, xmm0
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100054a8
sub ecx, esi
lea eax, [ebp - 0x1c]
push ecx
push eax
mov ecx, edx
call fcn.100011f0
mov byte [ebp - 4], 3
call fcn.1001d5c0
add esp, 0x3c
mov dword [0x1002ae08], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1002f0bc]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1002ae10]
cmp eax, dword [ecx + 4]
jg 0x10005da8
movss xmm1, dword [ebp + 0x30]
movss xmm2, dword [ebp + 0x34]
subss xmm2, dword [ebp + 0x28]
subss xmm1, dword [ebp + 0x24]
movss xmm0, dword [ebp + 0x38]
subss xmm0, dword [ebp + 0x2c]
mov dword [ebp - 0x194], 0
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss dword [ebp - 0xf0], xmm2
sqrtss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0x194], xmm0
movd xmm0, dword [ebp + 0x10]
xorps xmm6, xmm6
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm6
jbe 0x10005d87
movss xmm0, dword [0x100253e0]
movss xmm1, dword [ebp - 0x10c]
movss xmm3, dword [ebp - 0x120]
movss xmm4, dword [ebp - 0x124]
movss xmm5, dword [ebp - 0x128]
mulss xmm1, xmm0
movss dword [ebp - 0x170], xmm1
movss xmm1, dword [ebp - 0x110]
mulss xmm1, xmm0
movss dword [ebp - 0x174], xmm1
movss xmm1, dword [ebp - 0x114]
mulss xmm1, xmm0
movss dword [ebp - 0x178], xmm1
nop dword [eax]
movss xmm2, dword [ebp + 0x30]
movss xmm1, dword [ebp + 0x34]
subss xmm2, xmm5
movss xmm0, dword [ebp + 0x38]
subss xmm1, xmm4
subss xmm0, xmm3
movss dword [ebp - 0x15c], xmm2
movss dword [ebp - 0x158], xmm1
mulss xmm1, xmm1
mulss xmm2, xmm2
movss dword [ebp - 0x154], xmm0
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
ucomiss xmm1, xmm6
lahf
test ah, 0x44
jnp 0x10005614
mov al, 1
jmp 0x10005616
xor al, al
mov ecx, dword [0x1002d634]
lea edx, [ebp - 0x90]
push edx
mov byte [ebp - 0x12b], al
lea edx, [ebp - 0x16c]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x13c], 0
mov byte [ebp - 0x12c], 1
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x14c], 0
movss dword [ebp - 0x16c], xmm5
movss dword [ebp - 0x168], xmm4
movss dword [ebp - 0x164], xmm3
mov eax, dword [ecx]
push 0x1002a020
push 0x4600400b
push edx
mov eax, dword [eax + 0x10]
call eax
movss xmm2, dword [ebp + 0x30]
lea eax, [ebp - 0x90]
movss xmm1, dword [ebp + 0x34]
movss xmm0, dword [ebp + 0x38]
addss xmm2, dword [ebp - 0x170]
addss xmm1, dword [ebp - 0x174]
addss xmm0, dword [ebp - 0x178]
push eax
push 0x1002a020
push 0x4600400b
lea eax, [ebp - 0x184]
movss dword [ebp - 0x184], xmm2
push eax
lea eax, [ebp - 0x128]
movss dword [ebp - 0x180], xmm1
push eax
movss dword [ebp - 0x17c], xmm0
call dword [0x1002ae0c]
movss xmm0, dword [ebp - 0x64]
add esp, 0x14
ucomiss xmm0, dword [0x100253cc]
lahf
test ah, 0x44
jnp 0x10005da4
mov ecx, dword [0x1002d640]
movsx edx, word [ebp - 0x50]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
movss xmm1, dword [ebp - 0x194]
mov esi, eax
subss xmm1, dword [ebp - 0xf8]
movss xmm0, dword [ebp + 0x18]
mov eax, dword [ebp - 0x60]
cvtps2pd xmm0, xmm0
shr eax, 3
and eax, 0xffffff01
mov dword [ebp - 0xe8], eax
mulss xmm1, dword [ebp - 0x64]
addss xmm1, dword [ebp - 0xf8]
movss dword [ebp - 0xf0], xmm1
mulss xmm1, dword [0x1002538c]
cvtps2pd xmm1, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xf0]
comiss xmm0, dword [ebp + 0x20]
jbe 0x100057a6
xor eax, eax
test edi, edi
cmovle eax, edi
mov edi, eax
test edi, edi
js 0x10005d87
mov ecx, dword [ebp - 0xe8]
jne 0x100057be
test cl, cl
je 0x10005d87
movzx eax, word [esi + 0x48]
mov dword [ebp - 0x11c], eax
movsx eax, al
add eax, 0xffffffbd
cmp eax, 0x14
ja case.0x100057de.69
movzx eax, byte [eax + 0x10005e00]
jmp dword [eax*4 + 0x10005de0]
movss xmm0, dword [0x100253b4]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [0x10025398]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [0x100253cc]
jmp 0x10005912
movss xmm0, dword [0x100253a8]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [0x10025394]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [0x100253cc]
jmp 0x10005912
movss xmm0, dword [0x100253cc]
movss xmm1, dword [0x100253c8]
movss dword [ebp - 0xe8], xmm0
movss dword [ebp - 0xec], xmm1
jmp 0x1000591a
movss xmm0, dword [0x100253b4]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [0x100253ac]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [0x100253cc]
jmp 0x10005912
movss xmm0, dword [0x100253bc]
jmp 0x100057ed
movss xmm0, dword [0x100253a8]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [0x100253ac]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [0x100253cc]
jmp 0x10005912
movss xmm0, dword [0x100253cc]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [0x100253b8]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [0x100253cc]
jmp 0x10005912
movss xmm0, dword [0x100253cc]
movss xmm1, dword [0x100253b4]
movss dword [ebp - 0xe8], xmm0
movss dword [ebp - 0xec], xmm1
movss xmm1, dword [0x100253c8]
test cl, cl
je 0x1000592e
movss dword [ebp - 0xe8], xmm0
movss dword [ebp - 0xec], xmm1
movss xmm3, dword [0x100253dc]
lea edx, [ebp - 0x104]
movss xmm2, dword [ebp - 0x10c]
movss xmm1, dword [ebp - 0x110]
movss xmm0, dword [ebp - 0x114]
mov ecx, dword [0x1002d634]
mulss xmm2, xmm3
push 0
mulss xmm1, xmm3
push edx
addss xmm2, dword [ebp - 0x84]
mulss xmm0, xmm3
addss xmm1, dword [ebp - 0x80]
movss dword [ebp - 0xf4], xmm3
addss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0x104], xmm2
movss dword [ebp - 0x100], xmm1
movss dword [ebp - 0xfc], xmm0
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
test eax, 0x200400b
je 0x10005a43
nop dword [eax]
movss xmm3, dword [ebp - 0xf4]
comiss xmm3, dword [0x100253f0]
ja 0x10005d87
addss xmm3, dword [0x100253dc]
movss xmm2, dword [ebp - 0x10c]
lea edx, [ebp - 0x104]
movss xmm1, dword [ebp - 0x110]
movss xmm0, dword [ebp - 0x114]
mov ecx, dword [0x1002d634]
mulss xmm2, xmm3
push 0
mulss xmm1, xmm3
push edx
addss xmm2, dword [ebp - 0x84]
mulss xmm0, xmm3
addss xmm1, dword [ebp - 0x80]
movss dword [ebp - 0xf4], xmm3
addss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0x104], xmm2
movss dword [ebp - 0x100], xmm1
movss dword [ebp - 0xfc], xmm0
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
test eax, 0x200400b
jne 0x100059b0
movss xmm2, dword [ebp - 0x84]
movss xmm3, dword [ebp - 0x104]
movss xmm1, dword [ebp - 0x80]
subss xmm2, xmm3
movss xmm4, dword [ebp - 0x100]
movss xmm0, dword [ebp - 0x7c]
subss xmm1, xmm4
movss xmm5, dword [ebp - 0xfc]
subss xmm0, xmm5
movss dword [ebp - 0x15c], xmm2
mulss xmm2, xmm2
movss dword [ebp - 0x158], xmm1
mulss xmm1, xmm1
movss dword [ebp - 0x154], xmm0
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
ucomiss xmm1, dword [0x10025384]
lahf
test ah, 0x44
jnp 0x10005ab6
mov al, 1
jmp 0x10005ab8
xor al, al
mov ecx, dword [0x1002d634]
lea edx, [ebp - 0xe4]
push edx
mov byte [ebp - 0x12b], al
lea edx, [ebp - 0x16c]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x13c], 0
mov byte [ebp - 0x12c], 1
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x14c], 0
movss dword [ebp - 0x16c], xmm3
movss dword [ebp - 0x168], xmm4
movss dword [ebp - 0x164], xmm5
mov eax, dword [ecx]
push 0
push 0x4600400b
push edx
mov eax, dword [eax + 0x10]
call eax
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x44]
je 0x10005c56
test eax, eax
je 0x10005c56
movss xmm2, dword [ebp - 0x84]
movss xmm3, dword [ebp - 0x104]
movss xmm1, dword [ebp - 0x80]
subss xmm2, xmm3
movss xmm4, dword [ebp - 0x100]
movss xmm0, dword [ebp - 0x7c]
subss xmm1, xmm4
movss xmm5, dword [ebp - 0xfc]
subss xmm0, xmm5
mov dword [ebp - 0x18], eax
movss dword [ebp - 0x15c], xmm2
mulss xmm2, xmm2
mov dword [ebp - 0x1c], 0x1002530c
movss dword [ebp - 0x158], xmm1
mulss xmm1, xmm1
movss dword [ebp - 0x154], xmm0
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
ucomiss xmm1, dword [0x10025384]
lahf
test ah, 0x44
jnp 0x10005bcf
mov al, 1
jmp 0x10005bd1
xor al, al
mov ecx, dword [0x1002d634]
lea edx, [ebp - 0xe4]
push edx
mov byte [ebp - 0x12b], al
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x13c], 0
mov byte [ebp - 0x12c], 1
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x14c], 0
movss dword [ebp - 0x16c], xmm3
movss dword [ebp - 0x168], xmm4
movss dword [ebp - 0x164], xmm5
mov eax, dword [ecx]
push edx
push 0x4600400b
lea edx, [ebp - 0x16c]
mov eax, dword [eax + 0x10]
push edx
call eax
movss xmm1, dword [ebp - 0xd8]
movss xmm2, dword [ebp - 0xd4]
subss xmm2, dword [ebp - 0x80]
subss xmm1, dword [ebp - 0x84]
movss xmm0, dword [ebp - 0xd0]
subss xmm0, dword [ebp - 0x7c]
mov dword [ebp - 0x2c], 0
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss dword [ebp - 0xf4], xmm2
sqrtss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x2c], xmm0
mov ecx, dword [0x1002d640]
movsx edx, word [ebp - 0xa4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
mov ecx, dword [ebp - 0x11c]
cmp word [eax + 0x48], cx
jne 0x10005cee
cmp cx, 0x57
je 0x10005cdd
cmp cx, 0x4d
jne 0x10005cee
movss xmm1, dword [ebp - 0xe8]
movaps xmm0, xmm1
addss xmm1, xmm0
jmp 0x10005cf6
movss xmm1, dword [ebp - 0xe8]
movss xmm3, dword [ebp - 0x118]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0x2c]
mulss xmm0, xmm3
comiss xmm2, xmm0
ja 0x10005d87
movaps xmm0, xmm2
movss xmm5, dword [ebp - 0xd8]
divss xmm0, xmm1
dec edi
addss xmm2, dword [ebp - 0xf0]
movss xmm4, dword [ebp - 0xd4]
subss xmm3, xmm0
movss xmm0, dword [ebp - 0xec]
xorps xmm6, xmm6
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x128], xmm5
movss dword [ebp - 0x118], xmm3
comiss xmm0, xmm6
movss xmm3, dword [ebp - 0xd0]
movss dword [ebp - 0x124], xmm4
movss dword [ebp - 0x120], xmm3
movss dword [ebp - 0xec], xmm0
movss dword [ebp - 0xf8], xmm2
ja 0x100055c0
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001d9f0
mov esp, ebp
pop ebp
ret
mov al, 1
jmp 0x10005d89
push 0x1002ae10
call fcn.1001d98c
add esp, 4
cmp dword [0x1002ae10], 0xffffffff
jne 0x100054f5
mov eax, dword [0x1002ae08]
push 0x1002ae10
mov dword [0x1002ae0c], eax
call fcn.1001d93b
add esp, 4
jmp 0x100054f5