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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x514388
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1ccc
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x54], 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 0x4e9459
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 9
jge 0x4e946a
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x4e9450
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e947c
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 0x4e9494
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0
jmp 0x4e94b4
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x1b
jge 0x4e94dd
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e94d2
mov edx, dword [ebp - 0x24]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e94ab
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e94fd
mov edx, 1
test edx, edx
je 0x4e952e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e9523
jmp 0x4e952e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x4e94fd
mov eax, dword [ebp - 0x1c]
add eax, 0x18
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x4e9549
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 8
jge 0x4e955a
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x4e9540
cmp dword [ebp - 0x1c], 0
jge 0x4e9568
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 0x4e9580
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x38], 0
jmp 0x4e95a0
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0xa
jge 0x4e95c9
mov eax, dword [ebp - 0x38]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e95be
mov edx, dword [ebp - 0x34]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e9597
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e95e9
mov dword [ebp - 0x3c], 0
jmp 0x4e95fb
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 2
jge 0x4e960c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
jmp 0x4e95f2
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e961e
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 0x4e9636
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], 0
jmp 0x4e9648
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x40], 0xc
jge 0x4e9686
mov eax, dword [ebp - 0x40]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e966e
mov eax, dword [ebp - 0x40]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e967b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x40]
mov dword [ebp - 0x1c], edx
jmp 0x4e9684
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
jmp 0x4e963f
mov dword [ebp - 0x44], 0
jmp 0x4e9698
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], 4
jge 0x4e96a9
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], edx
jmp 0x4e968f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e96bb
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 0x4e96d3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], 0
jmp 0x4e96e5
mov edx, dword [ebp - 0x48]
add edx, 1
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0xc
jge 0x4e96f6
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
jmp 0x4e96dc
cmp dword [ebp - 0x1c], 0
jge 0x4e9704
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 0x4e971c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x4c], 0
jmp 0x4e972e
mov edx, dword [ebp - 0x4c]
add edx, 1
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 6
jge 0x4e9772
cmp dword [ebp - 0x1c], 0
jge 0x4e9742
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 0x4e9758
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x50], 0xfa
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0x250]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e9725
mov dword [ebp - 0x254], 0
jmp 0x4e978d
mov ecx, dword [ebp - 0x254]
add ecx, 1
mov dword [ebp - 0x254], ecx
cmp dword [ebp - 0x254], 2
jge 0x4e97ce
cmp dword [ebp - 0x1c], 0
jge 0x4e97a4
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 0x4e97ba
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x450]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e977e
mov dword [ebp - 0x454], 0
jmp 0x4e97e9
mov eax, dword [ebp - 0x454]
add eax, 1
mov dword [ebp - 0x454], eax
cmp dword [ebp - 0x454], 8
jge 0x4e9800
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x454]
mov dword [ebp - 0x1c], ecx
jmp 0x4e97da
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e9812
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 0x4e982a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x458], 0
jmp 0x4e9845
mov edx, dword [ebp - 0x458]
add edx, 1
mov dword [ebp - 0x458], edx
cmp dword [ebp - 0x458], 0xa
jge 0x4e9892
cmp dword [ebp - 0x1c], 0
jge 0x4e985c
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 0x4e9872
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x45c], 0xfa
lea edx, [ebp - 0x45c]
push edx
lea eax, [ebp - 0x658]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e9836
mov dword [ebp - 0x65c], 0
jmp 0x4e98ad
mov ecx, dword [ebp - 0x65c]
add ecx, 1
mov dword [ebp - 0x65c], ecx
cmp dword [ebp - 0x65c], 0xb
jge 0x4e98fa
cmp dword [ebp - 0x1c], 0
jge 0x4e98c4
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 0x4e98da
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x660], 0xfa
lea edx, [ebp - 0x660]
push edx
lea eax, [ebp - 0x858]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e989e
mov dword [ebp - 0x85c], 0
jmp 0x4e9915
mov ecx, dword [ebp - 0x85c]
add ecx, 1
mov dword [ebp - 0x85c], ecx
cmp dword [ebp - 0x85c], 5
jge 0x4e9962
mov eax, dword [ebp - 0x85c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e9944
mov eax, dword [ebp - 0x85c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e9954
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], edx
jmp 0x4e9960
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], eax
jmp 0x4e9906
mov dword [ebp - 0x860], 0
jmp 0x4e997d
mov ecx, dword [ebp - 0x860]
add ecx, 1
mov dword [ebp - 0x860], ecx
cmp dword [ebp - 0x860], 0x10
jge 0x4e9994
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x860]
mov dword [ebp - 0x1c], edx
jmp 0x4e996e
cmp dword [ebp - 0x1c], 0
jge 0x4e99a2
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 0x4e99ba
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x864], 0xffffffff
mov dword [ebp - 0x868], 0
jmp 0x4e99e6
mov edx, dword [ebp - 0x868]
add edx, 1
mov dword [ebp - 0x868], edx
cmp dword [ebp - 0x868], 8
jge 0x4e9a18
mov eax, dword [ebp - 0x868]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e9a0d
mov edx, dword [ebp - 0x864]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e99d7
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e9a38
mov edx, 1
test edx, edx
je 0x4e9a72
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x86c], eax
mov eax, dword [ebp - 0x86c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e9a64
jmp 0x4e9a72
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x86c]
mov dword [ebp - 0x1c], edx
jmp 0x4e9a38
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x870], 0
jmp 0x4e9a96
mov ecx, dword [ebp - 0x870]
add ecx, 1
mov dword [ebp - 0x870], ecx
cmp dword [ebp - 0x870], 7
jge 0x4e9ae3
cmp dword [ebp - 0x1c], 0
jge 0x4e9aad
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 0x4e9ac3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x874], 0xfa
lea edx, [ebp - 0x874]
push edx
lea eax, [ebp - 0xa70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e9a87
mov dword [ebp - 0xa74], 0
jmp 0x4e9afe
mov ecx, dword [ebp - 0xa74]
add ecx, 1
mov dword [ebp - 0xa74], ecx
cmp dword [ebp - 0xa74], 5
jge 0x4e9b3f
cmp dword [ebp - 0x1c], 0
jge 0x4e9b15
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 0x4e9b2b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc70]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e9aef
mov dword [ebp - 0xc74], 0
jmp 0x4e9b5a
mov eax, dword [ebp - 0xc74]
add eax, 1
mov dword [ebp - 0xc74], eax
cmp dword [ebp - 0xc74], 5
jge 0x4e9b71
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xc74]
mov dword [ebp - 0x1c], ecx
jmp 0x4e9b4b
cmp dword [ebp - 0x1c], 0
jge 0x4e9b7f
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 0x4e9b97
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc78], 0
jmp 0x4e9bb2
mov edx, dword [ebp - 0xc78]
add edx, 1
mov dword [ebp - 0xc78], edx
cmp dword [ebp - 0xc78], 8
jge 0x4e9bc9
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc78]
mov dword [ebp - 0x1c], eax
jmp 0x4e9ba3
cmp dword [ebp - 0x1c], 0
jge 0x4e9bd7
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 0x4e9bef
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc7c], 0
jmp 0x4e9c0a
mov edx, dword [ebp - 0xc7c]
add edx, 1
mov dword [ebp - 0xc7c], edx
cmp dword [ebp - 0xc7c], 0
jge 0x4e9c57
cmp dword [ebp - 0x1c], 0
jge 0x4e9c21
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 0x4e9c37
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 0x4e9bfb
mov ecx, 1
test ecx, ecx
je 0x4e9c91
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 0x4e9c83
jmp 0x4e9c91
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe7c]
mov dword [ebp - 0x1c], edx
jmp 0x4e9c57
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0xe80], 0xffffffff
mov dword [ebp - 0xe84], 0
jmp 0x4e9cc6
mov ecx, dword [ebp - 0xe84]
add ecx, 1
mov dword [ebp - 0xe84], ecx
cmp dword [ebp - 0xe84], 8
jge 0x4e9cf8
mov eax, dword [ebp - 0xe84]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e9ced
mov edx, dword [ebp - 0xe80]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e9cb7
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e9d18
mov dword [ebp - 0xe88], 0
jmp 0x4e9d33
mov edx, dword [ebp - 0xe88]
add edx, 1
mov dword [ebp - 0xe88], edx
cmp dword [ebp - 0xe88], 2
jge 0x4e9d80
mov eax, dword [ebp - 0xe88]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e9d62
mov eax, dword [ebp - 0xe88]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e9d72
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe88]
mov dword [ebp - 0x1c], edx
jmp 0x4e9d7e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe88]
mov dword [ebp - 0x1c], eax
jmp 0x4e9d24
mov dword [ebp - 0xe8c], 0
jmp 0x4e9d9b
mov ecx, dword [ebp - 0xe8c]
add ecx, 1
mov dword [ebp - 0xe8c], ecx
cmp dword [ebp - 0xe8c], 2
jge 0x4e9de8
mov eax, dword [ebp - 0xe8c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e9dca
mov eax, dword [ebp - 0xe8c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e9dda
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe8c]
mov dword [ebp - 0x1c], edx
jmp 0x4e9de6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe8c]
mov dword [ebp - 0x1c], eax
jmp 0x4e9d8c
mov dword [ebp - 4], 4
mov dword [ebp - 0xe90], 0xffffffff
mov dword [ebp - 0xe94], 0
jmp 0x4e9e14
mov ecx, dword [ebp - 0xe94]
add ecx, 1
mov dword [ebp - 0xe94], ecx
cmp dword [ebp - 0xe94], 4
jge 0x4e9e46
mov eax, dword [ebp - 0xe94]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e9e3b
mov edx, dword [ebp - 0xe90]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e9e05
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e9e66
mov edx, 1
test edx, edx
je 0x4e9ea0
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 0x4e9e92
jmp 0x4e9ea0
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe98]
mov dword [ebp - 0x1c], edx
jmp 0x4e9e66
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe9c], 0
jmp 0x4e9ec4
mov ecx, dword [ebp - 0xe9c]
add ecx, 1
mov dword [ebp - 0xe9c], ecx
cmp dword [ebp - 0xe9c], 2
jge 0x4e9edb
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe9c]
mov dword [ebp - 0x1c], edx
jmp 0x4e9eb5
cmp dword [ebp - 0x1c], 0
jge 0x4e9ee9
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 0x4e9f01
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xea0], 0
jmp 0x4e9f1c
mov edx, dword [ebp - 0xea0]
add edx, 1
mov dword [ebp - 0xea0], edx
cmp dword [ebp - 0xea0], 3
jge 0x4e9f69
cmp dword [ebp - 0x1c], 0
jge 0x4e9f33
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 0x4e9f49
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xea4], 0xfa
lea edx, [ebp - 0xea4]
push edx
lea eax, [ebp - 0x10a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e9f0d
mov dword [ebp - 0x10a4], 0
jmp 0x4e9f84
mov ecx, dword [ebp - 0x10a4]
add ecx, 1
mov dword [ebp - 0x10a4], ecx
cmp dword [ebp - 0x10a4], 1
jge 0x4e9fd1
cmp dword [ebp - 0x1c], 0
jge 0x4e9f9b
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 0x4e9fb1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10a8], 0xfa
lea edx, [ebp - 0x10a8]
push edx
lea eax, [ebp - 0x12a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e9f75
mov dword [ebp - 0x12a4], 0
jmp 0x4e9fec
mov ecx, dword [ebp - 0x12a4]
add ecx, 1
mov dword [ebp - 0x12a4], ecx
cmp dword [ebp - 0x12a4], 2
jge 0x4ea003
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], edx
jmp 0x4e9fdd
cmp dword [ebp - 0x1c], 0
jge 0x4ea011
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 0x4ea029
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12a8], 0
jmp 0x4ea044
mov edx, dword [ebp - 0x12a8]
add edx, 1
mov dword [ebp - 0x12a8], edx
cmp dword [ebp - 0x12a8], 1
jge 0x4ea05b
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x12a8]
mov dword [ebp - 0x1c], eax
jmp 0x4ea035
cmp dword [ebp - 0x1c], 0
jge 0x4ea069
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 0x4ea081
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12ac], 0
jmp 0x4ea09c
mov edx, dword [ebp - 0x12ac]
add edx, 1
mov dword [ebp - 0x12ac], edx
cmp dword [ebp - 0x12ac], 4
jge 0x4ea0e9
mov eax, dword [ebp - 0x12ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ea0cb
mov eax, dword [ebp - 0x12ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ea0db
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12ac]
mov dword [ebp - 0x1c], edx
jmp 0x4ea0e7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12ac]
mov dword [ebp - 0x1c], eax
jmp 0x4ea08d
mov dword [ebp - 0x12b0], 0
jmp 0x4ea104
mov ecx, dword [ebp - 0x12b0]
add ecx, 1
mov dword [ebp - 0x12b0], ecx
cmp dword [ebp - 0x12b0], 4
jge 0x4ea151
cmp dword [ebp - 0x1c], 0
jge 0x4ea11b
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 0x4ea131
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12b4], 0xfa
lea edx, [ebp - 0x12b4]
push edx
lea eax, [ebp - 0x14b0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ea0f5
mov ecx, 1
test ecx, ecx
je 0x4ea18b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14b4], eax
mov eax, dword [ebp - 0x14b4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ea17d
jmp 0x4ea18b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x14b4]
mov dword [ebp - 0x1c], edx
jmp 0x4ea151
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x14b8], 0xffffffff
mov dword [ebp - 0x14bc], 0
jmp 0x4ea1c0
mov ecx, dword [ebp - 0x14bc]
add ecx, 1
mov dword [ebp - 0x14bc], ecx
cmp dword [ebp - 0x14bc], 4
jge 0x4ea1f2
mov eax, dword [ebp - 0x14bc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ea1e7
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 0x4ea1b1
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ea212
mov dword [ebp - 0x14c0], 0
jmp 0x4ea22d
mov edx, dword [ebp - 0x14c0]
add edx, 1
mov dword [ebp - 0x14c0], edx
cmp dword [ebp - 0x14c0], 0
jge 0x4ea27a
mov eax, dword [ebp - 0x14c0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ea25c
mov eax, dword [ebp - 0x14c0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ea26c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14c0]
mov dword [ebp - 0x1c], edx
jmp 0x4ea278
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x14c0]
mov dword [ebp - 0x1c], eax
jmp 0x4ea21e
mov dword [ebp - 0x14c4], 0
jmp 0x4ea295
mov ecx, dword [ebp - 0x14c4]
add ecx, 1
mov dword [ebp - 0x14c4], ecx
cmp dword [ebp - 0x14c4], 0
jge 0x4ea2e2
cmp dword [ebp - 0x1c], 0
jge 0x4ea2ac
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 0x4ea2c2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14c8], 0xfa
lea edx, [ebp - 0x14c8]
push edx
lea eax, [ebp - 0x16c0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ea286
mov dword [ebp - 0x16c4], 0
jmp 0x4ea2fd
mov ecx, dword [ebp - 0x16c4]
add ecx, 1
mov dword [ebp - 0x16c4], ecx
cmp dword [ebp - 0x16c4], 1
jge 0x4ea33e
cmp dword [ebp - 0x1c], 0
jge 0x4ea314
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 0x4ea32a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ea2ee
mov eax, 1
test eax, eax
je 0x4ea378
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18c4], eax
mov eax, dword [ebp - 0x18c4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ea36a
jmp 0x4ea378
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18c4]
mov dword [ebp - 0x1c], edx
jmp 0x4ea33e
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x18c8], 0xffffffff
mov dword [ebp - 0x18cc], 0
jmp 0x4ea3ad
mov ecx, dword [ebp - 0x18cc]
add ecx, 1
mov dword [ebp - 0x18cc], ecx
cmp dword [ebp - 0x18cc], 4
jge 0x4ea3df
mov eax, dword [ebp - 0x18cc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ea3d4
mov edx, dword [ebp - 0x18c8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ea39e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ea3ff
mov dword [ebp - 0x18d0], 0
jmp 0x4ea41a
mov edx, dword [ebp - 0x18d0]
add edx, 1
mov dword [ebp - 0x18d0], edx
cmp dword [ebp - 0x18d0], 2
jge 0x4ea431
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x18d0]
mov dword [ebp - 0x1c], eax
jmp 0x4ea40b
cmp dword [ebp - 0x1c], 0
jge 0x4ea43f
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 0x4ea457
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18d4], 0
jmp 0x4ea472
mov edx, dword [ebp - 0x18d4]
add edx, 1
mov dword [ebp - 0x18d4], edx
cmp dword [ebp - 0x18d4], 2
jge 0x4ea489
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x1c], eax
jmp 0x4ea463
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ea49b
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 0x4ea4b3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18d8], 0
jmp 0x4ea4ce
mov edx, dword [ebp - 0x18d8]
add edx, 1
mov dword [ebp - 0x18d8], edx
cmp dword [ebp - 0x18d8], 2
jge 0x4ea4e5
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x18d8]
mov dword [ebp - 0x1c], eax
jmp 0x4ea4bf
cmp dword [ebp - 0x1c], 0
jge 0x4ea4f3
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 0x4ea50b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18dc], 0
jmp 0x4ea526
mov edx, dword [ebp - 0x18dc]
add edx, 1
mov dword [ebp - 0x18dc], edx
cmp dword [ebp - 0x18dc], 2
jge 0x4ea53d
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x18dc]
mov dword [ebp - 0x1c], eax
jmp 0x4ea517
cmp dword [ebp - 0x1c], 0
jge 0x4ea54b
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 0x4ea563
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18e0], 0
jmp 0x4ea57e
cmp dword [ebp - 0x18e0], 4
jge 0x4ea595