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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x514910
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1f04
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 - 4], 0
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0
jmp 0x4fa837
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x22
jge 0x4fa860
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fa855
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fa82e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fa880
mov edx, 1
test edx, edx
je 0x4fa8b1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4fa8a6
jmp 0x4fa8b1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x4fa880
mov eax, dword [ebp - 0x1c]
add eax, 0x35
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x4fa8cc
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x3a
jge 0x4fa90a
cmp dword [ebp - 0x1c], 0
jge 0x4fa8e0
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 0x4fa8f6
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4fa8c3
mov eax, 1
test eax, eax
je 0x4fa944
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 0x4fa936
jmp 0x4fa944
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x4fa90a
mov eax, dword [ebp - 0x1c]
add eax, 0x34
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x4fa968
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 1
jge 0x4fa97f
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x4fa959
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fa991
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 0x4fa9a9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x234], 0xffffffff
mov dword [ebp - 0x238], 0
jmp 0x4fa9d5
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0xa
jge 0x4faa07
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fa9fc
mov edx, dword [ebp - 0x234]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fa9c6
mov dword [ebp - 4], 0xfffffffe
jmp 0x4faa27
mov edx, 1
test edx, edx
je 0x4faa61
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4faa53
jmp 0x4faa61
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], edx
jmp 0x4faa27
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x240], 0
jmp 0x4faa85
mov ecx, dword [ebp - 0x240]
add ecx, 1
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 0xe
jge 0x4faa9c
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x240]
mov dword [ebp - 0x1c], edx
jmp 0x4faa76
cmp dword [ebp - 0x1c], 0
jge 0x4faaaa
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 0x4faac2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x244], 0
jmp 0x4faadd
mov edx, dword [ebp - 0x244]
add edx, 1
mov dword [ebp - 0x244], edx
cmp dword [ebp - 0x244], 0xb
jge 0x4faaf4
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x244]
mov dword [ebp - 0x1c], eax
jmp 0x4faace
cmp dword [ebp - 0x1c], 0
jge 0x4fab02
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 0x4fab1a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x248], 0
jmp 0x4fab35
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
cmp dword [ebp - 0x248], 6
jge 0x4fab82
cmp dword [ebp - 0x1c], 0
jge 0x4fab4c
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 0x4fab62
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24c], 0xfa
lea edx, [ebp - 0x24c]
push edx
lea eax, [ebp - 0x448]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fab26
mov dword [ebp - 0x44c], 0
jmp 0x4fab9d
mov ecx, dword [ebp - 0x44c]
add ecx, 1
mov dword [ebp - 0x44c], ecx
cmp dword [ebp - 0x44c], 0xa
jge 0x4fabea
cmp dword [ebp - 0x1c], 0
jge 0x4fabb4
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 0x4fabca
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x450], 0xfa
lea edx, [ebp - 0x450]
push edx
lea eax, [ebp - 0x648]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fab8e
mov dword [ebp - 0x64c], 0
jmp 0x4fac05
mov ecx, dword [ebp - 0x64c]
add ecx, 1
mov dword [ebp - 0x64c], ecx
cmp dword [ebp - 0x64c], 7
jge 0x4fac46
cmp dword [ebp - 0x1c], 0
jge 0x4fac1c
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 0x4fac32
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x848]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4fabf6
mov dword [ebp - 4], 2
mov dword [ebp - 0x84c], 0xffffffff
mov dword [ebp - 0x850], 0
jmp 0x4fac72
mov eax, dword [ebp - 0x850]
add eax, 1
mov dword [ebp - 0x850], eax
cmp dword [ebp - 0x850], 4
jge 0x4faca4
mov eax, dword [ebp - 0x850]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fac99
mov edx, dword [ebp - 0x84c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fac63
mov dword [ebp - 4], 0xfffffffe
jmp 0x4facc4
mov dword [ebp - 4], 3
mov dword [ebp - 0x854], 0xffffffff
mov dword [ebp - 0x858], 0
jmp 0x4facf0
mov edx, dword [ebp - 0x858]
add edx, 1
mov dword [ebp - 0x858], edx
cmp dword [ebp - 0x858], 7
jge 0x4fad22
mov eax, dword [ebp - 0x858]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fad17
mov edx, dword [ebp - 0x854]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4face1
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fad42
mov dword [ebp - 0x85c], 0
jmp 0x4fad5d
mov edx, dword [ebp - 0x85c]
add edx, 1
mov dword [ebp - 0x85c], edx
cmp dword [ebp - 0x85c], 6
jge 0x4fadaa
cmp dword [ebp - 0x1c], 0
jge 0x4fad74
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 0x4fad8a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x860], 0xfa
lea edx, [ebp - 0x860]
push edx
lea eax, [ebp - 0xa58]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fad4e
mov dword [ebp - 0xa5c], 0
jmp 0x4fadc5
mov ecx, dword [ebp - 0xa5c]
add ecx, 1
mov dword [ebp - 0xa5c], ecx
cmp dword [ebp - 0xa5c], 4
jge 0x4fae12
mov eax, dword [ebp - 0xa5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fadf4
mov eax, dword [ebp - 0xa5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fae04
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], edx
jmp 0x4fae10
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], eax
jmp 0x4fadb6
mov dword [ebp - 4], 4
mov dword [ebp - 0xa60], 0xffffffff
mov dword [ebp - 0xa64], 0
jmp 0x4fae3e
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
cmp dword [ebp - 0xa64], 3
jge 0x4fae70
mov eax, dword [ebp - 0xa64]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fae65
mov edx, dword [ebp - 0xa60]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fae2f
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fae90
mov edx, 1
test edx, edx
je 0x4faeca
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa68], eax
mov eax, dword [ebp - 0xa68]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4faebc
jmp 0x4faeca
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa68]
mov dword [ebp - 0x1c], edx
jmp 0x4fae90
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa6c], 0
jmp 0x4faeee
mov ecx, dword [ebp - 0xa6c]
add ecx, 1
mov dword [ebp - 0xa6c], ecx
cmp dword [ebp - 0xa6c], 0
jge 0x4faf3b
mov eax, dword [ebp - 0xa6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4faf1d
mov eax, dword [ebp - 0xa6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4faf2d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], edx
jmp 0x4faf39
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], eax
jmp 0x4faedf
mov dword [ebp - 4], 5
mov dword [ebp - 0xa70], 0xffffffff
mov dword [ebp - 0xa74], 0
jmp 0x4faf67
mov ecx, dword [ebp - 0xa74]
add ecx, 1
mov dword [ebp - 0xa74], ecx
cmp dword [ebp - 0xa74], 3
jge 0x4faf99
mov eax, dword [ebp - 0xa74]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4faf8e
mov edx, dword [ebp - 0xa70]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4faf58
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fafb9
mov dword [ebp - 0xa78], 0
jmp 0x4fafd4
mov edx, dword [ebp - 0xa78]
add edx, 1
mov dword [ebp - 0xa78], edx
cmp dword [ebp - 0xa78], 2
jge 0x4fb015
cmp dword [ebp - 0x1c], 0
jge 0x4fafeb
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 0x4fb001
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc70]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4fafc5
mov dword [ebp - 0xc74], 0
jmp 0x4fb030
mov eax, dword [ebp - 0xc74]
add eax, 1
mov dword [ebp - 0xc74], eax
cmp dword [ebp - 0xc74], 2
jge 0x4fb047
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xc74]
mov dword [ebp - 0x1c], ecx
jmp 0x4fb021
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fb059
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 0x4fb071
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0xc78], 0xffffffff
mov dword [ebp - 0xc7c], 0
jmp 0x4fb09d
mov edx, dword [ebp - 0xc7c]
add edx, 1
mov dword [ebp - 0xc7c], edx
cmp dword [ebp - 0xc7c], 1
jge 0x4fb0cf
mov eax, dword [ebp - 0xc7c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fb0c4
mov edx, dword [ebp - 0xc78]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fb08e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fb0ef
mov dword [ebp - 0xc80], 0
jmp 0x4fb10a
mov edx, dword [ebp - 0xc80]
add edx, 1
mov dword [ebp - 0xc80], edx
cmp dword [ebp - 0xc80], 3
jge 0x4fb121
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc80]
mov dword [ebp - 0x1c], eax
jmp 0x4fb0fb
cmp dword [ebp - 0x1c], 0
jge 0x4fb12f
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 0x4fb147
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc84], 0
jmp 0x4fb162
mov edx, dword [ebp - 0xc84]
add edx, 1
mov dword [ebp - 0xc84], edx
cmp dword [ebp - 0xc84], 4
jge 0x4fb1a3
cmp dword [ebp - 0x1c], 0
jge 0x4fb179
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 0x4fb18f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe80]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4fb153
mov dword [ebp - 0xe84], 0
jmp 0x4fb1be
mov eax, dword [ebp - 0xe84]
add eax, 1
mov dword [ebp - 0xe84], eax
cmp dword [ebp - 0xe84], 4
jge 0x4fb20b
mov eax, dword [ebp - 0xe84]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fb1ed
mov eax, dword [ebp - 0xe84]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fb1fd
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe84]
mov dword [ebp - 0x1c], edx
jmp 0x4fb209
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe84]
mov dword [ebp - 0x1c], eax
jmp 0x4fb1af
mov dword [ebp - 0xe88], 0
jmp 0x4fb226
mov ecx, dword [ebp - 0xe88]
add ecx, 1
mov dword [ebp - 0xe88], ecx
cmp dword [ebp - 0xe88], 3
jge 0x4fb273
mov eax, dword [ebp - 0xe88]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fb255
mov eax, dword [ebp - 0xe88]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fb265
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe88]
mov dword [ebp - 0x1c], edx
jmp 0x4fb271
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe88]
mov dword [ebp - 0x1c], eax
jmp 0x4fb217
mov dword [ebp - 0xe8c], 0
jmp 0x4fb28e
mov ecx, dword [ebp - 0xe8c]
add ecx, 1
mov dword [ebp - 0xe8c], ecx
cmp dword [ebp - 0xe8c], 0
jge 0x4fb2a5
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe8c]
mov dword [ebp - 0x1c], edx
jmp 0x4fb27f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fb2b7
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 0x4fb2cf
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe90], 0
jmp 0x4fb2ea
mov edx, dword [ebp - 0xe90]
add edx, 1
mov dword [ebp - 0xe90], edx
cmp dword [ebp - 0xe90], 4
jge 0x4fb301
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe90]
mov dword [ebp - 0x1c], eax
jmp 0x4fb2db
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fb313
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 0x4fb32b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe94], 0
jmp 0x4fb346
mov edx, dword [ebp - 0xe94]
add edx, 1
mov dword [ebp - 0xe94], edx
cmp dword [ebp - 0xe94], 4
jge 0x4fb393
cmp dword [ebp - 0x1c], 0
jge 0x4fb35d
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 0x4fb373
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe98], 0xfa
lea edx, [ebp - 0xe98]
push edx
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fb337
mov ecx, 1
test ecx, ecx
je 0x4fb3cd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1094], eax
mov eax, dword [ebp - 0x1094]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4fb3bf
jmp 0x4fb3cd
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], edx
jmp 0x4fb393
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
mov dword [ebp - 0x1098], 0xffffffff
mov dword [ebp - 0x109c], 0
jmp 0x4fb402
mov ecx, dword [ebp - 0x109c]
add ecx, 1
mov dword [ebp - 0x109c], ecx
cmp dword [ebp - 0x109c], 3
jge 0x4fb434
mov eax, dword [ebp - 0x109c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fb429
mov edx, dword [ebp - 0x1098]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fb3f3
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fb454
mov dword [ebp - 0x10a0], 0
jmp 0x4fb46f
mov edx, dword [ebp - 0x10a0]
add edx, 1
mov dword [ebp - 0x10a0], edx
cmp dword [ebp - 0x10a0], 4
jge 0x4fb486
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x10a0]
mov dword [ebp - 0x1c], eax
jmp 0x4fb460
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fb498
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 0x4fb4b0
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a4], 0
jmp 0x4fb4cb
mov edx, dword [ebp - 0x10a4]
add edx, 1
mov dword [ebp - 0x10a4], edx
cmp dword [ebp - 0x10a4], 3
jge 0x4fb4e2
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x10a4]
mov dword [ebp - 0x1c], eax
jmp 0x4fb4bc
cmp dword [ebp - 0x1c], 0
jge 0x4fb4f0
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 0x4fb508
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a8], 0
jmp 0x4fb523
mov edx, dword [ebp - 0x10a8]
add edx, 1
mov dword [ebp - 0x10a8], edx
cmp dword [ebp - 0x10a8], 1
jge 0x4fb564
cmp dword [ebp - 0x1c], 0
jge 0x4fb53a
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 0x4fb550
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x12a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4fb514
mov eax, 1
test eax, eax
je 0x4fb59e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12a4], eax
mov eax, dword [ebp - 0x12a4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4fb590
jmp 0x4fb59e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], edx
jmp 0x4fb564
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12a8], 0
jmp 0x4fb5bf
mov ecx, dword [ebp - 0x12a8]
add ecx, 1
mov dword [ebp - 0x12a8], ecx
cmp dword [ebp - 0x12a8], 0
jge 0x4fb60c
mov eax, dword [ebp - 0x12a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fb5ee
mov eax, dword [ebp - 0x12a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fb5fe
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12a8]
mov dword [ebp - 0x1c], edx
jmp 0x4fb60a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12a8]
mov dword [ebp - 0x1c], eax
jmp 0x4fb5b0
mov dword [ebp - 0x12ac], 0
jmp 0x4fb627
mov ecx, dword [ebp - 0x12ac]
add ecx, 1
mov dword [ebp - 0x12ac], ecx
cmp dword [ebp - 0x12ac], 2
jge 0x4fb674
cmp dword [ebp - 0x1c], 0
jge 0x4fb63e
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 0x4fb654
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12b0], 0xfa
lea edx, [ebp - 0x12b0]
push edx
lea eax, [ebp - 0x14a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fb618
mov ecx, 1
test ecx, ecx
je 0x4fb6ae
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14ac], eax
mov eax, dword [ebp - 0x14ac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4fb6a0
jmp 0x4fb6ae
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x14ac]
mov dword [ebp - 0x1c], edx
jmp 0x4fb674
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x14b0], 0xffffffff
mov dword [ebp - 0x14b4], 0
jmp 0x4fb6e3
mov ecx, dword [ebp - 0x14b4]
add ecx, 1
mov dword [ebp - 0x14b4], ecx
cmp dword [ebp - 0x14b4], 0
jge 0x4fb715
mov eax, dword [ebp - 0x14b4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fb70a
mov edx, dword [ebp - 0x14b0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fb6d4
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fb735
mov dword [ebp - 4], 9
mov dword [ebp - 0x14b8], 0xffffffff
mov dword [ebp - 0x14bc], 0
jmp 0x4fb761
mov edx, dword [ebp - 0x14bc]
add edx, 1
mov dword [ebp - 0x14bc], edx
cmp dword [ebp - 0x14bc], 2
jge 0x4fb793
mov eax, dword [ebp - 0x14bc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fb788
mov edx, dword [ebp - 0x14b8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fb752
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fb7b3
mov edx, 1
test edx, edx
je 0x4fb7ed
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14c0], eax
mov eax, dword [ebp - 0x14c0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4fb7df
jmp 0x4fb7ed
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x14c0]
mov dword [ebp - 0x1c], edx
jmp 0x4fb7b3
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14c4], 0
jmp 0x4fb811
mov ecx, dword [ebp - 0x14c4]
add ecx, 1
mov dword [ebp - 0x14c4], ecx
cmp dword [ebp - 0x14c4], 4
jge 0x4fb828
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14c4]
mov dword [ebp - 0x1c], edx
jmp 0x4fb802
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fb83a
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 0x4fb852
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x14c8], 0xffffffff
mov dword [ebp - 0x14cc], 0
jmp 0x4fb87e
mov edx, dword [ebp - 0x14cc]
add edx, 1
mov dword [ebp - 0x14cc], edx
cmp dword [ebp - 0x14cc], 0
jge 0x4fb8b0
mov eax, dword [ebp - 0x14cc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fb8a5
mov edx, dword [ebp - 0x14c8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fb86f
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fb8d0
mov edx, 1
test edx, edx
je 0x4fb90a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14d0], eax
mov eax, dword [ebp - 0x14d0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4fb8fc
jmp 0x4fb90a
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x14d0]
mov dword [ebp - 0x1c], edx
jmp 0x4fb8d0
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14d4], 0
jmp 0x4fb92e
mov ecx, dword [ebp - 0x14d4]
add ecx, 1
mov dword [ebp - 0x14d4], ecx
cmp dword [ebp - 0x14d4], 3
jge 0x4fb945
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14d4]
mov dword [ebp - 0x1c], edx
jmp 0x4fb91f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fb957
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 0x4fb96f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14d8], 0
jmp 0x4fb98a
mov edx, dword [ebp - 0x14d8]
add edx, 1
mov dword [ebp - 0x14d8], edx
cmp dword [ebp - 0x14d8], 0
jge 0x4fb9a1
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14d8]
mov dword [ebp - 0x1c], eax
jmp 0x4fb97b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fb9b3
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 0x4fb9cb
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14dc], 0
jmp 0x4fb9e6
mov edx, dword [ebp - 0x14dc]
add edx, 1
mov dword [ebp - 0x14dc], edx
cmp dword [ebp - 0x14dc], 1
jge 0x4fb9fd
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14dc]
mov dword [ebp - 0x1c], eax
jmp 0x4fb9d7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fba0f
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 0x4fba27
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14e0], 0
jmp 0x4fba42
cmp dword [ebp - 0x14e0], 0
jge 0x4fba8f
cmp dword [ebp - 0x1c], 0
jge 0x4fba59
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 0x4fba6f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14e4], 0xfa
lea edx, [ebp - 0x14e4]
push edx
lea eax, [ebp - 0x16e0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fba33
mov dword [ebp - 0x16e4], 0
jmp 0x4fbaaa
cmp dword [ebp - 0x16e4], 1
jge 0x4fbac1
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16e4]
mov dword [ebp - 0x1c], edx
jmp 0x4fba9b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fbad3