Function at 0x1001f750
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Get number of processors

Disassembly:
push ebp
lea ebp, [esp - 0x194]
sub esp, 0x194
push 0xffffffffffffffff
push 0x1002ee62
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x1003800c]
xor eax, ebp
mov dword [ebp + 0x190], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor esi, esi
mov dword [ebp - 0x34], esi
mov ecx, dword [0x10038940]
mov dword [ebp - 0x20], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x1003894c]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov edi, eax
mov dword [ebp - 0x1c], edi
test edi, edi
je 0x1002000f
cmp byte [0x10049374], 0
jne 0x1001f7fc
cmp byte [0x10049375], 0
jne 0x1001f7fc
cmp byte [0x10049377], 0
jne 0x1001f7fc
cmp byte [0x10049378], 0
jne 0x1001f7fc
cmp byte [0x10049379], 0
jne 0x1001f7fc
cmp byte [0x1004937b], 0
jne 0x1001f7fc
cmp byte [0x1004937a], 0
je 0x1002000f
mov eax, dword [0x10038948]
mov edx, 1
mov dword [ebp - 0x38], edx
cmp dword [eax + 0x14], edx
jl 0x1002000f
mov dword [ebp - 0x58], 0x10050d90
mov dword [ebp - 0x54], 0x1003ac84
mov ecx, dword [0x1003894c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ebx, eax
mov dword [ebp - 0x64], ebx
test ebx, ebx
je 0x1001ffe9
cmp ebx, edi
je 0x1001ffe9
mov ecx, ebx
call fcn.10002d90
cmp dword [eax], 0
jne 0x1001ffe9
cmp byte [0x1004937d], 0
je 0x1001f877
mov ecx, ebx
call fcn.10002970
mov ecx, edi
mov esi, dword [eax]
call fcn.10002970
cmp esi, dword [eax]
je 0x1001ffe9
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
cmp byte [eax + 0x10049620], 0
jne 0x1001f896
mov ecx, ebx
call fcn.10002970
cmp dword [eax], 2
je 0x1001f896
mov ecx, ebx
call fcn.10002970
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
mov ecx, ebx
movss xmm0, dword [eax]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [eax + 8]
movss dword [ebp - 0x10], xmm0
call fcn.10002ac0
movss xmm0, dword [ebp - 0x10]
mov eax, dword [eax]
shr eax, 1
and al, 1
mov dword [ebp - 0x34], eax
je 0x1001f8db
addss xmm0, dword [0x10034e1c]
jmp 0x1001f8e3
addss xmm0, dword [0x10034e30]
mov ecx, dword [0x10038940]
movss dword [ebp - 0x28], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x98]
call eax
movss xmm1, dword [ebp - 0x30]
mov edi, eax
movss xmm5, dword [ebp - 0x2c]
movaps xmm3, xmm1
movss xmm4, dword [ebp - 0x10]
movaps xmm0, xmm5
mulss xmm0, dword [edi + 0x34]
mulss xmm3, dword [edi + 0x30]
addss xmm3, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [edi + 0x38]
addss xmm0, dword [edi + 0x3c]
addss xmm3, xmm0
cvtps2pd xmm0, xmm3
comisd xmm0, xmmword [0x10034d18]
jbe 0x1001ffe6
mulss xmm1, dword [edi + 0x10]
movaps xmm0, xmm5
mov ecx, dword [0x10038aac]
mov eax, ecx
mulss xmm0, dword [edi + 0x14]
xorps xmm2, xmm2
cdq
mulss xmm4, dword [edi + 0x18]
sub eax, edx
sar eax, 1
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
mov ecx, dword [0x10038940]
addss xmm4, dword [edi + 0x1c]
cvtsi2sd xmm2, eax
mov eax, dword [ecx]
addss xmm1, xmm4
mov eax, dword [eax + 0x98]
divss xmm1, xmm3
mulss xmm1, dword [0x10034cf8]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm0
addsd xmm1, qword [0x10034d68]
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [ebp - 0x24], xmm0
call eax
movss xmm5, dword [ebp - 0x30]
mov edi, eax
movss xmm7, dword [ebp - 0x2c]
movaps xmm1, xmm5
movss xmm4, dword [ebp - 0x28]
movaps xmm0, xmm7
mulss xmm0, dword [edi + 0x34]
mulss xmm1, dword [edi + 0x30]
addss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [edi + 0x38]
addss xmm0, dword [edi + 0x3c]
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x10034d18]
jbe 0x1001ffe6
movss xmm3, dword [0x10034d30]
movaps xmm0, xmm5
mulss xmm0, dword [edi]
xorps xmm2, xmm2
mov eax, dword [0x10038ab0]
divss xmm3, xmm1
mov ecx, dword [0x10038aac]
movaps xmm1, xmm7
mulss xmm5, dword [edi + 0x10]
mulss xmm1, dword [edi + 4]
mulss xmm7, dword [edi + 0x14]
addss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [edi + 8]
mulss xmm4, dword [edi + 0x18]
addss xmm5, xmm7
addss xmm0, dword [edi + 0xc]
addss xmm4, dword [edi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
cdq
sub eax, edx
sar eax, 1
mulss xmm1, xmm3
addss xmm5, xmm4
mulss xmm1, dword [0x10034cf8]
mulss xmm5, xmm3
cvtps2pd xmm1, xmm1
mulss xmm5, dword [0x10034cf8]
mulsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp byte [0x10049379], 0
addsd xmm1, qword [0x10034d68]
cvtsi2sd xmm2, eax
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
cvtpd2ps xmm6, xmm1
cvtps2pd xmm1, xmm5
movss dword [ebp - 0x30], xmm6
mulsd xmm1, xmm0
addsd xmm1, qword [0x10034d68]
subsd xmm2, xmm1
cvtpd2ps xmm2, xmm2
movss dword [ebp - 0x2c], xmm2
je 0x1001faef
mov dword [ebp - 0x3c], 0xa0ffffff
mov ecx, 0x100386f4
push dword [ebp - 0x3c]
push ebx
call fcn.1000f470
movss xmm6, dword [ebp - 0x30]
movss xmm2, dword [ebp - 0x2c]
cmp byte [ebp - 0x34], 0
movss xmm0, dword [ebp - 0x24]
subss xmm0, xmm2
movaps xmm1, xmm0
mulss xmm1, dword [0x10034ccc]
movss dword [ebp - 0x10], xmm1
je 0x1001fb1b
mulss xmm1, dword [0x10034d50]
movss dword [ebp - 0x10], xmm1
cmp byte [0x10049374], 0
movaps xmm3, xmm6
subss xmm3, xmm1
movss dword [ebp - 0x28], xmm3
je 0x1001fb64
cvttss2si eax, xmm0
mov dword [ebp - 0x40], 0x80000000
mov dword [ebp - 0x44], 0xa0ffffff
movaps xmm0, xmm1
push dword [ebp - 0x40]
addss xmm0, xmm1
push dword [ebp - 0x44]
push eax
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm2
push eax
cvttss2si eax, xmm3
push eax
call fcn.1000f1f0
cmp byte [0x1004937a], 0
je 0x1001fb83
mov dword [ebp - 0x48], 0xa0ffffff
push dword [ebp - 0x48]
push dword [0x10049184]
push ebx
call fcn.1000fb50
mov ecx, dword [0x10038940]
lea edx, [ebp]
mov edi, dword [ebp - 0x38]
push edx
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
cmp byte [0x10049375], 0
je 0x1001fc7a
cmp byte [edi + 0x10049620], 0
je 0x1001fbe4
mov dword [ebp + 0x84], 0x65697246
mov dword [ebp + 0x88], 0x203a646e
mov word [ebp + 0x8c], 0x7325
mov byte [ebp + 0x8e], 0
lea eax, [ebp + 0x84]
mov dword [ebp - 4], 0
or esi, 1
jmp 0x1001fbfb
mov word [ebp - 0x14], 0x7325
mov byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 1
or esi, 2
movss xmm0, dword [ebp - 0x2c]
lea ecx, [ebp]
subss xmm0, dword [0x10034df0]
push ecx
push eax
mov dword [ebp - 0x4c], 0xc8ffffff
push dword [ebp - 0x4c]
cvttss2si eax, xmm0
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x20], esi
push eax
cvttss2si eax, dword [ebp - 0x30]
push eax
push 0
push 1
push 0x100386f4
call fcn.1000e8a0
mov eax, esi
add esp, 0x20
test al, 2
je 0x1001fc4e
and eax, 0xfffffffd
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov word [ebp - 0x14], cx
mov byte [ebp - 0x12], cl
mov dword [ebp - 4], 0xffffffff
test al, 1
je 0x1001fc7a
and eax, 0xfffffffe
mov word [ebp + 0x8c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x20], eax
movq qword [ebp + 0x84], xmm0
mov byte [ebp + 0x8e], 0
mov ecx, ebx
call fcn.10002e80
mov ecx, dword [eax]
test ecx, ecx
jle 0x1001fdf5
movd xmm0, ecx
cmp ecx, 0x64
cvtdq2ps xmm0, xmm0
mov edx, 0x64
mulss xmm0, dword [0x10034db0]
cvttss2si eax, xmm0
mov dword [ebp - 0x60], eax
mov eax, ecx
cmovg eax, edx
cmp byte [0x10049377], 0
mov dword [ebp - 0x34], eax
je 0x1001fdf5
movss xmm0, dword [ebp - 0x24]
xor eax, eax
addss xmm0, dword [0x10034dc0]
cmp ecx, edx
mov ebx, 0x2828
mov ecx, 0x80000000
cmovle ebx, eax
mov eax, 0x80280000
cmovle eax, ecx
mov ecx, dword [0x10038a60]
movss dword [ebp - 0x24], xmm0
or ebx, eax
subss xmm0, dword [0x10034d30]
push ebx
mov eax, dword [ecx]
cvttss2si edi, xmm0
mov eax, dword [eax + 0x28]
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [0x10034d30]
cvttss2si esi, xmm0
call eax
lea eax, [edi + 4]
mov ecx, dword [0x10038a60]
push eax
mov edx, dword [ecx]
movss xmm0, dword [ebp - 0x10]
addss xmm0, xmm0
movss dword [ebp - 0x5c], xmm0
addss xmm0, dword [0x10034d98]
cvttss2si eax, xmm0
add eax, esi
push eax
mov eax, dword [edx + 0x38]
push edi
push esi
call eax
mov ecx, dword [0x10038a60]
cvttss2si esi, dword [ebp - 0x24]
push ebx
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
cvttss2si edi, dword [ebp - 0x28]
call eax
lea ebx, [esi + 2]
mov ecx, dword [0x10038a60]
mov edx, edi
push ebx
mov esi, dword [ecx]
movss xmm0, dword [ebp - 0x10]
mulss xmm0, dword [0x10034ef0]
cvttss2si eax, xmm0
sub edx, eax
cvttss2si eax, dword [ebp - 0x24]
push edx
push eax
mov eax, dword [esi + 0x30]
push edi
call eax
movd xmm1, dword [ebp - 0x34]
movss xmm0, dword [ebp - 0x5c]
mov ecx, dword [0x10038a60]
mov eax, dword [ebp - 0x60]
cvtdq2pd xmm1, xmm1
movzx edx, al
not al
mov esi, dword [ecx]
or edx, 0xffa00000
movzx eax, al
shl edx, 8
or edx, eax
mov eax, dword [esi + 0x28]
mulsd xmm1, qword [0x10034d38]
push edx
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si edi, xmm1
call eax
mov ecx, dword [0x10038a60]
push ebx
mov edx, dword [ecx]
cvttss2si esi, dword [ebp - 0x28]
lea eax, [edi + esi]
push eax
cvttss2si eax, dword [ebp - 0x24]
push eax
mov eax, dword [edx + 0x30]
push esi
call eax
mov ebx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x38]
mov ecx, dword [0x1003894c]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [0x1003894c]
push dword [ebx + 0xb38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test eax, eax
je 0x1001ff15
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
mov ecx, eax
test ecx, ecx
je 0x1001ff15
mov eax, dword [ecx]
mov eax, dword [eax + 0x4a4]
call eax
test eax, eax
jns 0x1001fe41
xor eax, eax
jmp 0x1001fe49
xor ecx, ecx
cmp eax, 0x1d
cmovg eax, ecx
push eax
push str.client.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add eax, 0x1e0b00
call eax
lea edx, [ebp + 0x90]
add esp, 4
sub edx, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [eax + edx - 1], cl
test cl, cl
jne 0x1001fe67
mov al, byte [ebp + 0x90]
lea esi, [ebp + 0x90]
test al, al
je 0x1001fe9c
movsx eax, al
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [esi], al
lea esi, [esi + 1]
mov al, byte [esi]
add esp, 4
test al, al
jne 0x1001fe84
cmp byte [0x10049378], 0
je 0x1001ff15
mov word [ebp - 0x18], 0x7325
mov byte [ebp - 0x16], 0
movss xmm0, dword [ebp - 0x2c]
lea eax, [ebp + 0x90]
push eax
mov dword [ebp - 4], 2
lea eax, [ebp - 0x18]
addss xmm0, dword [0x10034d30]
push eax
mov dword [ebp - 0x50], 0xc8ffffff
push dword [ebp - 0x50]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [ebp - 0x10]
push eax
addss xmm0, dword [0x10034dec]
cvttss2si eax, xmm0
push eax
push 0
push 1
push 0x100386f4
call fcn.1000ef20
add esp, 0x20
mov dword [ebp - 4], 0xffffffff
xor eax, eax
mov word [ebp - 0x18], ax
mov byte [ebp - 0x16], al
cmp byte [0x10049337], 0
mov edx, dword [ebp - 0x54]
movss xmm2, dword [edx - 8]
movss xmm0, dword [edx - 4]
movss xmm1, dword [edx]
movss dword [ebp - 0x60], xmm2
movss dword [ebp - 0x64], xmm0
movss dword [ebp - 0x5c], xmm1
jbe 0x1001ffe6
xorps xmm3, xmm3
ucomiss xmm3, xmm2
lahf
test ah, 0x44
jp 0x1001ff64
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x1001ff64
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jnp 0x1001ffe6
mov edx, dword [ebp - 0x58]
ucomiss xmm3, dword [edx - 8]
lahf
test ah, 0x44
jp 0x1001ff88
ucomiss xmm3, dword [edx - 4]
lahf
test ah, 0x44
jp 0x1001ff88
ucomiss xmm3, dword [edx]
lahf
test ah, 0x44
jp 0x1001ff88
xor al, al
jmp 0x1001ff8a
mov al, 1
test al, al
je 0x1001ffe6
mov ecx, dword [0x10038940]
mov eax, dword [ecx]
mov eax, dword [eax + 0x98]
call eax
movss xmm0, dword [ebp - 0x64]
movss xmm1, dword [ebp - 0x60]
mulss xmm1, dword [eax + 0x30]
mulss xmm0, dword [eax + 0x34]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x5c]
mulss xmm1, dword [eax + 0x38]
addss xmm1, dword [eax + 0x3c]
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [0x10034d18]
jbe 0x1001ffe6
mov ecx, dword [0x10038940]
mov eax, dword [ecx]
mov eax, dword [eax + 0x98]
call eax
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x38]
mov eax, dword [0x10038948]
inc edx
add dword [ebp - 0x54], 0x39c
add dword [ebp - 0x58], 0x7380
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x38], edx
cmp edx, dword [eax + 0x14]
jle 0x1001f820
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x190]
xor ecx, ebp
call fcn.1002a7ae
lea esp, [ebp + 0x194]
pop ebp
ret