Function at 0x4deaf0
Capabilities:
Check os version
Get common file path
Get session user name

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x514008
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2aec
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x28], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
jmp 0x4deb49
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x23
jge 0x4deb8d
cmp dword [ebp - 0x1c], 0
jge 0x4deb5d
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4deb73
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0xfa
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4deb40
mov dword [ebp - 0x224], 0
jmp 0x4deba8
mov ecx, dword [ebp - 0x224]
add ecx, 1
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 1
jge 0x4debf5
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4debd7
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4debe7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x4debf3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x224]
mov dword [ebp - 0x1c], eax
jmp 0x4deb99
mov dword [ebp - 0x228], 0
jmp 0x4dec10
mov ecx, dword [ebp - 0x228]
add ecx, 1
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 0xa
jge 0x4dec51
cmp dword [ebp - 0x1c], 0
jge 0x4dec27
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4dec3d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4dec01
mov dword [ebp - 0x424], 0
jmp 0x4dec6c
mov eax, dword [ebp - 0x424]
add eax, 1
mov dword [ebp - 0x424], eax
cmp dword [ebp - 0x424], 7
jge 0x4decb9
cmp dword [ebp - 0x1c], 0
jge 0x4dec83
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4dec99
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x428], 0xfa
lea edx, [ebp - 0x428]
push edx
lea eax, [ebp - 0x620]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4dec5d
mov dword [ebp - 0x624], 0
jmp 0x4decd4
mov ecx, dword [ebp - 0x624]
add ecx, 1
mov dword [ebp - 0x624], ecx
cmp dword [ebp - 0x624], 1
jge 0x4ded21
cmp dword [ebp - 0x1c], 0
jge 0x4deceb
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4ded01
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x628], 0xfa
lea edx, [ebp - 0x628]
push edx
lea eax, [ebp - 0x820]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4decc5
mov ecx, 1
test ecx, ecx
je 0x4ded5b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x824], eax
mov eax, dword [ebp - 0x824]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ded4d
jmp 0x4ded5b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x824]
mov dword [ebp - 0x1c], edx
jmp 0x4ded21
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x828], 0
jmp 0x4ded7f
mov ecx, dword [ebp - 0x828]
add ecx, 1
mov dword [ebp - 0x828], ecx
cmp dword [ebp - 0x828], 0xf
jge 0x4ded96
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x828]
mov dword [ebp - 0x1c], edx
jmp 0x4ded70
cmp dword [ebp - 0x1c], 0
jge 0x4deda4
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4dedbc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x82c], 0
jmp 0x4dedd7
mov edx, dword [ebp - 0x82c]
add edx, 1
mov dword [ebp - 0x82c], edx
cmp dword [ebp - 0x82c], 8
jge 0x4dedee
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x82c]
mov dword [ebp - 0x1c], eax
jmp 0x4dedc8
cmp dword [ebp - 0x1c], 0
jge 0x4dedfc
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4dee14
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x830], 0xffffffff
mov dword [ebp - 0x834], 0
jmp 0x4dee40
mov edx, dword [ebp - 0x834]
add edx, 1
mov dword [ebp - 0x834], edx
cmp dword [ebp - 0x834], 9
jge 0x4dee72
mov eax, dword [ebp - 0x834]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4dee67
mov edx, dword [ebp - 0x830]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4dee31
mov dword [ebp - 4], 0xfffffffe
jmp 0x4dee92
mov dword [ebp - 0x838], 0
jmp 0x4deead
mov edx, dword [ebp - 0x838]
add edx, 1
mov dword [ebp - 0x838], edx
cmp dword [ebp - 0x838], 0xb
jge 0x4deec4
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x838]
mov dword [ebp - 0x1c], eax
jmp 0x4dee9e
cmp dword [ebp - 0x1c], 0
jge 0x4deed2
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4deeea
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x83c], 0xffffffff
mov dword [ebp - 0x840], 0
jmp 0x4def16
mov edx, dword [ebp - 0x840]
add edx, 1
mov dword [ebp - 0x840], edx
cmp dword [ebp - 0x840], 7
jge 0x4def48
mov eax, dword [ebp - 0x840]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4def3d
mov edx, dword [ebp - 0x83c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4def07
mov dword [ebp - 4], 0xfffffffe
jmp 0x4def68
mov dword [ebp - 4], 2
mov dword [ebp - 0x844], 0xffffffff
mov dword [ebp - 0x848], 0
jmp 0x4def94
mov edx, dword [ebp - 0x848]
add edx, 1
mov dword [ebp - 0x848], edx
cmp dword [ebp - 0x848], 2
jge 0x4defc6
mov eax, dword [ebp - 0x848]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4defbb
mov edx, dword [ebp - 0x844]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4def85
mov dword [ebp - 4], 0xfffffffe
jmp 0x4defe6
mov dword [ebp - 0x84c], 0
jmp 0x4df001
mov edx, dword [ebp - 0x84c]
add edx, 1
mov dword [ebp - 0x84c], edx
cmp dword [ebp - 0x84c], 4
jge 0x4df018
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], eax
jmp 0x4deff2
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4df02a
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4df042
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x850], 0
jmp 0x4df05d
mov edx, dword [ebp - 0x850]
add edx, 1
mov dword [ebp - 0x850], edx
cmp dword [ebp - 0x850], 6
jge 0x4df074
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x850]
mov dword [ebp - 0x1c], eax
jmp 0x4df04e
cmp dword [ebp - 0x1c], 0
jge 0x4df082
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df09a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x854], 0
jmp 0x4df0b5
mov edx, dword [ebp - 0x854]
add edx, 1
mov dword [ebp - 0x854], edx
cmp dword [ebp - 0x854], 4
jge 0x4df0cc
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x854]
mov dword [ebp - 0x1c], eax
jmp 0x4df0a6
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4df0de
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4df0f6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x858], 0
jmp 0x4df111
mov edx, dword [ebp - 0x858]
add edx, 1
mov dword [ebp - 0x858], edx
cmp dword [ebp - 0x858], 0
jge 0x4df15e
cmp dword [ebp - 0x1c], 0
jge 0x4df128
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df13e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x85c], 0xfa
lea edx, [ebp - 0x85c]
push edx
lea eax, [ebp - 0xa58]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4df102
mov dword [ebp - 0xa5c], 0
jmp 0x4df179
mov ecx, dword [ebp - 0xa5c]
add ecx, 1
mov dword [ebp - 0xa5c], ecx
cmp dword [ebp - 0xa5c], 4
jge 0x4df190
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], edx
jmp 0x4df16a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4df1a2
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4df1ba
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa60], 0
jmp 0x4df1d5
mov edx, dword [ebp - 0xa60]
add edx, 1
mov dword [ebp - 0xa60], edx
cmp dword [ebp - 0xa60], 4
jge 0x4df1ec
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xa60]
mov dword [ebp - 0x1c], eax
jmp 0x4df1c6
cmp dword [ebp - 0x1c], 0
jge 0x4df1fa
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df212
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa64], 0
jmp 0x4df22d
mov edx, dword [ebp - 0xa64]
add edx, 1
mov dword [ebp - 0xa64], edx
cmp dword [ebp - 0xa64], 8
jge 0x4df244
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xa64]
mov dword [ebp - 0x1c], eax
jmp 0x4df21e
cmp dword [ebp - 0x1c], 0
jge 0x4df252
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df26a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa68], 0
jmp 0x4df285
mov edx, dword [ebp - 0xa68]
add edx, 1
mov dword [ebp - 0xa68], edx
cmp dword [ebp - 0xa68], 6
jge 0x4df29c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xa68]
mov dword [ebp - 0x1c], eax
jmp 0x4df276
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4df2ae
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4df2c6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa6c], 0
jmp 0x4df2e1
mov edx, dword [ebp - 0xa6c]
add edx, 1
mov dword [ebp - 0xa6c], edx
cmp dword [ebp - 0xa6c], 7
jge 0x4df2f8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], eax
jmp 0x4df2d2
cmp dword [ebp - 0x1c], 0
jge 0x4df306
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df31e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa70], 0
jmp 0x4df339
mov edx, dword [ebp - 0xa70]
add edx, 1
mov dword [ebp - 0xa70], edx
cmp dword [ebp - 0xa70], 6
jge 0x4df350
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xa70]
mov dword [ebp - 0x1c], eax
jmp 0x4df32a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4df362
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4df37a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa74], 0
jmp 0x4df395
mov edx, dword [ebp - 0xa74]
add edx, 1
mov dword [ebp - 0xa74], edx
cmp dword [ebp - 0xa74], 2
jge 0x4df3e2
cmp dword [ebp - 0x1c], 0
jge 0x4df3ac
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df3c2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa78], 0xfa
lea edx, [ebp - 0xa78]
push edx
lea eax, [ebp - 0xc70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4df386
mov dword [ebp - 4], 3
mov dword [ebp - 0xc74], 0xffffffff
mov dword [ebp - 0xc78], 0
jmp 0x4df40e
mov ecx, dword [ebp - 0xc78]
add ecx, 1
mov dword [ebp - 0xc78], ecx
cmp dword [ebp - 0xc78], 4
jge 0x4df440
mov eax, dword [ebp - 0xc78]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4df435
mov edx, dword [ebp - 0xc74]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4df3ff
mov dword [ebp - 4], 0xfffffffe
jmp 0x4df460
mov dword [ebp - 0xc7c], 0
jmp 0x4df47b
mov edx, dword [ebp - 0xc7c]
add edx, 1
mov dword [ebp - 0xc7c], edx
cmp dword [ebp - 0xc7c], 4
jge 0x4df4c8
cmp dword [ebp - 0x1c], 0
jge 0x4df492
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df4a8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc80], 0xfa
lea edx, [ebp - 0xc80]
push edx
lea eax, [ebp - 0xe78]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4df46c
mov ecx, 1
test ecx, ecx
je 0x4df502
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe7c], eax
mov eax, dword [ebp - 0xe7c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4df4f4
jmp 0x4df502
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe7c]
mov dword [ebp - 0x1c], edx
jmp 0x4df4c8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe80], 0
jmp 0x4df523
mov ecx, dword [ebp - 0xe80]
add ecx, 1
mov dword [ebp - 0xe80], ecx
cmp dword [ebp - 0xe80], 2
jge 0x4df53a
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe80]
mov dword [ebp - 0x1c], edx
jmp 0x4df514
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4df54c
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4df564
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe84], 0
jmp 0x4df57f
mov edx, dword [ebp - 0xe84]
add edx, 1
mov dword [ebp - 0xe84], edx
cmp dword [ebp - 0xe84], 8
jge 0x4df5c0
cmp dword [ebp - 0x1c], 0
jge 0x4df596
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4df5ac
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1080]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4df570
mov dword [ebp - 0x1084], 0
jmp 0x4df5db
mov eax, dword [ebp - 0x1084]
add eax, 1
mov dword [ebp - 0x1084], eax
cmp dword [ebp - 0x1084], 2
jge 0x4df628
cmp dword [ebp - 0x1c], 0
jge 0x4df5f2
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df608
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1088], 0xfa
lea edx, [ebp - 0x1088]
push edx
lea eax, [ebp - 0x1280]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4df5cc
mov dword [ebp - 0x1284], 0
jmp 0x4df643
mov ecx, dword [ebp - 0x1284]
add ecx, 1
mov dword [ebp - 0x1284], ecx
cmp dword [ebp - 0x1284], 7
jge 0x4df684
cmp dword [ebp - 0x1c], 0
jge 0x4df65a
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4df670
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1480]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4df634
mov dword [ebp - 4], 4
mov dword [ebp - 0x1484], 0xffffffff
mov dword [ebp - 0x1488], 0
jmp 0x4df6b0
mov eax, dword [ebp - 0x1488]
add eax, 1
mov dword [ebp - 0x1488], eax
cmp dword [ebp - 0x1488], 6
jge 0x4df6e2
mov eax, dword [ebp - 0x1488]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4df6d7
mov edx, dword [ebp - 0x1484]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4df6a1
mov dword [ebp - 4], 0xfffffffe
jmp 0x4df702
mov dword [ebp - 0x148c], 0
jmp 0x4df71d
mov edx, dword [ebp - 0x148c]
add edx, 1
mov dword [ebp - 0x148c], edx
cmp dword [ebp - 0x148c], 5
jge 0x4df75e
cmp dword [ebp - 0x1c], 0
jge 0x4df734
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4df74a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1688]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4df70e
mov dword [ebp - 0x168c], 0
jmp 0x4df779
mov eax, dword [ebp - 0x168c]
add eax, 1
mov dword [ebp - 0x168c], eax
cmp dword [ebp - 0x168c], 6
jge 0x4df790
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x168c]
mov dword [ebp - 0x1c], ecx
jmp 0x4df76a
cmp dword [ebp - 0x1c], 0
jge 0x4df79e
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df7b6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1690], 0
jmp 0x4df7d1
mov edx, dword [ebp - 0x1690]
add edx, 1
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 8
jge 0x4df7e8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1690]
mov dword [ebp - 0x1c], eax
jmp 0x4df7c2
cmp dword [ebp - 0x1c], 0
jge 0x4df7f6
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df80e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1694], 0
jmp 0x4df829
mov edx, dword [ebp - 0x1694]
add edx, 1
mov dword [ebp - 0x1694], edx
cmp dword [ebp - 0x1694], 0
jge 0x4df840
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1694]
mov dword [ebp - 0x1c], eax
jmp 0x4df81a
cmp dword [ebp - 0x1c], 0
jge 0x4df84e
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df866
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1698], 0
jmp 0x4df881
mov edx, dword [ebp - 0x1698]
add edx, 1
mov dword [ebp - 0x1698], edx
cmp dword [ebp - 0x1698], 4
jge 0x4df898
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1698]
mov dword [ebp - 0x1c], eax
jmp 0x4df872
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4df8aa
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4df8c2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x169c], 0
jmp 0x4df8dd
mov edx, dword [ebp - 0x169c]
add edx, 1
mov dword [ebp - 0x169c], edx
cmp dword [ebp - 0x169c], 2
jge 0x4df8f4
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x169c]
mov dword [ebp - 0x1c], eax
jmp 0x4df8ce
cmp dword [ebp - 0x1c], 0
jge 0x4df902
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df91a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4df954
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16a0], eax
mov eax, dword [ebp - 0x16a0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4df946
jmp 0x4df954
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16a0]
mov dword [ebp - 0x1c], edx
jmp 0x4df91a
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4df997
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16a4], eax
mov eax, dword [ebp - 0x16a4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4df989
jmp 0x4df997
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16a4]
mov dword [ebp - 0x1c], edx
jmp 0x4df95d
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16a8], 0
jmp 0x4df9bb
mov ecx, dword [ebp - 0x16a8]
add ecx, 1
mov dword [ebp - 0x16a8], ecx
cmp dword [ebp - 0x16a8], 0
jge 0x4dfa08
cmp dword [ebp - 0x1c], 0
jge 0x4df9d2
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4df9e8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16ac], 0xfa
lea edx, [ebp - 0x16ac]
push edx
lea eax, [ebp - 0x18a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4df9ac
mov dword [ebp - 0x18ac], 0
jmp 0x4dfa23
mov ecx, dword [ebp - 0x18ac]
add ecx, 1
mov dword [ebp - 0x18ac], ecx
cmp dword [ebp - 0x18ac], 3
jge 0x4dfa70
cmp dword [ebp - 0x1c], 0
jge 0x4dfa3a
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4dfa50
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18b0], 0xfa
lea edx, [ebp - 0x18b0]
push edx
lea eax, [ebp - 0x1aa8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4dfa14
mov ecx, 1
test ecx, ecx
je 0x4dfaaa
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1aac], eax
mov eax, dword [ebp - 0x1aac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4dfa9c
jmp 0x4dfaaa
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1aac]
mov dword [ebp - 0x1c], edx
jmp 0x4dfa70
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ab0], 0
jmp 0x4dfacb
mov ecx, dword [ebp - 0x1ab0]
add ecx, 1
mov dword [ebp - 0x1ab0], ecx
cmp dword [ebp - 0x1ab0], 1
jge 0x4dfb18
cmp dword [ebp - 0x1c], 0
jge 0x4dfae2
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4dfaf8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ab4], 0xfa
lea edx, [ebp - 0x1ab4]
push edx
lea eax, [ebp - 0x1cb0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4dfabc
mov dword [ebp - 0x1cb4], 0
jmp 0x4dfb33
mov ecx, dword [ebp - 0x1cb4]
add ecx, 1
mov dword [ebp - 0x1cb4], ecx
cmp dword [ebp - 0x1cb4], 3
jge 0x4dfb4a
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1cb4]
mov dword [ebp - 0x1c], edx
jmp 0x4dfb24
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4dfb5c
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4dfb74
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cb8], 0
jmp 0x4dfb8f
cmp dword [ebp - 0x1cb8], 1
jge 0x4dfba6
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1cb8]
mov dword [ebp - 0x1c], eax
jmp 0x4dfb80
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4dfbb8