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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x514260
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x12c0
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x44], 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 0x4e61d7
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x11
jge 0x4e6200
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e61f5
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 0x4e61ce
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e6220
mov dword [ebp - 0x28], 0
jmp 0x4e6232
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x1e
jge 0x4e6270
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e6258
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e6265
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x4e626e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x4e6229
mov dword [ebp - 0x2c], 0
jmp 0x4e6282
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0
jge 0x4e6293
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x4e6279
cmp dword [ebp - 0x1c], 0
jge 0x4e62a1
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 0x4e62b9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4e62ea
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e62df
jmp 0x4e62ea
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x4e62b9
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], 0
jmp 0x4e6302
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], 0xd
jge 0x4e6340
mov eax, dword [ebp - 0x34]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e6328
mov eax, dword [ebp - 0x34]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e6335
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], edx
jmp 0x4e633e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
jmp 0x4e62f9
mov dword [ebp - 0x38], 0
jmp 0x4e6352
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], 0xd
jge 0x4e6390
mov eax, dword [ebp - 0x38]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e6378
mov eax, dword [ebp - 0x38]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e6385
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], edx
jmp 0x4e638e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
jmp 0x4e6349
mov dword [ebp - 0x3c], 0
jmp 0x4e63a2
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], 2
jge 0x4e63e6
cmp dword [ebp - 0x1c], 0
jge 0x4e63b6
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 0x4e63cc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x40], 0xfa
lea edx, [ebp - 0x40]
push edx
lea eax, [ebp - 0x240]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e6399
mov dword [ebp - 4], 1
mov dword [ebp - 0x244], 0xffffffff
mov dword [ebp - 0x248], 0
jmp 0x4e6412
mov ecx, dword [ebp - 0x248]
add ecx, 1
mov dword [ebp - 0x248], ecx
cmp dword [ebp - 0x248], 0xe
jge 0x4e6444
mov eax, dword [ebp - 0x248]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e6439
mov edx, dword [ebp - 0x244]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e6403
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e6464
mov dword [ebp - 4], 2
mov dword [ebp - 0x24c], 0xffffffff
mov dword [ebp - 0x250], 0
jmp 0x4e6490
mov edx, dword [ebp - 0x250]
add edx, 1
mov dword [ebp - 0x250], edx
cmp dword [ebp - 0x250], 2
jge 0x4e64c2
mov eax, dword [ebp - 0x250]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e64b7
mov edx, dword [ebp - 0x24c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e6481
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e64e2
mov dword [ebp - 0x254], 0
jmp 0x4e64fd
mov edx, dword [ebp - 0x254]
add edx, 1
mov dword [ebp - 0x254], edx
cmp dword [ebp - 0x254], 6
jge 0x4e6514
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x254]
mov dword [ebp - 0x1c], eax
jmp 0x4e64ee
cmp dword [ebp - 0x1c], 0
jge 0x4e6522
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 0x4e653a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x258], 0
jmp 0x4e6555
mov edx, dword [ebp - 0x258]
add edx, 1
mov dword [ebp - 0x258], edx
cmp dword [ebp - 0x258], 4
jge 0x4e65a2
mov eax, dword [ebp - 0x258]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e6584
mov eax, dword [ebp - 0x258]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e6594
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x258]
mov dword [ebp - 0x1c], edx
jmp 0x4e65a0
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x258]
mov dword [ebp - 0x1c], eax
jmp 0x4e6546
mov dword [ebp - 0x25c], 0
jmp 0x4e65bd
mov ecx, dword [ebp - 0x25c]
add ecx, 1
mov dword [ebp - 0x25c], ecx
cmp dword [ebp - 0x25c], 6
jge 0x4e65d4
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x25c]
mov dword [ebp - 0x1c], edx
jmp 0x4e65ae
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e65e6
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 0x4e65fe
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x260], 0
jmp 0x4e6619
mov edx, dword [ebp - 0x260]
add edx, 1
mov dword [ebp - 0x260], edx
cmp dword [ebp - 0x260], 9
jge 0x4e6630
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x260]
mov dword [ebp - 0x1c], eax
jmp 0x4e660a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e6642
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 0x4e665a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x264], 0
jmp 0x4e6675
mov edx, dword [ebp - 0x264]
add edx, 1
mov dword [ebp - 0x264], edx
cmp dword [ebp - 0x264], 0xe
jge 0x4e66c2
mov eax, dword [ebp - 0x264]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e66a4
mov eax, dword [ebp - 0x264]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e66b4
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x264]
mov dword [ebp - 0x1c], edx
jmp 0x4e66c0
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x264]
mov dword [ebp - 0x1c], eax
jmp 0x4e6666
mov ecx, 1
test ecx, ecx
je 0x4e66fc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e66ee
jmp 0x4e66fc
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x268]
mov dword [ebp - 0x1c], edx
jmp 0x4e66c2
mov eax, dword [ebp - 0x1c]
add eax, 0xe
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x26c], 0
jmp 0x4e6720
mov ecx, dword [ebp - 0x26c]
add ecx, 1
mov dword [ebp - 0x26c], ecx
cmp dword [ebp - 0x26c], 4
jge 0x4e6737
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x26c]
mov dword [ebp - 0x1c], edx
jmp 0x4e6711
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e6749
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 0x4e6761
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4e679b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x270]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e678d
jmp 0x4e679b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x270]
mov dword [ebp - 0x1c], edx
jmp 0x4e6761
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x274], 0xffffffff
mov dword [ebp - 0x278], 0
jmp 0x4e67d0
mov ecx, dword [ebp - 0x278]
add ecx, 1
mov dword [ebp - 0x278], ecx
cmp dword [ebp - 0x278], 6
jge 0x4e6802
mov eax, dword [ebp - 0x278]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e67f7
mov edx, dword [ebp - 0x274]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e67c1
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e6822
mov dword [ebp - 0x27c], 0
jmp 0x4e683d
mov edx, dword [ebp - 0x27c]
add edx, 1
mov dword [ebp - 0x27c], edx
cmp dword [ebp - 0x27c], 0x10
jge 0x4e688a
mov eax, dword [ebp - 0x27c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e686c
mov eax, dword [ebp - 0x27c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e687c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x27c]
mov dword [ebp - 0x1c], edx
jmp 0x4e6888
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x27c]
mov dword [ebp - 0x1c], eax
jmp 0x4e682e
mov dword [ebp - 4], 4
mov dword [ebp - 0x280], 0xffffffff
mov dword [ebp - 0x284], 0
jmp 0x4e68b6
mov ecx, dword [ebp - 0x284]
add ecx, 1
mov dword [ebp - 0x284], ecx
cmp dword [ebp - 0x284], 0xa
jge 0x4e68e8
mov eax, dword [ebp - 0x284]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e68dd
mov edx, dword [ebp - 0x280]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e68a7
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e6908
mov dword [ebp - 0x288], 0
jmp 0x4e6923
mov edx, dword [ebp - 0x288]
add edx, 1
mov dword [ebp - 0x288], edx
cmp dword [ebp - 0x288], 8
jge 0x4e693a
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x288]
mov dword [ebp - 0x1c], eax
jmp 0x4e6914
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e694c
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 0x4e6964
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28c], 0
jmp 0x4e697f
mov edx, dword [ebp - 0x28c]
add edx, 1
mov dword [ebp - 0x28c], edx
cmp dword [ebp - 0x28c], 3
jge 0x4e6996
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x28c]
mov dword [ebp - 0x1c], eax
jmp 0x4e6970
cmp dword [ebp - 0x1c], 0
jge 0x4e69a4
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 0x4e69bc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x290], 0
jmp 0x4e69d7
mov edx, dword [ebp - 0x290]
add edx, 1
mov dword [ebp - 0x290], edx
cmp dword [ebp - 0x290], 8
jge 0x4e69ee
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x290]
mov dword [ebp - 0x1c], eax
jmp 0x4e69c8
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e6a00
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 0x4e6a18
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4e6a52
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x294]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e6a44
jmp 0x4e6a52
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x294]
mov dword [ebp - 0x1c], edx
jmp 0x4e6a18
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x298], 0
jmp 0x4e6a76
mov ecx, dword [ebp - 0x298]
add ecx, 1
mov dword [ebp - 0x298], ecx
cmp dword [ebp - 0x298], 6
jge 0x4e6a8d
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x298]
mov dword [ebp - 0x1c], edx
jmp 0x4e6a67
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e6a9f
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 0x4e6ab7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x29c], 0
jmp 0x4e6ad2
mov edx, dword [ebp - 0x29c]
add edx, 1
mov dword [ebp - 0x29c], edx
cmp dword [ebp - 0x29c], 4
jge 0x4e6b13
cmp dword [ebp - 0x1c], 0
jge 0x4e6ae9
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 0x4e6aff
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x498]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e6ac3
mov dword [ebp - 0x49c], 0
jmp 0x4e6b2e
mov eax, dword [ebp - 0x49c]
add eax, 1
mov dword [ebp - 0x49c], eax
cmp dword [ebp - 0x49c], 1
jge 0x4e6b7b
cmp dword [ebp - 0x1c], 0
jge 0x4e6b45
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 0x4e6b5b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x4a0], 0xfa
lea edx, [ebp - 0x4a0]
push edx
lea eax, [ebp - 0x698]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e6b1f
mov dword [ebp - 0x69c], 0
jmp 0x4e6b96
mov ecx, dword [ebp - 0x69c]
add ecx, 1
mov dword [ebp - 0x69c], ecx
cmp dword [ebp - 0x69c], 1
jge 0x4e6bd7
cmp dword [ebp - 0x1c], 0
jge 0x4e6bad
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 0x4e6bc3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x898]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e6b87
mov dword [ebp - 0x89c], 0
jmp 0x4e6bf2
mov eax, dword [ebp - 0x89c]
add eax, 1
mov dword [ebp - 0x89c], eax
cmp dword [ebp - 0x89c], 4
jge 0x4e6c09
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x89c]
mov dword [ebp - 0x1c], ecx
jmp 0x4e6be3
cmp dword [ebp - 0x1c], 0
jge 0x4e6c17
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 0x4e6c2f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8a0], 0
jmp 0x4e6c4a
mov edx, dword [ebp - 0x8a0]
add edx, 1
mov dword [ebp - 0x8a0], edx
cmp dword [ebp - 0x8a0], 0
jge 0x4e6c97
cmp dword [ebp - 0x1c], 0
jge 0x4e6c61
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 0x4e6c77
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x8a4], 0xfa
lea edx, [ebp - 0x8a4]
push edx
lea eax, [ebp - 0xaa0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e6c3b
mov dword [ebp - 0xaa4], 0
jmp 0x4e6cb2
mov ecx, dword [ebp - 0xaa4]
add ecx, 1
mov dword [ebp - 0xaa4], ecx
cmp dword [ebp - 0xaa4], 6
jge 0x4e6cf3
cmp dword [ebp - 0x1c], 0
jge 0x4e6cc9
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 0x4e6cdf
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xca0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e6ca3
mov dword [ebp - 0xca4], 0
jmp 0x4e6d0e
mov eax, dword [ebp - 0xca4]
add eax, 1
mov dword [ebp - 0xca4], eax
cmp dword [ebp - 0xca4], 0
jge 0x4e6d25
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x1c], ecx
jmp 0x4e6cff
cmp dword [ebp - 0x1c], 0
jge 0x4e6d33
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 0x4e6d4b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xca8], 0
jmp 0x4e6d66
mov edx, dword [ebp - 0xca8]
add edx, 1
mov dword [ebp - 0xca8], edx
cmp dword [ebp - 0xca8], 6
jge 0x4e6d7d
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xca8]
mov dword [ebp - 0x1c], eax
jmp 0x4e6d57
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e6d8f
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 0x4e6da7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xcac], 0
jmp 0x4e6dc2
mov edx, dword [ebp - 0xcac]
add edx, 1
mov dword [ebp - 0xcac], edx
cmp dword [ebp - 0xcac], 2
jge 0x4e6dd9
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xcac]
mov dword [ebp - 0x1c], eax
jmp 0x4e6db3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e6deb
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 0x4e6e03
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4e6e3d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xcb0], eax
mov eax, dword [ebp - 0xcb0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e6e2f
jmp 0x4e6e3d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xcb0]
mov dword [ebp - 0x1c], edx
jmp 0x4e6e03
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xcb4], 0
jmp 0x4e6e61
mov ecx, dword [ebp - 0xcb4]
add ecx, 1
mov dword [ebp - 0xcb4], ecx
cmp dword [ebp - 0xcb4], 1
jge 0x4e6e78
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xcb4]
mov dword [ebp - 0x1c], edx
jmp 0x4e6e52
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e6e8a
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 0x4e6ea2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xcb8], 0
jmp 0x4e6ebd
mov edx, dword [ebp - 0xcb8]
add edx, 1
mov dword [ebp - 0xcb8], edx
cmp dword [ebp - 0xcb8], 3
jge 0x4e6f0a
mov eax, dword [ebp - 0xcb8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e6eec
mov eax, dword [ebp - 0xcb8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e6efc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xcb8]
mov dword [ebp - 0x1c], edx
jmp 0x4e6f08
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xcb8]
mov dword [ebp - 0x1c], eax
jmp 0x4e6eae
mov dword [ebp - 0xcbc], 0
jmp 0x4e6f25
mov ecx, dword [ebp - 0xcbc]
add ecx, 1
mov dword [ebp - 0xcbc], ecx
cmp dword [ebp - 0xcbc], 1
jge 0x4e6f66
cmp dword [ebp - 0x1c], 0
jge 0x4e6f3c
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 0x4e6f52
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xeb8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e6f16
mov eax, 1
test eax, eax
je 0x4e6fa0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xebc], eax
mov eax, dword [ebp - 0xebc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e6f92
jmp 0x4e6fa0
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xebc]
mov dword [ebp - 0x1c], edx
jmp 0x4e6f66
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xec0], 0
jmp 0x4e6fc4
mov ecx, dword [ebp - 0xec0]
add ecx, 1
mov dword [ebp - 0xec0], ecx
cmp dword [ebp - 0xec0], 4
jge 0x4e6fdb
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xec0]
mov dword [ebp - 0x1c], edx
jmp 0x4e6fb5
cmp dword [ebp - 0x1c], 0
jge 0x4e6fe9
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 0x4e7001
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xec4], 0
jmp 0x4e701c
mov edx, dword [ebp - 0xec4]
add edx, 1
mov dword [ebp - 0xec4], edx
cmp dword [ebp - 0xec4], 2
jge 0x4e705d
cmp dword [ebp - 0x1c], 0
jge 0x4e7033
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 0x4e7049
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x10c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e700d
mov dword [ebp - 4], 5
mov dword [ebp - 0x10c4], 0xffffffff
mov dword [ebp - 0x10c8], 0
jmp 0x4e7089
mov eax, dword [ebp - 0x10c8]
add eax, 1
mov dword [ebp - 0x10c8], eax
cmp dword [ebp - 0x10c8], 4
jge 0x4e70bb
mov eax, dword [ebp - 0x10c8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e70b0
mov edx, dword [ebp - 0x10c4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e707a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e70db
mov dword [ebp - 0x10cc], 0
jmp 0x4e70f6
mov edx, dword [ebp - 0x10cc]
add edx, 1
mov dword [ebp - 0x10cc], edx
cmp dword [ebp - 0x10cc], 4
jge 0x4e7137
cmp dword [ebp - 0x1c], 0
jge 0x4e710d
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 0x4e7123
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x12c8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e70e7
mov dword [ebp - 0x12cc], 0
jmp 0x4e7152
mov eax, dword [ebp - 0x12cc]
add eax, 1
mov dword [ebp - 0x12cc], eax
cmp dword [ebp - 0x12cc], 3
jge 0x4e719f
mov eax, dword [ebp - 0x12cc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e7181
mov eax, dword [ebp - 0x12cc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e7191
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12cc]
mov dword [ebp - 0x1c], edx
jmp 0x4e719d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12cc]
mov dword [ebp - 0x1c], eax
jmp 0x4e7143
mov dword [ebp - 0x12d0], 0
jmp 0x4e71ba
mov ecx, dword [ebp - 0x12d0]
add ecx, 1
mov dword [ebp - 0x12d0], ecx
cmp dword [ebp - 0x12d0], 2
jge 0x4e71d1
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12d0]
mov dword [ebp - 0x1c], edx
jmp 0x4e71ab
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e71e3
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 0x4e71fb
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12d4], 0
jmp 0x4e7216
mov edx, dword [ebp - 0x12d4]
add edx, 1
mov dword [ebp - 0x12d4], edx
cmp dword [ebp - 0x12d4], 3
jge 0x4e7263
mov eax, dword [ebp - 0x12d4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e7245
mov eax, dword [ebp - 0x12d4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e7255
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12d4]
mov dword [ebp - 0x1c], edx
jmp 0x4e7261
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12d4]
mov dword [ebp - 0x1c], eax
jmp 0x4e7207
mov ecx, 1
test ecx, ecx
je 0x4e729d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12d8], eax
mov eax, dword [ebp - 0x12d8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e728f
jmp 0x4e729d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12d8]
mov dword [ebp - 0x1c], edx
jmp 0x4e7263
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x44]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret