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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x513da8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x4354
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x34], 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 eax, 1
test eax, eax
je 0x4d7478
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d746d
jmp 0x4d7478
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4d7447
mov eax, dword [ebp - 0x1c]
add eax, 0x3d
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4d74b2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d74a7
jmp 0x4d74b2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x4d7481
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0
jmp 0x4d74cd
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0xe
jge 0x4d74de
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x4d74c4
cmp dword [ebp - 0x1c], 0
jge 0x4d74ec
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 0x4d7504
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x4d7516
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0xf
jge 0x4d755a
cmp dword [ebp - 0x1c], 0
jge 0x4d752a
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 0x4d7540
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], 0xfa
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d750d
mov ecx, 1
test ecx, ecx
je 0x4d7594
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x234]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d7586
jmp 0x4d7594
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4d755a
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x238], 0xffffffff
mov dword [ebp - 0x23c], 0
jmp 0x4d75c9
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 0x14
jge 0x4d75fb
mov eax, dword [ebp - 0x23c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d75f0
mov edx, dword [ebp - 0x238]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d75ba
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d761b
mov dword [ebp - 0x240], 0
jmp 0x4d7636
mov edx, dword [ebp - 0x240]
add edx, 1
mov dword [ebp - 0x240], edx
cmp dword [ebp - 0x240], 0x19
jge 0x4d764d
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x240]
mov dword [ebp - 0x1c], eax
jmp 0x4d7627
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d765f
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 0x4d7677
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x244], 0
jmp 0x4d7692
mov edx, dword [ebp - 0x244]
add edx, 1
mov dword [ebp - 0x244], edx
cmp dword [ebp - 0x244], 0xf
jge 0x4d76df
mov eax, dword [ebp - 0x244]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d76c1
mov eax, dword [ebp - 0x244]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d76d1
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x244]
mov dword [ebp - 0x1c], edx
jmp 0x4d76dd
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x244]
mov dword [ebp - 0x1c], eax
jmp 0x4d7683
mov dword [ebp - 0x248], 0
jmp 0x4d76fa
mov ecx, dword [ebp - 0x248]
add ecx, 1
mov dword [ebp - 0x248], ecx
cmp dword [ebp - 0x248], 0xd
jge 0x4d7747
mov eax, dword [ebp - 0x248]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d7729
mov eax, dword [ebp - 0x248]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d7739
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x248]
mov dword [ebp - 0x1c], edx
jmp 0x4d7745
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x248]
mov dword [ebp - 0x1c], eax
jmp 0x4d76eb
mov dword [ebp - 0x24c], 0
jmp 0x4d7762
mov ecx, dword [ebp - 0x24c]
add ecx, 1
mov dword [ebp - 0x24c], ecx
cmp dword [ebp - 0x24c], 0xc
jge 0x4d77af
mov eax, dword [ebp - 0x24c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d7791
mov eax, dword [ebp - 0x24c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d77a1
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], edx
jmp 0x4d77ad
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], eax
jmp 0x4d7753
mov dword [ebp - 0x250], 0
jmp 0x4d77ca
mov ecx, dword [ebp - 0x250]
add ecx, 1
mov dword [ebp - 0x250], ecx
cmp dword [ebp - 0x250], 0x1b
jge 0x4d7817
cmp dword [ebp - 0x1c], 0
jge 0x4d77e1
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 0x4d77f7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x254], 0xfa
lea edx, [ebp - 0x254]
push edx
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d77bb
mov dword [ebp - 0x454], 0
jmp 0x4d7832
mov ecx, dword [ebp - 0x454]
add ecx, 1
mov dword [ebp - 0x454], ecx
cmp dword [ebp - 0x454], 8
jge 0x4d7873
cmp dword [ebp - 0x1c], 0
jge 0x4d7849
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 0x4d785f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d7823
mov dword [ebp - 0x654], 0
jmp 0x4d788e
mov eax, dword [ebp - 0x654]
add eax, 1
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 4
jge 0x4d78db
mov eax, dword [ebp - 0x654]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d78bd
mov eax, dword [ebp - 0x654]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d78cd
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x654]
mov dword [ebp - 0x1c], edx
jmp 0x4d78d9
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x654]
mov dword [ebp - 0x1c], eax
jmp 0x4d787f
mov dword [ebp - 0x658], 0
jmp 0x4d78f6
mov ecx, dword [ebp - 0x658]
add ecx, 1
mov dword [ebp - 0x658], ecx
cmp dword [ebp - 0x658], 9
jge 0x4d790d
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x658]
mov dword [ebp - 0x1c], edx
jmp 0x4d78e7
cmp dword [ebp - 0x1c], 0
jge 0x4d791b
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 0x4d7933
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x65c], 0
jmp 0x4d794e
mov edx, dword [ebp - 0x65c]
add edx, 1
mov dword [ebp - 0x65c], edx
cmp dword [ebp - 0x65c], 3
jge 0x4d799b
mov eax, dword [ebp - 0x65c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d797d
mov eax, dword [ebp - 0x65c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d798d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x65c]
mov dword [ebp - 0x1c], edx
jmp 0x4d7999
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x65c]
mov dword [ebp - 0x1c], eax
jmp 0x4d793f
mov dword [ebp - 0x660], 0
jmp 0x4d79b6
mov ecx, dword [ebp - 0x660]
add ecx, 1
mov dword [ebp - 0x660], ecx
cmp dword [ebp - 0x660], 0xe
jge 0x4d7a03
mov eax, dword [ebp - 0x660]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d79e5
mov eax, dword [ebp - 0x660]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d79f5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x660]
mov dword [ebp - 0x1c], edx
jmp 0x4d7a01
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x660]
mov dword [ebp - 0x1c], eax
jmp 0x4d79a7
mov dword [ebp - 0x664], 0
jmp 0x4d7a1e
mov ecx, dword [ebp - 0x664]
add ecx, 1
mov dword [ebp - 0x664], ecx
cmp dword [ebp - 0x664], 0
jge 0x4d7a6b
cmp dword [ebp - 0x1c], 0
jge 0x4d7a35
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 0x4d7a4b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x668], 0xfa
lea edx, [ebp - 0x668]
push edx
lea eax, [ebp - 0x860]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d7a0f
mov dword [ebp - 0x864], 0
jmp 0x4d7a86
mov ecx, dword [ebp - 0x864]
add ecx, 1
mov dword [ebp - 0x864], ecx
cmp dword [ebp - 0x864], 0xa
jge 0x4d7ac7
cmp dword [ebp - 0x1c], 0
jge 0x4d7a9d
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 0x4d7ab3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa60]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d7a77
mov dword [ebp - 0xa64], 0
jmp 0x4d7ae2
mov eax, dword [ebp - 0xa64]
add eax, 1
mov dword [ebp - 0xa64], eax
cmp dword [ebp - 0xa64], 2
jge 0x4d7af9
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xa64]
mov dword [ebp - 0x1c], ecx
jmp 0x4d7ad3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d7b0b
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 0x4d7b23
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa68], 0
jmp 0x4d7b3e
mov edx, dword [ebp - 0xa68]
add edx, 1
mov dword [ebp - 0xa68], edx
cmp dword [ebp - 0xa68], 5
jge 0x4d7b7f
cmp dword [ebp - 0x1c], 0
jge 0x4d7b55
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 0x4d7b6b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc60]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d7b2f
mov eax, 1
test eax, eax
je 0x4d7bb9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc64], eax
mov eax, dword [ebp - 0xc64]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d7bab
jmp 0x4d7bb9
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc64]
mov dword [ebp - 0x1c], edx
jmp 0x4d7b7f
mov eax, dword [ebp - 0x1c]
add eax, 0xe
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4d7bfc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc68], eax
mov eax, dword [ebp - 0xc68]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d7bee
jmp 0x4d7bfc
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc68]
mov dword [ebp - 0x1c], edx
jmp 0x4d7bc2
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc6c], 0
jmp 0x4d7c20
mov ecx, dword [ebp - 0xc6c]
add ecx, 1
mov dword [ebp - 0xc6c], ecx
cmp dword [ebp - 0xc6c], 2
jge 0x4d7c37
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc6c]
mov dword [ebp - 0x1c], edx
jmp 0x4d7c11
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d7c49
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 0x4d7c61
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0xc70], 0xffffffff
mov dword [ebp - 0xc74], 0
jmp 0x4d7c8d
mov edx, dword [ebp - 0xc74]
add edx, 1
mov dword [ebp - 0xc74], edx
cmp dword [ebp - 0xc74], 2
jge 0x4d7cbf
mov eax, dword [ebp - 0xc74]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d7cb4
mov edx, dword [ebp - 0xc70]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d7c7e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d7cdf
mov dword [ebp - 0xc78], 0
jmp 0x4d7cfa
mov edx, dword [ebp - 0xc78]
add edx, 1
mov dword [ebp - 0xc78], edx
cmp dword [ebp - 0xc78], 7
jge 0x4d7d47
mov eax, dword [ebp - 0xc78]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d7d29
mov eax, dword [ebp - 0xc78]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d7d39
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc78]
mov dword [ebp - 0x1c], edx
jmp 0x4d7d45
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc78]
mov dword [ebp - 0x1c], eax
jmp 0x4d7ceb
mov dword [ebp - 0xc7c], 0
jmp 0x4d7d62
mov ecx, dword [ebp - 0xc7c]
add ecx, 1
mov dword [ebp - 0xc7c], ecx
cmp dword [ebp - 0xc7c], 1
jge 0x4d7daf
cmp dword [ebp - 0x1c], 0
jge 0x4d7d79
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 0x4d7d8f
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 0x4d7d53
mov dword [ebp - 0xe7c], 0
jmp 0x4d7dca
mov ecx, dword [ebp - 0xe7c]
add ecx, 1
mov dword [ebp - 0xe7c], ecx
cmp dword [ebp - 0xe7c], 4
jge 0x4d7de1
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe7c]
mov dword [ebp - 0x1c], edx
jmp 0x4d7dbb
cmp dword [ebp - 0x1c], 0
jge 0x4d7def
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 0x4d7e07
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe80], 0
jmp 0x4d7e22
mov edx, dword [ebp - 0xe80]
add edx, 1
mov dword [ebp - 0xe80], edx
cmp dword [ebp - 0xe80], 8
jge 0x4d7e39
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe80]
mov dword [ebp - 0x1c], eax
jmp 0x4d7e13
cmp dword [ebp - 0x1c], 0
jge 0x4d7e47
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 0x4d7e5f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0xe84], 0xffffffff
mov dword [ebp - 0xe88], 0
jmp 0x4d7e8b
mov edx, dword [ebp - 0xe88]
add edx, 1
mov dword [ebp - 0xe88], edx
cmp dword [ebp - 0xe88], 3
jge 0x4d7ebd
mov eax, dword [ebp - 0xe88]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d7eb2
mov edx, dword [ebp - 0xe84]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d7e7c
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d7edd
mov dword [ebp - 4], 3
mov dword [ebp - 0xe8c], 0xffffffff
mov dword [ebp - 0xe90], 0
jmp 0x4d7f09
mov edx, dword [ebp - 0xe90]
add edx, 1
mov dword [ebp - 0xe90], edx
cmp dword [ebp - 0xe90], 6
jge 0x4d7f3b
mov eax, dword [ebp - 0xe90]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d7f30
mov edx, dword [ebp - 0xe8c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d7efa
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d7f5b
mov dword [ebp - 4], 4
mov dword [ebp - 0xe94], 0xffffffff
mov dword [ebp - 0xe98], 0
jmp 0x4d7f87
mov edx, dword [ebp - 0xe98]
add edx, 1
mov dword [ebp - 0xe98], edx
cmp dword [ebp - 0xe98], 7
jge 0x4d7fb9
mov eax, dword [ebp - 0xe98]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d7fae
mov edx, dword [ebp - 0xe94]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d7f78
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d7fd9
mov dword [ebp - 4], 5
mov dword [ebp - 0xe9c], 0xffffffff
mov dword [ebp - 0xea0], 0
jmp 0x4d8005
mov edx, dword [ebp - 0xea0]
add edx, 1
mov dword [ebp - 0xea0], edx
cmp dword [ebp - 0xea0], 3
jge 0x4d8037
mov eax, dword [ebp - 0xea0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d802c
mov edx, dword [ebp - 0xe9c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d7ff6
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d8057
mov dword [ebp - 0xea4], 0
jmp 0x4d8072
mov edx, dword [ebp - 0xea4]
add edx, 1
mov dword [ebp - 0xea4], edx
cmp dword [ebp - 0xea4], 3
jge 0x4d80bf
mov eax, dword [ebp - 0xea4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d80a1
mov eax, dword [ebp - 0xea4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d80b1
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xea4]
mov dword [ebp - 0x1c], edx
jmp 0x4d80bd
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xea4]
mov dword [ebp - 0x1c], eax
jmp 0x4d8063
mov dword [ebp - 0xea8], 0
jmp 0x4d80da
mov ecx, dword [ebp - 0xea8]
add ecx, 1
mov dword [ebp - 0xea8], ecx
cmp dword [ebp - 0xea8], 3
jge 0x4d8127
cmp dword [ebp - 0x1c], 0
jge 0x4d80f1
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 0x4d8107
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xeac], 0xfa
lea edx, [ebp - 0xeac]
push edx
lea eax, [ebp - 0x10a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d80cb
mov dword [ebp - 0x10ac], 0
jmp 0x4d8142
mov ecx, dword [ebp - 0x10ac]
add ecx, 1
mov dword [ebp - 0x10ac], ecx
cmp dword [ebp - 0x10ac], 5
jge 0x4d818f
cmp dword [ebp - 0x1c], 0
jge 0x4d8159
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 0x4d816f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10b0], 0xfa
lea edx, [ebp - 0x10b0]
push edx
lea eax, [ebp - 0x12a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d8133
mov dword [ebp - 0x12ac], 0
jmp 0x4d81aa
mov ecx, dword [ebp - 0x12ac]
add ecx, 1
mov dword [ebp - 0x12ac], ecx
cmp dword [ebp - 0x12ac], 2
jge 0x4d81f7
cmp dword [ebp - 0x1c], 0
jge 0x4d81c1
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 0x4d81d7
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 0x4d819b
mov dword [ebp - 0x14ac], 0
jmp 0x4d8212
mov ecx, dword [ebp - 0x14ac]
add ecx, 1
mov dword [ebp - 0x14ac], ecx
cmp dword [ebp - 0x14ac], 2
jge 0x4d8229
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14ac]
mov dword [ebp - 0x1c], edx
jmp 0x4d8203
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d823b
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 0x4d8253
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14b0], 0
jmp 0x4d826e
mov edx, dword [ebp - 0x14b0]
add edx, 1
mov dword [ebp - 0x14b0], edx
cmp dword [ebp - 0x14b0], 4
jge 0x4d8285
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14b0]
mov dword [ebp - 0x1c], eax
jmp 0x4d825f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d8297
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 0x4d82af
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14b4], 0
jmp 0x4d82ca
mov edx, dword [ebp - 0x14b4]
add edx, 1
mov dword [ebp - 0x14b4], edx
cmp dword [ebp - 0x14b4], 2
jge 0x4d8317
cmp dword [ebp - 0x1c], 0
jge 0x4d82e1
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 0x4d82f7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14b8], 0xfa
lea edx, [ebp - 0x14b8]
push edx
lea eax, [ebp - 0x16b0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d82bb
mov dword [ebp - 0x16b4], 0
jmp 0x4d8332
mov ecx, dword [ebp - 0x16b4]
add ecx, 1
mov dword [ebp - 0x16b4], ecx
cmp dword [ebp - 0x16b4], 1
jge 0x4d837f
cmp dword [ebp - 0x1c], 0
jge 0x4d8349
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 0x4d835f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16b8], 0xfa
lea edx, [ebp - 0x16b8]
push edx
lea eax, [ebp - 0x18b0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d8323
mov dword [ebp - 0x18b4], 0
jmp 0x4d839a
mov ecx, dword [ebp - 0x18b4]
add ecx, 1
mov dword [ebp - 0x18b4], ecx
cmp dword [ebp - 0x18b4], 5
jge 0x4d83e7
cmp dword [ebp - 0x1c], 0
jge 0x4d83b1
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 0x4d83c7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18b8], 0xfa
lea edx, [ebp - 0x18b8]
push edx
lea eax, [ebp - 0x1ab0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d838b
mov dword [ebp - 0x1ab4], 0
jmp 0x4d8402
mov ecx, dword [ebp - 0x1ab4]
add ecx, 1
mov dword [ebp - 0x1ab4], ecx
cmp dword [ebp - 0x1ab4], 4
jge 0x4d8419
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1ab4]
mov dword [ebp - 0x1c], edx
jmp 0x4d83f3
cmp dword [ebp - 0x1c], 0
jge 0x4d8427
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 0x4d843f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ab8], 0
jmp 0x4d845a
mov edx, dword [ebp - 0x1ab8]
add edx, 1
mov dword [ebp - 0x1ab8], edx
cmp dword [ebp - 0x1ab8], 2
jge 0x4d849b
cmp dword [ebp - 0x1c], 0
jge 0x4d8471
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 0x4d8487
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1cb0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d844b
mov dword [ebp - 4], 6
mov dword [ebp - 0x1cb4], 0xffffffff
mov dword [ebp - 0x1cb8], 0
jmp 0x4d84c7
mov eax, dword [ebp - 0x1cb8]
add eax, 1
mov dword [ebp - 0x1cb8], eax
cmp dword [ebp - 0x1cb8], 5
jge 0x4d84f9
mov eax, dword [ebp - 0x1cb8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d84ee
mov edx, dword [ebp - 0x1cb4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d84b8
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d8519
mov dword [ebp - 0x1cbc], 0
jmp 0x4d8534
mov edx, dword [ebp - 0x1cbc]
add edx, 1
mov dword [ebp - 0x1cbc], edx
cmp dword [ebp - 0x1cbc], 3
jge 0x4d8581
cmp dword [ebp - 0x1c], 0
jge 0x4d854b
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 0x4d8561
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1cc0], 0xfa
lea edx, [ebp - 0x1cc0]
push edx
lea eax, [ebp - 0x1eb8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d8525
mov dword [ebp - 0x1ebc], 0
jmp 0x4d859c
mov ecx, dword [ebp - 0x1ebc]
add ecx, 1
mov dword [ebp - 0x1ebc], ecx
cmp dword [ebp - 0x1ebc], 2
jge 0x4d85dd
cmp dword [ebp - 0x1c], 0
jge 0x4d85b3
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 0x4d85c9
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x20b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d858d
mov eax, 1
test eax, eax
je 0x4d8617
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 0x4d8609
jmp 0x4d8617
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20bc]
mov dword [ebp - 0x1c], edx
jmp 0x4d85dd
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20c0], 0
jmp 0x4d863b
mov ecx, dword [ebp - 0x20c0]
add ecx, 1
mov dword [ebp - 0x20c0], ecx
cmp dword [ebp - 0x20c0], 5
jge 0x4d867c
cmp dword [ebp - 0x1c], 0
jge 0x4d8652
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 0x4d8668
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x22b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d862c
mov dword [ebp - 4], 7
mov dword [ebp - 0x22bc], 0xffffffff
mov dword [ebp - 0x22c0], 0
jmp 0x4d86a8
mov eax, dword [ebp - 0x22c0]
add eax, 1
mov dword [ebp - 0x22c0], eax
cmp dword [ebp - 0x22c0], 4
jge 0x4d86da
mov eax, dword [ebp - 0x22c0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d86cf
mov edx, dword [ebp - 0x22bc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d8699
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d86fa
mov dword [ebp - 0x22c4], 0
jmp 0x4d8715
mov edx, dword [ebp - 0x22c4]
add edx, 1
mov dword [ebp - 0x22c4], edx
cmp dword [ebp - 0x22c4], 2
jge 0x4d872c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x22c4]
mov dword [ebp - 0x1c], eax
jmp 0x4d8706
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d873e
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 0x4d8756
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4d8790
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x22c8], eax
mov eax, dword [ebp - 0x22c8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d8782
jmp 0x4d8790
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x22c8]
mov dword [ebp - 0x1c], edx
jmp 0x4d8756
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x22cc], 0
jmp 0x4d87b4
mov ecx, dword [ebp - 0x22cc]
add ecx, 1
mov dword [ebp - 0x22cc], ecx
cmp dword [ebp - 0x22cc], 4
jge 0x4d87cb
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x22cc]
mov dword [ebp - 0x1c], edx
jmp 0x4d87a5
cmp dword [ebp - 0x1c], 0
jge 0x4d87d9
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 0x4d87f1