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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5148a0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2adc
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x3c], 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 0x4f8f59
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jge 0x4f8f6a
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x4f8f50
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f8f7c
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 0x4f8f94
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x4f8fa6
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x16
jge 0x4f8fb7
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x4f8f9d
cmp dword [ebp - 0x1c], 0
jge 0x4f8fc5
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 0x4f8fdd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0
jmp 0x4f8fef
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x11
jge 0x4f9000
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x4f8fe6
cmp dword [ebp - 0x1c], 0
jge 0x4f900e
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 0x4f9026
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x4f9038
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x15
jge 0x4f9049
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x4f902f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f905b
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 0x4f9073
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x4f9085
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0x1c
jge 0x4f90c3
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f90ab
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f90b8
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x4f90c1
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
jmp 0x4f907c
mov dword [ebp - 0x34], 0
jmp 0x4f90d5
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], 0xd
jge 0x4f9119
cmp dword [ebp - 0x1c], 0
jge 0x4f90e9
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 0x4f90ff
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x38], 0xfa
lea edx, [ebp - 0x38]
push edx
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f90cc
mov dword [ebp - 0x23c], 0
jmp 0x4f9134
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 0x18
jge 0x4f9181
cmp dword [ebp - 0x1c], 0
jge 0x4f914b
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 0x4f9161
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x240], 0xfa
lea edx, [ebp - 0x240]
push edx
lea eax, [ebp - 0x438]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f9125
mov dword [ebp - 0x43c], 0
jmp 0x4f919c
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 0x17
jge 0x4f91e9
cmp dword [ebp - 0x1c], 0
jge 0x4f91b3
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 0x4f91c9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x440], 0xfa
lea edx, [ebp - 0x440]
push edx
lea eax, [ebp - 0x638]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f918d
mov dword [ebp - 0x63c], 0
jmp 0x4f9204
mov ecx, dword [ebp - 0x63c]
add ecx, 1
mov dword [ebp - 0x63c], ecx
cmp dword [ebp - 0x63c], 0x10
jge 0x4f9251
cmp dword [ebp - 0x1c], 0
jge 0x4f921b
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 0x4f9231
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x640], 0xfa
lea edx, [ebp - 0x640]
push edx
lea eax, [ebp - 0x838]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f91f5
mov dword [ebp - 4], 0
mov dword [ebp - 0x83c], 0xffffffff
mov dword [ebp - 0x840], 0
jmp 0x4f927d
mov ecx, dword [ebp - 0x840]
add ecx, 1
mov dword [ebp - 0x840], ecx
cmp dword [ebp - 0x840], 5
jge 0x4f92af
mov eax, dword [ebp - 0x840]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f92a4
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 0x4f926e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f92cf
mov dword [ebp - 0x844], 0
jmp 0x4f92ea
mov edx, dword [ebp - 0x844]
add edx, 1
mov dword [ebp - 0x844], edx
cmp dword [ebp - 0x844], 0xa
jge 0x4f9337
cmp dword [ebp - 0x1c], 0
jge 0x4f9301
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 0x4f9317
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x848], 0xfa
lea edx, [ebp - 0x848]
push edx
lea eax, [ebp - 0xa40]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f92db
mov dword [ebp - 0xa44], 0
jmp 0x4f9352
mov ecx, dword [ebp - 0xa44]
add ecx, 1
mov dword [ebp - 0xa44], ecx
cmp dword [ebp - 0xa44], 0xd
jge 0x4f9369
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa44]
mov dword [ebp - 0x1c], edx
jmp 0x4f9343
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f937b
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 0x4f9393
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4f93cd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa48], eax
mov eax, dword [ebp - 0xa48]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f93bf
jmp 0x4f93cd
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa48]
mov dword [ebp - 0x1c], edx
jmp 0x4f9393
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa4c], 0
jmp 0x4f93f1
mov ecx, dword [ebp - 0xa4c]
add ecx, 1
mov dword [ebp - 0xa4c], ecx
cmp dword [ebp - 0xa4c], 4
jge 0x4f943e
mov eax, dword [ebp - 0xa4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f9420
mov eax, dword [ebp - 0xa4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f9430
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], edx
jmp 0x4f943c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], eax
jmp 0x4f93e2
mov dword [ebp - 4], 1
mov dword [ebp - 0xa50], 0xffffffff
mov dword [ebp - 0xa54], 0
jmp 0x4f946a
mov ecx, dword [ebp - 0xa54]
add ecx, 1
mov dword [ebp - 0xa54], ecx
cmp dword [ebp - 0xa54], 0x10
jge 0x4f949c
mov eax, dword [ebp - 0xa54]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f9491
mov edx, dword [ebp - 0xa50]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f945b
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f94bc
mov dword [ebp - 0xa58], 0
jmp 0x4f94d7
mov edx, dword [ebp - 0xa58]
add edx, 1
mov dword [ebp - 0xa58], edx
cmp dword [ebp - 0xa58], 1
jge 0x4f94ee
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xa58]
mov dword [ebp - 0x1c], eax
jmp 0x4f94c8
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f9500
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 0x4f9518
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0xa5c], 0xffffffff
mov dword [ebp - 0xa60], 0
jmp 0x4f9544
mov edx, dword [ebp - 0xa60]
add edx, 1
mov dword [ebp - 0xa60], edx
cmp dword [ebp - 0xa60], 5
jge 0x4f9576
mov eax, dword [ebp - 0xa60]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f956b
mov edx, dword [ebp - 0xa5c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f9535
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f9596
mov dword [ebp - 4], 3
mov dword [ebp - 0xa64], 0xffffffff
mov dword [ebp - 0xa68], 0
jmp 0x4f95c2
mov edx, dword [ebp - 0xa68]
add edx, 1
mov dword [ebp - 0xa68], edx
cmp dword [ebp - 0xa68], 6
jge 0x4f95f4
mov eax, dword [ebp - 0xa68]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f95e9
mov edx, dword [ebp - 0xa64]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f95b3
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f9614
mov dword [ebp - 0xa6c], 0
jmp 0x4f962f
mov edx, dword [ebp - 0xa6c]
add edx, 1
mov dword [ebp - 0xa6c], edx
cmp dword [ebp - 0xa6c], 0
jge 0x4f9646
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], eax
jmp 0x4f9620
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f9658
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 0x4f9670
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa70], 0
jmp 0x4f968b
mov edx, dword [ebp - 0xa70]
add edx, 1
mov dword [ebp - 0xa70], edx
cmp dword [ebp - 0xa70], 1
jge 0x4f96a2
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xa70]
mov dword [ebp - 0x1c], eax
jmp 0x4f967c
cmp dword [ebp - 0x1c], 0
jge 0x4f96b0
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 0x4f96c8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa74], 0
jmp 0x4f96e3
mov edx, dword [ebp - 0xa74]
add edx, 1
mov dword [ebp - 0xa74], edx
cmp dword [ebp - 0xa74], 1
jge 0x4f9730
mov eax, dword [ebp - 0xa74]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f9712
mov eax, dword [ebp - 0xa74]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f9722
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa74]
mov dword [ebp - 0x1c], edx
jmp 0x4f972e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa74]
mov dword [ebp - 0x1c], eax
jmp 0x4f96d4
mov dword [ebp - 0xa78], 0
jmp 0x4f974b
mov ecx, dword [ebp - 0xa78]
add ecx, 1
mov dword [ebp - 0xa78], ecx
cmp dword [ebp - 0xa78], 4
jge 0x4f9762
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa78]
mov dword [ebp - 0x1c], edx
jmp 0x4f973c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f9774
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 0x4f978c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa7c], 0
jmp 0x4f97a7
mov edx, dword [ebp - 0xa7c]
add edx, 1
mov dword [ebp - 0xa7c], edx
cmp dword [ebp - 0xa7c], 7
jge 0x4f97be
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xa7c]
mov dword [ebp - 0x1c], eax
jmp 0x4f9798
cmp dword [ebp - 0x1c], 0
jge 0x4f97cc
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 0x4f97e4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa80], 0
jmp 0x4f97ff
mov edx, dword [ebp - 0xa80]
add edx, 1
mov dword [ebp - 0xa80], edx
cmp dword [ebp - 0xa80], 8
jge 0x4f9840
cmp dword [ebp - 0x1c], 0
jge 0x4f9816
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 0x4f982c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc78]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f97f0
mov dword [ebp - 0xc7c], 0
jmp 0x4f985b
mov eax, dword [ebp - 0xc7c]
add eax, 1
mov dword [ebp - 0xc7c], eax
cmp dword [ebp - 0xc7c], 2
jge 0x4f9872
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xc7c]
mov dword [ebp - 0x1c], ecx
jmp 0x4f984c
cmp dword [ebp - 0x1c], 0
jge 0x4f9880
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 0x4f9898
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc80], 0
jmp 0x4f98b3
mov edx, dword [ebp - 0xc80]
add edx, 1
mov dword [ebp - 0xc80], edx
cmp dword [ebp - 0xc80], 3
jge 0x4f98ca
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc80]
mov dword [ebp - 0x1c], eax
jmp 0x4f98a4
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f98dc
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 0x4f98f4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc84], 0
jmp 0x4f990f
mov edx, dword [ebp - 0xc84]
add edx, 1
mov dword [ebp - 0xc84], edx
cmp dword [ebp - 0xc84], 4
jge 0x4f995c
mov eax, dword [ebp - 0xc84]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f993e
mov eax, dword [ebp - 0xc84]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f994e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc84]
mov dword [ebp - 0x1c], edx
jmp 0x4f995a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc84]
mov dword [ebp - 0x1c], eax
jmp 0x4f9900
mov dword [ebp - 0xc88], 0
jmp 0x4f9977
mov ecx, dword [ebp - 0xc88]
add ecx, 1
mov dword [ebp - 0xc88], ecx
cmp dword [ebp - 0xc88], 0
jge 0x4f998e
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc88]
mov dword [ebp - 0x1c], edx
jmp 0x4f9968
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f99a0
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 0x4f99b8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc8c], 0
jmp 0x4f99d3
mov edx, dword [ebp - 0xc8c]
add edx, 1
mov dword [ebp - 0xc8c], edx
cmp dword [ebp - 0xc8c], 0
jge 0x4f9a20
mov eax, dword [ebp - 0xc8c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f9a02
mov eax, dword [ebp - 0xc8c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f9a12
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x1c], edx
jmp 0x4f9a1e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc8c]
mov dword [ebp - 0x1c], eax
jmp 0x4f99c4
mov dword [ebp - 0xc90], 0
jmp 0x4f9a3b
mov ecx, dword [ebp - 0xc90]
add ecx, 1
mov dword [ebp - 0xc90], ecx
cmp dword [ebp - 0xc90], 4
jge 0x4f9a88
cmp dword [ebp - 0x1c], 0
jge 0x4f9a52
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 0x4f9a68
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc94], 0xfa
lea edx, [ebp - 0xc94]
push edx
lea eax, [ebp - 0xe90]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f9a2c
mov dword [ebp - 0xe94], 0
jmp 0x4f9aa3
mov ecx, dword [ebp - 0xe94]
add ecx, 1
mov dword [ebp - 0xe94], ecx
cmp dword [ebp - 0xe94], 0
jge 0x4f9aba
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe94]
mov dword [ebp - 0x1c], edx
jmp 0x4f9a94
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f9acc
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 0x4f9ae4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4f9b1e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe98], eax
mov eax, dword [ebp - 0xe98]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f9b10
jmp 0x4f9b1e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe98]
mov dword [ebp - 0x1c], edx
jmp 0x4f9ae4
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe9c], 0
jmp 0x4f9b42
mov ecx, dword [ebp - 0xe9c]
add ecx, 1
mov dword [ebp - 0xe9c], ecx
cmp dword [ebp - 0xe9c], 1
jge 0x4f9b59
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe9c]
mov dword [ebp - 0x1c], edx
jmp 0x4f9b33
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f9b6b
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 0x4f9b83
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xea0], 0
jmp 0x4f9b9e
mov edx, dword [ebp - 0xea0]
add edx, 1
mov dword [ebp - 0xea0], edx
cmp dword [ebp - 0xea0], 1
jge 0x4f9bdf
cmp dword [ebp - 0x1c], 0
jge 0x4f9bb5
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 0x4f9bcb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1098]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f9b8f
mov dword [ebp - 0x109c], 0
jmp 0x4f9bfa
mov eax, dword [ebp - 0x109c]
add eax, 1
mov dword [ebp - 0x109c], eax
cmp dword [ebp - 0x109c], 0
jge 0x4f9c3b
cmp dword [ebp - 0x1c], 0
jge 0x4f9c11
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 0x4f9c27
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1298]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f9beb
mov dword [ebp - 0x129c], 0
jmp 0x4f9c56
mov eax, dword [ebp - 0x129c]
add eax, 1
mov dword [ebp - 0x129c], eax
cmp dword [ebp - 0x129c], 1
jge 0x4f9c97
cmp dword [ebp - 0x1c], 0
jge 0x4f9c6d
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 0x4f9c83
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1498]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f9c47
mov dword [ebp - 0x149c], 0
jmp 0x4f9cb2
mov eax, dword [ebp - 0x149c]
add eax, 1
mov dword [ebp - 0x149c], eax
cmp dword [ebp - 0x149c], 1
jge 0x4f9cf3
cmp dword [ebp - 0x1c], 0
jge 0x4f9cc9
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 0x4f9cdf
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1698]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f9ca3
mov eax, 1
test eax, eax
je 0x4f9d2d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x169c], eax
mov eax, dword [ebp - 0x169c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f9d1f
jmp 0x4f9d2d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x169c]
mov dword [ebp - 0x1c], edx
jmp 0x4f9cf3
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x16a0], 0xffffffff
mov dword [ebp - 0x16a4], 0
jmp 0x4f9d62
mov ecx, dword [ebp - 0x16a4]
add ecx, 1
mov dword [ebp - 0x16a4], ecx
cmp dword [ebp - 0x16a4], 4
jge 0x4f9d94
mov eax, dword [ebp - 0x16a4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f9d89
mov edx, dword [ebp - 0x16a0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f9d53
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f9db4
mov dword [ebp - 0x16a8], 0
jmp 0x4f9dcf
mov edx, dword [ebp - 0x16a8]
add edx, 1
mov dword [ebp - 0x16a8], edx
cmp dword [ebp - 0x16a8], 3
jge 0x4f9e1c
mov eax, dword [ebp - 0x16a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f9dfe
mov eax, dword [ebp - 0x16a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f9e0e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16a8]
mov dword [ebp - 0x1c], edx
jmp 0x4f9e1a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16a8]
mov dword [ebp - 0x1c], eax
jmp 0x4f9dc0
mov dword [ebp - 0x16ac], 0
jmp 0x4f9e37
mov ecx, dword [ebp - 0x16ac]
add ecx, 1
mov dword [ebp - 0x16ac], ecx
cmp dword [ebp - 0x16ac], 2
jge 0x4f9e78
cmp dword [ebp - 0x1c], 0
jge 0x4f9e4e
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 0x4f9e64
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f9e28
mov dword [ebp - 0x18ac], 0
jmp 0x4f9e93
mov eax, dword [ebp - 0x18ac]
add eax, 1
mov dword [ebp - 0x18ac], eax
cmp dword [ebp - 0x18ac], 1
jge 0x4f9ed4
cmp dword [ebp - 0x1c], 0
jge 0x4f9eaa
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 0x4f9ec0
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1aa8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f9e84
mov dword [ebp - 0x1aac], 0
jmp 0x4f9eef
mov eax, dword [ebp - 0x1aac]
add eax, 1
mov dword [ebp - 0x1aac], eax
cmp dword [ebp - 0x1aac], 1
jge 0x4f9f3c
cmp dword [ebp - 0x1c], 0
jge 0x4f9f06
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 0x4f9f1c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ab0], 0xfa
lea edx, [ebp - 0x1ab0]
push edx
lea eax, [ebp - 0x1ca8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f9ee0
mov ecx, 1
test ecx, ecx
je 0x4f9f76
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1cac], eax
mov eax, dword [ebp - 0x1cac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f9f68
jmp 0x4f9f76
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1cac]
mov dword [ebp - 0x1c], edx
jmp 0x4f9f3c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x1cb0], 0xffffffff
mov dword [ebp - 0x1cb4], 0
jmp 0x4f9fa8
mov ecx, dword [ebp - 0x1cb4]
add ecx, 1
mov dword [ebp - 0x1cb4], ecx
cmp dword [ebp - 0x1cb4], 0
jge 0x4f9fda
mov eax, dword [ebp - 0x1cb4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f9fcf
mov edx, dword [ebp - 0x1cb0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f9f99
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f9ffa
mov dword [ebp - 0x1cb8], 0
jmp 0x4fa015
mov edx, dword [ebp - 0x1cb8]
add edx, 1
mov dword [ebp - 0x1cb8], edx
cmp dword [ebp - 0x1cb8], 2
jge 0x4fa062
mov eax, dword [ebp - 0x1cb8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fa044
mov eax, dword [ebp - 0x1cb8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fa054
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1cb8]
mov dword [ebp - 0x1c], edx
jmp 0x4fa060
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1cb8]
mov dword [ebp - 0x1c], eax
jmp 0x4fa006
mov dword [ebp - 0x1cbc], 0
jmp 0x4fa07d
cmp dword [ebp - 0x1cbc], 2
jge 0x4fa0ca
cmp dword [ebp - 0x1c], 0
jge 0x4fa094
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 0x4fa0aa
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1cc0], 0xfa
lea edx, [ebp - 0x1cc0]
push edx
lea eax, [ebp - 0x1eb8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fa06e
mov ecx, 1
test ecx, ecx
je 0x4fa104
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ebc], eax
mov eax, dword [ebp - 0x1ebc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4fa0f6
jmp 0x4fa104
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ebc]
mov dword [ebp - 0x1c], edx
jmp 0x4fa0ca
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ec0], 0
jmp 0x4fa128
cmp dword [ebp - 0x1ec0], 4
jge 0x4fa169