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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512ff8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x18ac
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x30], 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 0x4acfd9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x34
jge 0x4ad017
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4acfff
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ad00c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4ad015
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4acfd0
mov ecx, 1
test ecx, ecx
je 0x4ad048
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ad03d
jmp 0x4ad048
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x4ad017
mov eax, dword [ebp - 0x1c]
add eax, 0x32
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0
jmp 0x4ad063
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0xb
jge 0x4ad0a7
cmp dword [ebp - 0x1c], 0
jge 0x4ad077
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 0x4ad08d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x2c], 0xfa
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ad05a
mov ecx, 1
test ecx, ecx
je 0x4ad0e1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x22c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ad0d3
jmp 0x4ad0e1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x4ad0a7
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x4ad105
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 0
jge 0x4ad11c
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x4ad0f6
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ad12e
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 0x4ad146
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x234], 0
jmp 0x4ad161
mov edx, dword [ebp - 0x234]
add edx, 1
mov dword [ebp - 0x234], edx
cmp dword [ebp - 0x234], 0x14
jge 0x4ad178
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x234]
mov dword [ebp - 0x1c], eax
jmp 0x4ad152
cmp dword [ebp - 0x1c], 0
jge 0x4ad186
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 0x4ad19e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x4ad1b9
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0xd
jge 0x4ad206
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ad1e8
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ad1f8
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x4ad204
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x238]
mov dword [ebp - 0x1c], eax
jmp 0x4ad1aa
mov dword [ebp - 4], 0
mov dword [ebp - 0x23c], 0xffffffff
mov dword [ebp - 0x240], 0
jmp 0x4ad232
mov ecx, dword [ebp - 0x240]
add ecx, 1
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 4
jge 0x4ad264
mov eax, dword [ebp - 0x240]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ad259
mov edx, dword [ebp - 0x23c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ad223
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ad284
mov edx, 1
test edx, edx
je 0x4ad2be
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x244]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ad2b0
jmp 0x4ad2be
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x244]
mov dword [ebp - 0x1c], edx
jmp 0x4ad284
mov eax, dword [ebp - 0x1c]
add eax, 0xd
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4ad301
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x248]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ad2f3
jmp 0x4ad301
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x248]
mov dword [ebp - 0x1c], edx
jmp 0x4ad2c7
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4ad344
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x24c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ad336
jmp 0x4ad344
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], edx
jmp 0x4ad30a
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x250], 0xffffffff
mov dword [ebp - 0x254], 0
jmp 0x4ad379
mov ecx, dword [ebp - 0x254]
add ecx, 1
mov dword [ebp - 0x254], ecx
cmp dword [ebp - 0x254], 2
jge 0x4ad3ab
mov eax, dword [ebp - 0x254]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ad3a0
mov edx, dword [ebp - 0x250]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ad36a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ad3cb
mov dword [ebp - 4], 2
mov dword [ebp - 0x258], 0xffffffff
mov dword [ebp - 0x25c], 0
jmp 0x4ad3f7
mov edx, dword [ebp - 0x25c]
add edx, 1
mov dword [ebp - 0x25c], edx
cmp dword [ebp - 0x25c], 0xc
jge 0x4ad429
mov eax, dword [ebp - 0x25c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ad41e
mov edx, dword [ebp - 0x258]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ad3e8
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ad449
mov dword [ebp - 0x260], 0
jmp 0x4ad464
mov edx, dword [ebp - 0x260]
add edx, 1
mov dword [ebp - 0x260], edx
cmp dword [ebp - 0x260], 0xe
jge 0x4ad4b1
cmp dword [ebp - 0x1c], 0
jge 0x4ad47b
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 0x4ad491
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x264], 0xfa
lea edx, [ebp - 0x264]
push edx
lea eax, [ebp - 0x460]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ad455
mov dword [ebp - 0x464], 0
jmp 0x4ad4cc
mov ecx, dword [ebp - 0x464]
add ecx, 1
mov dword [ebp - 0x464], ecx
cmp dword [ebp - 0x464], 5
jge 0x4ad4e3
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x464]
mov dword [ebp - 0x1c], edx
jmp 0x4ad4bd
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ad4f5
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 0x4ad50d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x468], 0
jmp 0x4ad528
mov edx, dword [ebp - 0x468]
add edx, 1
mov dword [ebp - 0x468], edx
cmp dword [ebp - 0x468], 6
jge 0x4ad53f
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x468]
mov dword [ebp - 0x1c], eax
jmp 0x4ad519
cmp dword [ebp - 0x1c], 0
jge 0x4ad54d
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 0x4ad565
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x46c], 0
jmp 0x4ad580
mov edx, dword [ebp - 0x46c]
add edx, 1
mov dword [ebp - 0x46c], edx
cmp dword [ebp - 0x46c], 1
jge 0x4ad597
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x46c]
mov dword [ebp - 0x1c], eax
jmp 0x4ad571
cmp dword [ebp - 0x1c], 0
jge 0x4ad5a5
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 0x4ad5bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x470], 0xffffffff
mov dword [ebp - 0x474], 0
jmp 0x4ad5e9
mov edx, dword [ebp - 0x474]
add edx, 1
mov dword [ebp - 0x474], edx
cmp dword [ebp - 0x474], 4
jge 0x4ad61b
mov eax, dword [ebp - 0x474]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ad610
mov edx, dword [ebp - 0x470]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ad5da
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ad63b
mov dword [ebp - 4], 4
mov dword [ebp - 0x478], 0xffffffff
mov dword [ebp - 0x47c], 0
jmp 0x4ad667
mov edx, dword [ebp - 0x47c]
add edx, 1
mov dword [ebp - 0x47c], edx
cmp dword [ebp - 0x47c], 7
jge 0x4ad699
mov eax, dword [ebp - 0x47c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ad68e
mov edx, dword [ebp - 0x478]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ad658
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ad6b9
mov edx, 1
test edx, edx
je 0x4ad6f3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x480], eax
mov eax, dword [ebp - 0x480]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ad6e5
jmp 0x4ad6f3
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x480]
mov dword [ebp - 0x1c], edx
jmp 0x4ad6b9
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x484], 0xffffffff
mov dword [ebp - 0x488], 0
jmp 0x4ad728
mov ecx, dword [ebp - 0x488]
add ecx, 1
mov dword [ebp - 0x488], ecx
cmp dword [ebp - 0x488], 4
jge 0x4ad75a
mov eax, dword [ebp - 0x488]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ad74f
mov edx, dword [ebp - 0x484]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ad719
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ad77a
mov dword [ebp - 0x48c], 0
jmp 0x4ad795
mov edx, dword [ebp - 0x48c]
add edx, 1
mov dword [ebp - 0x48c], edx
cmp dword [ebp - 0x48c], 8
jge 0x4ad7d6
cmp dword [ebp - 0x1c], 0
jge 0x4ad7ac
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 0x4ad7c2
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x688]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ad786
mov dword [ebp - 4], 6
mov dword [ebp - 0x68c], 0xffffffff
mov dword [ebp - 0x690], 0
jmp 0x4ad802
mov eax, dword [ebp - 0x690]
add eax, 1
mov dword [ebp - 0x690], eax
cmp dword [ebp - 0x690], 4
jge 0x4ad834
mov eax, dword [ebp - 0x690]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ad829
mov edx, dword [ebp - 0x68c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ad7f3
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ad854
mov edx, 1
test edx, edx
je 0x4ad88e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x694], eax
mov eax, dword [ebp - 0x694]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ad880
jmp 0x4ad88e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x694]
mov dword [ebp - 0x1c], edx
jmp 0x4ad854
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x698], 0
jmp 0x4ad8b2
mov ecx, dword [ebp - 0x698]
add ecx, 1
mov dword [ebp - 0x698], ecx
cmp dword [ebp - 0x698], 4
jge 0x4ad8c9
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x698]
mov dword [ebp - 0x1c], edx
jmp 0x4ad8a3
cmp dword [ebp - 0x1c], 0
jge 0x4ad8d7
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 0x4ad8ef
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x69c], 0
jmp 0x4ad90a
mov edx, dword [ebp - 0x69c]
add edx, 1
mov dword [ebp - 0x69c], edx
cmp dword [ebp - 0x69c], 4
jge 0x4ad957
mov eax, dword [ebp - 0x69c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ad939
mov eax, dword [ebp - 0x69c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ad949
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x69c]
mov dword [ebp - 0x1c], edx
jmp 0x4ad955
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x69c]
mov dword [ebp - 0x1c], eax
jmp 0x4ad8fb
mov dword [ebp - 0x6a0], 0
jmp 0x4ad972
mov ecx, dword [ebp - 0x6a0]
add ecx, 1
mov dword [ebp - 0x6a0], ecx
cmp dword [ebp - 0x6a0], 1
jge 0x4ad9b3
cmp dword [ebp - 0x1c], 0
jge 0x4ad989
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 0x4ad99f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x898]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ad963
mov dword [ebp - 0x89c], 0
jmp 0x4ad9ce
mov eax, dword [ebp - 0x89c]
add eax, 1
mov dword [ebp - 0x89c], eax
cmp dword [ebp - 0x89c], 4
jge 0x4ad9e5
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x89c]
mov dword [ebp - 0x1c], ecx
jmp 0x4ad9bf
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ad9f7
mov edx, dword [ebp - 0x1c]
imul edx, edx, 0xfffffffb
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4ada0f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8a0], 0
jmp 0x4ada2a
mov edx, dword [ebp - 0x8a0]
add edx, 1
mov dword [ebp - 0x8a0], edx
cmp dword [ebp - 0x8a0], 4
jge 0x4ada6b
cmp dword [ebp - 0x1c], 0
jge 0x4ada41
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 0x4ada57
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa98]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ada1b
mov dword [ebp - 0xa9c], 0
jmp 0x4ada86
mov eax, dword [ebp - 0xa9c]
add eax, 1
mov dword [ebp - 0xa9c], eax
cmp dword [ebp - 0xa9c], 1
jge 0x4adac7
cmp dword [ebp - 0x1c], 0
jge 0x4ada9d
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
je 0x4adab3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc98]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ada77
mov dword [ebp - 0xc9c], 0
jmp 0x4adae2
mov eax, dword [ebp - 0xc9c]
add eax, 1
mov dword [ebp - 0xc9c], eax
cmp dword [ebp - 0xc9c], 4
jge 0x4adaf9
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xc9c]
mov dword [ebp - 0x1c], ecx
jmp 0x4adad3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4adb0b
mov edx, dword [ebp - 0x1c]
imul edx, edx, 0xfffffffb
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4adb23
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xca0], 0
jmp 0x4adb3e
mov edx, dword [ebp - 0xca0]
add edx, 1
mov dword [ebp - 0xca0], edx
cmp dword [ebp - 0xca0], 0
jge 0x4adb8b
cmp dword [ebp - 0x1c], 0
jge 0x4adb55
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 0x4adb6b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xca4], 0xfa
lea edx, [ebp - 0xca4]
push edx
lea eax, [ebp - 0xea0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4adb2f
mov dword [ebp - 0xea4], 0
jmp 0x4adba6
mov ecx, dword [ebp - 0xea4]
add ecx, 1
mov dword [ebp - 0xea4], ecx
cmp dword [ebp - 0xea4], 2
jge 0x4adbbd
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xea4]
mov dword [ebp - 0x1c], edx
jmp 0x4adb97
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4adbcf
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 0x4adbe7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xea8], 0
jmp 0x4adc02
mov edx, dword [ebp - 0xea8]
add edx, 1
mov dword [ebp - 0xea8], edx
cmp dword [ebp - 0xea8], 3
jge 0x4adc4f
mov eax, dword [ebp - 0xea8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4adc31
mov eax, dword [ebp - 0xea8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4adc41
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xea8]
mov dword [ebp - 0x1c], edx
jmp 0x4adc4d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xea8]
mov dword [ebp - 0x1c], eax
jmp 0x4adbf3
mov dword [ebp - 0xeac], 0
jmp 0x4adc6a
mov ecx, dword [ebp - 0xeac]
add ecx, 1
mov dword [ebp - 0xeac], ecx
cmp dword [ebp - 0xeac], 4
jge 0x4adcab
cmp dword [ebp - 0x1c], 0
jge 0x4adc81
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 0x4adc97
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x10a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4adc5b
mov dword [ebp - 0x10ac], 0
jmp 0x4adcc6
mov eax, dword [ebp - 0x10ac]
add eax, 1
mov dword [ebp - 0x10ac], eax
cmp dword [ebp - 0x10ac], 1
jge 0x4add13
cmp dword [ebp - 0x1c], 0
jge 0x4adcdd
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 0x4adcf3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10b0], 0xfa
lea edx, [ebp - 0x10b0]
push edx
lea eax, [ebp - 0x12a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4adcb7
mov dword [ebp - 0x12ac], 0
jmp 0x4add2e
mov ecx, dword [ebp - 0x12ac]
add ecx, 1
mov dword [ebp - 0x12ac], ecx
cmp dword [ebp - 0x12ac], 1
jge 0x4add7b
mov eax, dword [ebp - 0x12ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4add5d
mov eax, dword [ebp - 0x12ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4add6d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12ac]
mov dword [ebp - 0x1c], edx
jmp 0x4add79
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12ac]
mov dword [ebp - 0x1c], eax
jmp 0x4add1f
mov dword [ebp - 4], 7
mov dword [ebp - 0x12b0], 0xffffffff
mov dword [ebp - 0x12b4], 0
jmp 0x4adda7
mov ecx, dword [ebp - 0x12b4]
add ecx, 1
mov dword [ebp - 0x12b4], ecx
cmp dword [ebp - 0x12b4], 4
jge 0x4addd9
mov eax, dword [ebp - 0x12b4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4addce
mov edx, dword [ebp - 0x12b0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4add98
mov dword [ebp - 4], 0xfffffffe
jmp 0x4addf9
mov dword [ebp - 0x12b8], 0
jmp 0x4ade14
mov edx, dword [ebp - 0x12b8]
add edx, 1
mov dword [ebp - 0x12b8], edx
cmp dword [ebp - 0x12b8], 4
jge 0x4ade55
cmp dword [ebp - 0x1c], 0
jge 0x4ade2b
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 0x4ade41
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x14b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ade05
mov dword [ebp - 0x14b4], 0
jmp 0x4ade70
mov eax, dword [ebp - 0x14b4]
add eax, 1
mov dword [ebp - 0x14b4], eax
cmp dword [ebp - 0x14b4], 3
jge 0x4adeb1
cmp dword [ebp - 0x1c], 0
jge 0x4ade87
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
je 0x4ade9d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ade61
mov dword [ebp - 4], 8
mov dword [ebp - 0x16b4], 0xffffffff
mov dword [ebp - 0x16b8], 0
jmp 0x4adedd
mov eax, dword [ebp - 0x16b8]
add eax, 1
mov dword [ebp - 0x16b8], eax
cmp dword [ebp - 0x16b8], 1
jge 0x4adf0f
mov eax, dword [ebp - 0x16b8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4adf04
mov edx, dword [ebp - 0x16b4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4adece
mov dword [ebp - 4], 0xfffffffe
jmp 0x4adf2f
mov dword [ebp - 0x16bc], 0
jmp 0x4adf4a
mov edx, dword [ebp - 0x16bc]
add edx, 1
mov dword [ebp - 0x16bc], edx
cmp dword [ebp - 0x16bc], 2
jge 0x4adf97
mov eax, dword [ebp - 0x16bc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4adf79
mov eax, dword [ebp - 0x16bc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4adf89
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16bc]
mov dword [ebp - 0x1c], edx
jmp 0x4adf95
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16bc]
mov dword [ebp - 0x1c], eax
jmp 0x4adf3b
mov dword [ebp - 0x16c0], 0
jmp 0x4adfb2
mov ecx, dword [ebp - 0x16c0]
add ecx, 1
mov dword [ebp - 0x16c0], ecx
cmp dword [ebp - 0x16c0], 1
jge 0x4adff3
cmp dword [ebp - 0x1c], 0
jge 0x4adfc9
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 0x4adfdf
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4adfa3
mov dword [ebp - 4], 9
mov dword [ebp - 0x18bc], 0xffffffff
mov dword [ebp - 0x18c0], 0
jmp 0x4ae01f
mov eax, dword [ebp - 0x18c0]
add eax, 1
mov dword [ebp - 0x18c0], eax
cmp dword [ebp - 0x18c0], 1
jge 0x4ae051
mov eax, dword [ebp - 0x18c0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ae046
mov edx, dword [ebp - 0x18bc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ae010
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ae071
mov dword [ebp - 0x18c4], 0
jmp 0x4ae08c
mov edx, dword [ebp - 0x18c4]
add edx, 1
mov dword [ebp - 0x18c4], edx
cmp dword [ebp - 0x18c4], 3
jge 0x4ae0a3
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x18c4]
mov dword [ebp - 0x1c], eax
jmp 0x4ae07d
cmp dword [ebp - 0x1c], 0
jge 0x4ae0b1
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 0x4ae0c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x30]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret