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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5142b8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x3938
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x28], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
jmp 0x4e7329
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x12
jge 0x4e733a
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x4e7320
cmp dword [ebp - 0x1c], 0
jge 0x4e7348
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 0x4e7360
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x4e7372
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x2b
jge 0x4e73b0
cmp dword [ebp - 0x1c], 0
jge 0x4e7386
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 0x4e739c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e7369
mov dword [ebp - 0x224], 0
jmp 0x4e73cb
mov eax, dword [ebp - 0x224]
add eax, 1
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0x13
jge 0x4e7418
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e73fa
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e740a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x4e7416
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x224]
mov dword [ebp - 0x1c], eax
jmp 0x4e73bc
mov dword [ebp - 0x228], 0
jmp 0x4e7433
mov ecx, dword [ebp - 0x228]
add ecx, 1
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 9
jge 0x4e744a
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x228]
mov dword [ebp - 0x1c], edx
jmp 0x4e7424
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e745c
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 0x4e7474
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x22c], 0
jmp 0x4e748f
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0x11
jge 0x4e74dc
cmp dword [ebp - 0x1c], 0
jge 0x4e74a6
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 0x4e74bc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x230], 0xfa
lea edx, [ebp - 0x230]
push edx
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e7480
mov dword [ebp - 0x42c], 0
jmp 0x4e74f7
mov ecx, dword [ebp - 0x42c]
add ecx, 1
mov dword [ebp - 0x42c], ecx
cmp dword [ebp - 0x42c], 0x20
jge 0x4e750e
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x42c]
mov dword [ebp - 0x1c], edx
jmp 0x4e74e8
cmp dword [ebp - 0x1c], 0
jge 0x4e751c
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 0x4e7534
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x430], 0xffffffff
mov dword [ebp - 0x434], 0
jmp 0x4e7560
mov edx, dword [ebp - 0x434]
add edx, 1
mov dword [ebp - 0x434], edx
cmp dword [ebp - 0x434], 0x17
jge 0x4e7592
mov eax, dword [ebp - 0x434]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e7587
mov edx, dword [ebp - 0x430]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e7551
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e75b2
mov dword [ebp - 4], 1
mov dword [ebp - 0x438], 0xffffffff
mov dword [ebp - 0x43c], 0
jmp 0x4e75de
mov edx, dword [ebp - 0x43c]
add edx, 1
mov dword [ebp - 0x43c], edx
cmp dword [ebp - 0x43c], 0x10
jge 0x4e7610
mov eax, dword [ebp - 0x43c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e7605
mov edx, dword [ebp - 0x438]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e75cf
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e7630
mov dword [ebp - 4], 2
mov dword [ebp - 0x440], 0xffffffff
mov dword [ebp - 0x444], 0
jmp 0x4e765c
mov edx, dword [ebp - 0x444]
add edx, 1
mov dword [ebp - 0x444], edx
cmp dword [ebp - 0x444], 0
jge 0x4e768e
mov eax, dword [ebp - 0x444]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e7683
mov edx, dword [ebp - 0x440]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e764d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e76ae
mov dword [ebp - 0x448], 0
jmp 0x4e76c9
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0xf
jge 0x4e7716
cmp dword [ebp - 0x1c], 0
jge 0x4e76e0
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 0x4e76f6
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x44c], 0xfa
lea edx, [ebp - 0x44c]
push edx
lea eax, [ebp - 0x648]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e76ba
mov dword [ebp - 0x64c], 0
jmp 0x4e7731
mov ecx, dword [ebp - 0x64c]
add ecx, 1
mov dword [ebp - 0x64c], ecx
cmp dword [ebp - 0x64c], 0xc
jge 0x4e7772
cmp dword [ebp - 0x1c], 0
jge 0x4e7748
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 0x4e775e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x848]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e7722
mov dword [ebp - 0x84c], 0
jmp 0x4e778d
mov eax, dword [ebp - 0x84c]
add eax, 1
mov dword [ebp - 0x84c], eax
cmp dword [ebp - 0x84c], 0
jge 0x4e77a4
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], ecx
jmp 0x4e777e
cmp dword [ebp - 0x1c], 0
jge 0x4e77b2
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 0x4e77ca
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x850], 0
jmp 0x4e77e5
mov edx, dword [ebp - 0x850]
add edx, 1
mov dword [ebp - 0x850], edx
cmp dword [ebp - 0x850], 6
jge 0x4e7832
cmp dword [ebp - 0x1c], 0
jge 0x4e77fc
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 0x4e7812
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x854], 0xfa
lea edx, [ebp - 0x854]
push edx
lea eax, [ebp - 0xa50]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e77d6
mov dword [ebp - 0xa54], 0
jmp 0x4e784d
mov ecx, dword [ebp - 0xa54]
add ecx, 1
mov dword [ebp - 0xa54], ecx
cmp dword [ebp - 0xa54], 0xc
jge 0x4e789a
cmp dword [ebp - 0x1c], 0
jge 0x4e7864
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 0x4e787a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa58], 0xfa
lea edx, [ebp - 0xa58]
push edx
lea eax, [ebp - 0xc50]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e783e
mov dword [ebp - 0xc54], 0
jmp 0x4e78b5
mov ecx, dword [ebp - 0xc54]
add ecx, 1
mov dword [ebp - 0xc54], ecx
cmp dword [ebp - 0xc54], 0xc
jge 0x4e78f6
cmp dword [ebp - 0x1c], 0
jge 0x4e78cc
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 0x4e78e2
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe50]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e78a6
mov dword [ebp - 0xe54], 0
jmp 0x4e7911
mov eax, dword [ebp - 0xe54]
add eax, 1
mov dword [ebp - 0xe54], eax
cmp dword [ebp - 0xe54], 5
jge 0x4e795e
cmp dword [ebp - 0x1c], 0
jge 0x4e7928
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 0x4e793e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe58], 0xfa
lea edx, [ebp - 0xe58]
push edx
lea eax, [ebp - 0x1050]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e7902
mov dword [ebp - 0x1054], 0
jmp 0x4e7979
mov ecx, dword [ebp - 0x1054]
add ecx, 1
mov dword [ebp - 0x1054], ecx
cmp dword [ebp - 0x1054], 6
jge 0x4e79c6
mov eax, dword [ebp - 0x1054]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e79a8
mov eax, dword [ebp - 0x1054]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e79b8
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1054]
mov dword [ebp - 0x1c], edx
jmp 0x4e79c4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1054]
mov dword [ebp - 0x1c], eax
jmp 0x4e796a
mov dword [ebp - 0x1058], 0
jmp 0x4e79e1
mov ecx, dword [ebp - 0x1058]
add ecx, 1
mov dword [ebp - 0x1058], ecx
cmp dword [ebp - 0x1058], 5
jge 0x4e79f8
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1058]
mov dword [ebp - 0x1c], edx
jmp 0x4e79d2
cmp dword [ebp - 0x1c], 0
jge 0x4e7a06
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 0x4e7a1e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x105c], 0
jmp 0x4e7a39
mov edx, dword [ebp - 0x105c]
add edx, 1
mov dword [ebp - 0x105c], edx
cmp dword [ebp - 0x105c], 0
jge 0x4e7a86
mov eax, dword [ebp - 0x105c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e7a68
mov eax, dword [ebp - 0x105c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e7a78
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x105c]
mov dword [ebp - 0x1c], edx
jmp 0x4e7a84
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x105c]
mov dword [ebp - 0x1c], eax
jmp 0x4e7a2a
mov dword [ebp - 0x1060], 0
jmp 0x4e7aa1
mov ecx, dword [ebp - 0x1060]
add ecx, 1
mov dword [ebp - 0x1060], ecx
cmp dword [ebp - 0x1060], 2
jge 0x4e7ae2
cmp dword [ebp - 0x1c], 0
jge 0x4e7ab8
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 0x4e7ace
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1258]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e7a92
mov dword [ebp - 4], 3
mov dword [ebp - 0x125c], 0xffffffff
mov dword [ebp - 0x1260], 0
jmp 0x4e7b0e
mov eax, dword [ebp - 0x1260]
add eax, 1
mov dword [ebp - 0x1260], eax
cmp dword [ebp - 0x1260], 4
jge 0x4e7b40
mov eax, dword [ebp - 0x1260]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e7b35
mov edx, dword [ebp - 0x125c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e7aff
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e7b60
mov dword [ebp - 0x1264], 0
jmp 0x4e7b7b
mov edx, dword [ebp - 0x1264]
add edx, 1
mov dword [ebp - 0x1264], edx
cmp dword [ebp - 0x1264], 8
jge 0x4e7b92
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1264]
mov dword [ebp - 0x1c], eax
jmp 0x4e7b6c
cmp dword [ebp - 0x1c], 0
jge 0x4e7ba0
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 0x4e7bb8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1268], 0
jmp 0x4e7bd3
mov edx, dword [ebp - 0x1268]
add edx, 1
mov dword [ebp - 0x1268], edx
cmp dword [ebp - 0x1268], 6
jge 0x4e7c14
cmp dword [ebp - 0x1c], 0
jge 0x4e7bea
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 0x4e7c00
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1460]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e7bc4
mov eax, 1
test eax, eax
je 0x4e7c4e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1464], eax
mov eax, dword [ebp - 0x1464]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e7c40
jmp 0x4e7c4e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1464]
mov dword [ebp - 0x1c], edx
jmp 0x4e7c14
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x1468], 0xffffffff
mov dword [ebp - 0x146c], 0
jmp 0x4e7c83
mov ecx, dword [ebp - 0x146c]
add ecx, 1
mov dword [ebp - 0x146c], ecx
cmp dword [ebp - 0x146c], 4
jge 0x4e7cb5
mov eax, dword [ebp - 0x146c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e7caa
mov edx, dword [ebp - 0x1468]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e7c74
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e7cd5
mov dword [ebp - 0x1470], 0
jmp 0x4e7cf0
mov edx, dword [ebp - 0x1470]
add edx, 1
mov dword [ebp - 0x1470], edx
cmp dword [ebp - 0x1470], 2
jge 0x4e7d07
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1470]
mov dword [ebp - 0x1c], eax
jmp 0x4e7ce1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e7d19
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 0x4e7d31
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1474], 0
jmp 0x4e7d4c
mov edx, dword [ebp - 0x1474]
add edx, 1
mov dword [ebp - 0x1474], edx
cmp dword [ebp - 0x1474], 1
jge 0x4e7d8d
cmp dword [ebp - 0x1c], 0
jge 0x4e7d63
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 0x4e7d79
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1670]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e7d3d
mov dword [ebp - 0x1674], 0
jmp 0x4e7da8
mov eax, dword [ebp - 0x1674]
add eax, 1
mov dword [ebp - 0x1674], eax
cmp dword [ebp - 0x1674], 8
jge 0x4e7dbf
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1674]
mov dword [ebp - 0x1c], ecx
jmp 0x4e7d99
cmp dword [ebp - 0x1c], 0
jge 0x4e7dcd
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 0x4e7de5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x1678], 0xffffffff
mov dword [ebp - 0x167c], 0
jmp 0x4e7e11
mov edx, dword [ebp - 0x167c]
add edx, 1
mov dword [ebp - 0x167c], edx
cmp dword [ebp - 0x167c], 0
jge 0x4e7e43
mov eax, dword [ebp - 0x167c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e7e38
mov edx, dword [ebp - 0x1678]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e7e02
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e7e63
mov dword [ebp - 0x1680], 0
jmp 0x4e7e7e
mov edx, dword [ebp - 0x1680]
add edx, 1
mov dword [ebp - 0x1680], edx
cmp dword [ebp - 0x1680], 2
jge 0x4e7ecb
cmp dword [ebp - 0x1c], 0
jge 0x4e7e95
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 0x4e7eab
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1684], 0xfa
lea edx, [ebp - 0x1684]
push edx
lea eax, [ebp - 0x1880]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e7e6f
mov dword [ebp - 0x1884], 0
jmp 0x4e7ee6
mov ecx, dword [ebp - 0x1884]
add ecx, 1
mov dword [ebp - 0x1884], ecx
cmp dword [ebp - 0x1884], 2
jge 0x4e7f27
cmp dword [ebp - 0x1c], 0
jge 0x4e7efd
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 0x4e7f13
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1a80]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e7ed7
mov dword [ebp - 4], 6
mov dword [ebp - 0x1a84], 0xffffffff
mov dword [ebp - 0x1a88], 0
jmp 0x4e7f53
mov eax, dword [ebp - 0x1a88]
add eax, 1
mov dword [ebp - 0x1a88], eax
cmp dword [ebp - 0x1a88], 4
jge 0x4e7f85
mov eax, dword [ebp - 0x1a88]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e7f7a
mov edx, dword [ebp - 0x1a84]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e7f44
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e7fa5
mov dword [ebp - 0x1a8c], 0
jmp 0x4e7fc0
mov edx, dword [ebp - 0x1a8c]
add edx, 1
mov dword [ebp - 0x1a8c], edx
cmp dword [ebp - 0x1a8c], 5
jge 0x4e7fd7
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1a8c]
mov dword [ebp - 0x1c], eax
jmp 0x4e7fb1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e7fe9
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 0x4e8001
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1a90], 0
jmp 0x4e801c
mov edx, dword [ebp - 0x1a90]
add edx, 1
mov dword [ebp - 0x1a90], edx
cmp dword [ebp - 0x1a90], 4
jge 0x4e805d
cmp dword [ebp - 0x1c], 0
jge 0x4e8033
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 0x4e8049
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1c88]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e800d
mov dword [ebp - 4], 7
mov dword [ebp - 0x1c8c], 0xffffffff
mov dword [ebp - 0x1c90], 0
jmp 0x4e8089
mov eax, dword [ebp - 0x1c90]
add eax, 1
mov dword [ebp - 0x1c90], eax
cmp dword [ebp - 0x1c90], 5
jge 0x4e80bb
mov eax, dword [ebp - 0x1c90]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e80b0
mov edx, dword [ebp - 0x1c8c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e807a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e80db
mov dword [ebp - 4], 8
mov dword [ebp - 0x1c94], 0xffffffff
mov dword [ebp - 0x1c98], 0
jmp 0x4e8107
mov edx, dword [ebp - 0x1c98]
add edx, 1
mov dword [ebp - 0x1c98], edx
cmp dword [ebp - 0x1c98], 7
jge 0x4e8139
mov eax, dword [ebp - 0x1c98]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e812e
mov edx, dword [ebp - 0x1c94]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e80f8
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e8159
mov dword [ebp - 0x1c9c], 0
jmp 0x4e8174
mov edx, dword [ebp - 0x1c9c]
add edx, 1
mov dword [ebp - 0x1c9c], edx
cmp dword [ebp - 0x1c9c], 3
jge 0x4e81c1
cmp dword [ebp - 0x1c], 0
jge 0x4e818b
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 0x4e81a1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ca0], 0xfa
lea edx, [ebp - 0x1ca0]
push edx
lea eax, [ebp - 0x1e98]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e8165
mov dword [ebp - 0x1e9c], 0
jmp 0x4e81dc
mov ecx, dword [ebp - 0x1e9c]
add ecx, 1
mov dword [ebp - 0x1e9c], ecx
cmp dword [ebp - 0x1e9c], 0
jge 0x4e821d
cmp dword [ebp - 0x1c], 0
jge 0x4e81f3
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 0x4e8209
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x2098]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e81cd
mov eax, 1
test eax, eax
je 0x4e8257
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x209c], eax
mov eax, dword [ebp - 0x209c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e8249
jmp 0x4e8257
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x209c]
mov dword [ebp - 0x1c], edx
jmp 0x4e821d
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20a0], 0
jmp 0x4e827b
mov ecx, dword [ebp - 0x20a0]
add ecx, 1
mov dword [ebp - 0x20a0], ecx
cmp dword [ebp - 0x20a0], 0
jge 0x4e8292
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x20a0]
mov dword [ebp - 0x1c], edx
jmp 0x4e826c
cmp dword [ebp - 0x1c], 0
jge 0x4e82a0
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 0x4e82b8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20a4], 0
jmp 0x4e82d3
mov edx, dword [ebp - 0x20a4]
add edx, 1
mov dword [ebp - 0x20a4], edx
cmp dword [ebp - 0x20a4], 2
jge 0x4e8320
mov eax, dword [ebp - 0x20a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e8302
mov eax, dword [ebp - 0x20a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e8312
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20a4]
mov dword [ebp - 0x1c], edx
jmp 0x4e831e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20a4]
mov dword [ebp - 0x1c], eax
jmp 0x4e82c4
mov dword [ebp - 4], 9
mov dword [ebp - 0x20a8], 0xffffffff
mov dword [ebp - 0x20ac], 0
jmp 0x4e834c
mov ecx, dword [ebp - 0x20ac]
add ecx, 1
mov dword [ebp - 0x20ac], ecx
cmp dword [ebp - 0x20ac], 4
jge 0x4e837e
mov eax, dword [ebp - 0x20ac]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e8373
mov edx, dword [ebp - 0x20a8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e833d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e839e
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x20b0], 0xffffffff
mov dword [ebp - 0x20b4], 0
jmp 0x4e83ca
mov edx, dword [ebp - 0x20b4]
add edx, 1
mov dword [ebp - 0x20b4], edx
cmp dword [ebp - 0x20b4], 3
jge 0x4e83fc
mov eax, dword [ebp - 0x20b4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e83f1
mov edx, dword [ebp - 0x20b0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e83bb
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e841c
mov edx, 1
test edx, edx
je 0x4e8456
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20b8], eax
mov eax, dword [ebp - 0x20b8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e8448
jmp 0x4e8456
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20b8]
mov dword [ebp - 0x1c], edx
jmp 0x4e841c
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4e8499
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20bc], eax
mov eax, dword [ebp - 0x20bc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e848b
jmp 0x4e8499
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20bc]
mov dword [ebp - 0x1c], edx
jmp 0x4e845f
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20c0], 0
jmp 0x4e84bd
mov ecx, dword [ebp - 0x20c0]
add ecx, 1
mov dword [ebp - 0x20c0], ecx
cmp dword [ebp - 0x20c0], 0
jge 0x4e850a
cmp dword [ebp - 0x1c], 0
jge 0x4e84d4
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 0x4e84ea
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20c4], 0xfa
lea edx, [ebp - 0x20c4]
push edx
lea eax, [ebp - 0x22c0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e84ae
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x22c4], 0xffffffff
mov dword [ebp - 0x22c8], 0
jmp 0x4e8536
mov ecx, dword [ebp - 0x22c8]
add ecx, 1
mov dword [ebp - 0x22c8], ecx
cmp dword [ebp - 0x22c8], 4
jge 0x4e8568
mov eax, dword [ebp - 0x22c8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e855d
mov edx, dword [ebp - 0x22c4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e8527
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e8588
mov dword [ebp - 0x22cc], 0
jmp 0x4e85a3
mov edx, dword [ebp - 0x22cc]
add edx, 1
mov dword [ebp - 0x22cc], edx
cmp dword [ebp - 0x22cc], 0
jge 0x4e85e4
cmp dword [ebp - 0x1c], 0
jge 0x4e85ba
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 0x4e85d0
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x24c8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e8594
mov eax, 1
test eax, eax
je 0x4e861e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24cc], eax
mov eax, dword [ebp - 0x24cc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e8610
jmp 0x4e861e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24cc]
mov dword [ebp - 0x1c], edx
jmp 0x4e85e4
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24d0], 0
jmp 0x4e8642
cmp dword [ebp - 0x24d0], 1
jge 0x4e868f
mov eax, dword [ebp - 0x24d0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e8671
mov eax, dword [ebp - 0x24d0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e8681
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24d0]
mov dword [ebp - 0x1c], edx
jmp 0x4e868d
mov dword [ebp - 0x24d4], 0
jmp 0x4e86aa
cmp dword [ebp - 0x24d4], 3
jge 0x4e86eb