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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5135e0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2f18
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 0x4bf6e9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x4bf727
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bf70f
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bf71c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4bf725
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4bf6e0
mov dword [ebp - 0x24], 0
jmp 0x4bf739
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0xf
jge 0x4bf777
cmp dword [ebp - 0x1c], 0
jge 0x4bf74d
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 0x4bf763
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bf730
mov dword [ebp - 0x224], 0
jmp 0x4bf792
mov eax, dword [ebp - 0x224]
add eax, 1
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 9
jge 0x4bf7a9
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], ecx
jmp 0x4bf783
cmp dword [ebp - 0x1c], 0
jge 0x4bf7b7
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 0x4bf7cf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x228], 0
jmp 0x4bf7ea
mov edx, dword [ebp - 0x228]
add edx, 1
mov dword [ebp - 0x228], edx
cmp dword [ebp - 0x228], 0xd
jge 0x4bf801
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x228]
mov dword [ebp - 0x1c], eax
jmp 0x4bf7db
cmp dword [ebp - 0x1c], 0
jge 0x4bf80f
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 0x4bf827
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x22c], 0
jmp 0x4bf842
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0
jge 0x4bf859
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
jmp 0x4bf833
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4bf86b
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 0x4bf883
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x4bf89e
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 0xc
jge 0x4bf8eb
cmp dword [ebp - 0x1c], 0
jge 0x4bf8b5
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 0x4bf8cb
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x234], 0xfa
lea edx, [ebp - 0x234]
push edx
lea eax, [ebp - 0x430]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bf88f
mov dword [ebp - 0x434], 0
jmp 0x4bf906
mov ecx, dword [ebp - 0x434]
add ecx, 1
mov dword [ebp - 0x434], ecx
cmp dword [ebp - 0x434], 0x10
jge 0x4bf91d
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x434]
mov dword [ebp - 0x1c], edx
jmp 0x4bf8f7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4bf92f
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 0x4bf947
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4bf981
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x438]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bf973
jmp 0x4bf981
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x438]
mov dword [ebp - 0x1c], edx
jmp 0x4bf947
mov eax, dword [ebp - 0x1c]
add eax, 9
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x43c], 0
jmp 0x4bf9a5
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 6
jge 0x4bf9e6
cmp dword [ebp - 0x1c], 0
jge 0x4bf9bc
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 0x4bf9d2
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x638]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bf996
mov dword [ebp - 0x63c], 0
jmp 0x4bfa01
mov eax, dword [ebp - 0x63c]
add eax, 1
mov dword [ebp - 0x63c], eax
cmp dword [ebp - 0x63c], 0x10
jge 0x4bfa18
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x63c]
mov dword [ebp - 0x1c], ecx
jmp 0x4bf9f2
cmp dword [ebp - 0x1c], 0
jge 0x4bfa26
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 0x4bfa3e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x640], 0
jmp 0x4bfa59
mov edx, dword [ebp - 0x640]
add edx, 1
mov dword [ebp - 0x640], edx
cmp dword [ebp - 0x640], 4
jge 0x4bfaa6
mov eax, dword [ebp - 0x640]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bfa88
mov eax, dword [ebp - 0x640]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bfa98
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x640]
mov dword [ebp - 0x1c], edx
jmp 0x4bfaa4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x640]
mov dword [ebp - 0x1c], eax
jmp 0x4bfa4a
mov ecx, 1
test ecx, ecx
je 0x4bfae0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x644], eax
mov eax, dword [ebp - 0x644]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bfad2
jmp 0x4bfae0
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x644]
mov dword [ebp - 0x1c], edx
jmp 0x4bfaa6
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4bfb23
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x648], eax
mov eax, dword [ebp - 0x648]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bfb15
jmp 0x4bfb23
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x648]
mov dword [ebp - 0x1c], edx
jmp 0x4bfae9
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x64c], 0
jmp 0x4bfb47
mov ecx, dword [ebp - 0x64c]
add ecx, 1
mov dword [ebp - 0x64c], ecx
cmp dword [ebp - 0x64c], 8
jge 0x4bfb5e
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x64c]
mov dword [ebp - 0x1c], edx
jmp 0x4bfb38
cmp dword [ebp - 0x1c], 0
jge 0x4bfb6c
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 0x4bfb84
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x650], 0
jmp 0x4bfb9f
mov edx, dword [ebp - 0x650]
add edx, 1
mov dword [ebp - 0x650], edx
cmp dword [ebp - 0x650], 2
jge 0x4bfbec
cmp dword [ebp - 0x1c], 0
jge 0x4bfbb6
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 0x4bfbcc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x654], 0xfa
lea edx, [ebp - 0x654]
push edx
lea eax, [ebp - 0x850]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bfb90
mov dword [ebp - 0x854], 0
jmp 0x4bfc07
mov ecx, dword [ebp - 0x854]
add ecx, 1
mov dword [ebp - 0x854], ecx
cmp dword [ebp - 0x854], 2
jge 0x4bfc54
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bfc36
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bfc46
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x854]
mov dword [ebp - 0x1c], edx
jmp 0x4bfc52
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x854]
mov dword [ebp - 0x1c], eax
jmp 0x4bfbf8
mov dword [ebp - 0x858], 0
jmp 0x4bfc6f
mov ecx, dword [ebp - 0x858]
add ecx, 1
mov dword [ebp - 0x858], ecx
cmp dword [ebp - 0x858], 3
jge 0x4bfcb0
cmp dword [ebp - 0x1c], 0
jge 0x4bfc86
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 0x4bfc9c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa50]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bfc60
mov dword [ebp - 0xa54], 0
jmp 0x4bfccb
mov eax, dword [ebp - 0xa54]
add eax, 1
mov dword [ebp - 0xa54], eax
cmp dword [ebp - 0xa54], 7
jge 0x4bfd18
cmp dword [ebp - 0x1c], 0
jge 0x4bfce2
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 0x4bfcf8
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 0x4bfcbc
mov dword [ebp - 0xc54], 0
jmp 0x4bfd33
mov ecx, dword [ebp - 0xc54]
add ecx, 1
mov dword [ebp - 0xc54], ecx
cmp dword [ebp - 0xc54], 6
jge 0x4bfd80
cmp dword [ebp - 0x1c], 0
jge 0x4bfd4a
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 0x4bfd60
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc58], 0xfa
lea edx, [ebp - 0xc58]
push edx
lea eax, [ebp - 0xe50]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bfd24
mov dword [ebp - 0xe54], 0
jmp 0x4bfd9b
mov ecx, dword [ebp - 0xe54]
add ecx, 1
mov dword [ebp - 0xe54], ecx
cmp dword [ebp - 0xe54], 2
jge 0x4bfddc
cmp dword [ebp - 0x1c], 0
jge 0x4bfdb2
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 0x4bfdc8
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1050]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bfd8c
mov dword [ebp - 0x1054], 0
jmp 0x4bfdf7
mov eax, dword [ebp - 0x1054]
add eax, 1
mov dword [ebp - 0x1054], eax
cmp dword [ebp - 0x1054], 8
jge 0x4bfe44
cmp dword [ebp - 0x1c], 0
jge 0x4bfe0e
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 0x4bfe24
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1058], 0xfa
lea edx, [ebp - 0x1058]
push edx
lea eax, [ebp - 0x1250]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bfde8
mov dword [ebp - 0x1254], 0
jmp 0x4bfe5f
mov ecx, dword [ebp - 0x1254]
add ecx, 1
mov dword [ebp - 0x1254], ecx
cmp dword [ebp - 0x1254], 5
jge 0x4bfe76
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1254]
mov dword [ebp - 0x1c], edx
jmp 0x4bfe50
cmp dword [ebp - 0x1c], 0
jge 0x4bfe84
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 0x4bfe9c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1258], 0
jmp 0x4bfeb7
mov edx, dword [ebp - 0x1258]
add edx, 1
mov dword [ebp - 0x1258], edx
cmp dword [ebp - 0x1258], 6
jge 0x4bff04
mov eax, dword [ebp - 0x1258]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bfee6
mov eax, dword [ebp - 0x1258]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bfef6
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1258]
mov dword [ebp - 0x1c], edx
jmp 0x4bff02
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1258]
mov dword [ebp - 0x1c], eax
jmp 0x4bfea8
mov ecx, 1
test ecx, ecx
je 0x4bff3e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x125c], eax
mov eax, dword [ebp - 0x125c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bff30
jmp 0x4bff3e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x125c]
mov dword [ebp - 0x1c], edx
jmp 0x4bff04
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1260], 0
jmp 0x4bff5f
mov ecx, dword [ebp - 0x1260]
add ecx, 1
mov dword [ebp - 0x1260], ecx
cmp dword [ebp - 0x1260], 1
jge 0x4bffa0
cmp dword [ebp - 0x1c], 0
jge 0x4bff76
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 0x4bff8c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1458]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bff50
mov dword [ebp - 0x145c], 0
jmp 0x4bffbb
mov eax, dword [ebp - 0x145c]
add eax, 1
mov dword [ebp - 0x145c], eax
cmp dword [ebp - 0x145c], 6
jge 0x4bffd2
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x145c]
mov dword [ebp - 0x1c], ecx
jmp 0x4bffac
cmp dword [ebp - 0x1c], 0
jge 0x4bffe0
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 0x4bfff8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1460], 0
jmp 0x4c0013
mov edx, dword [ebp - 0x1460]
add edx, 1
mov dword [ebp - 0x1460], edx
cmp dword [ebp - 0x1460], 4
jge 0x4c0054
cmp dword [ebp - 0x1c], 0
jge 0x4c002a
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 0x4c0040
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1658]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c0004
mov dword [ebp - 4], 0
mov dword [ebp - 0x165c], 0xffffffff
mov dword [ebp - 0x1660], 0
jmp 0x4c0080
mov eax, dword [ebp - 0x1660]
add eax, 1
mov dword [ebp - 0x1660], eax
cmp dword [ebp - 0x1660], 7
jge 0x4c00b2
mov eax, dword [ebp - 0x1660]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c00a7
mov edx, dword [ebp - 0x165c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4c0071
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c00d2
mov dword [ebp - 0x1664], 0
jmp 0x4c00ed
mov edx, dword [ebp - 0x1664]
add edx, 1
mov dword [ebp - 0x1664], edx
cmp dword [ebp - 0x1664], 5
jge 0x4c012e
cmp dword [ebp - 0x1c], 0
jge 0x4c0104
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 0x4c011a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1860]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c00de
mov dword [ebp - 0x1864], 0
jmp 0x4c0149
mov eax, dword [ebp - 0x1864]
add eax, 1
mov dword [ebp - 0x1864], eax
cmp dword [ebp - 0x1864], 7
jge 0x4c0160
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1864]
mov dword [ebp - 0x1c], ecx
jmp 0x4c013a
cmp dword [ebp - 0x1c], 0
jge 0x4c016e
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 0x4c0186
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1868], 0
jmp 0x4c01a1
mov edx, dword [ebp - 0x1868]
add edx, 1
mov dword [ebp - 0x1868], edx
cmp dword [ebp - 0x1868], 7
jge 0x4c01b8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1868]
mov dword [ebp - 0x1c], eax
jmp 0x4c0192
cmp dword [ebp - 0x1c], 0
jge 0x4c01c6
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 0x4c01de
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4c0218
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x186c], eax
mov eax, dword [ebp - 0x186c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c020a
jmp 0x4c0218
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x186c]
mov dword [ebp - 0x1c], edx
jmp 0x4c01de
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1870], 0
jmp 0x4c0239
mov ecx, dword [ebp - 0x1870]
add ecx, 1
mov dword [ebp - 0x1870], ecx
cmp dword [ebp - 0x1870], 1
jge 0x4c027a
cmp dword [ebp - 0x1c], 0
jge 0x4c0250
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 0x4c0266
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1a68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c022a
mov dword [ebp - 0x1a6c], 0
jmp 0x4c0295
mov eax, dword [ebp - 0x1a6c]
add eax, 1
mov dword [ebp - 0x1a6c], eax
cmp dword [ebp - 0x1a6c], 3
jge 0x4c02ac
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1a6c]
mov dword [ebp - 0x1c], ecx
jmp 0x4c0286
cmp dword [ebp - 0x1c], 0
jge 0x4c02ba
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 0x4c02d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1a70], 0
jmp 0x4c02ed
mov edx, dword [ebp - 0x1a70]
add edx, 1
mov dword [ebp - 0x1a70], edx
cmp dword [ebp - 0x1a70], 4
jge 0x4c0304
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1a70]
mov dword [ebp - 0x1c], eax
jmp 0x4c02de
cmp dword [ebp - 0x1c], 0
jge 0x4c0312
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 0x4c032a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1a74], 0
jmp 0x4c0345
mov edx, dword [ebp - 0x1a74]
add edx, 1
mov dword [ebp - 0x1a74], edx
cmp dword [ebp - 0x1a74], 5
jge 0x4c0392
cmp dword [ebp - 0x1c], 0
jge 0x4c035c
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 0x4c0372
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1a78], 0xfa
lea edx, [ebp - 0x1a78]
push edx
lea eax, [ebp - 0x1c70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c0336
mov dword [ebp - 0x1c74], 0
jmp 0x4c03ad
mov ecx, dword [ebp - 0x1c74]
add ecx, 1
mov dword [ebp - 0x1c74], ecx
cmp dword [ebp - 0x1c74], 6
jge 0x4c03fa
mov eax, dword [ebp - 0x1c74]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c03dc
mov eax, dword [ebp - 0x1c74]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c03ec
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1c74]
mov dword [ebp - 0x1c], edx
jmp 0x4c03f8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1c74]
mov dword [ebp - 0x1c], eax
jmp 0x4c039e
mov dword [ebp - 0x1c78], 0
jmp 0x4c0415
mov ecx, dword [ebp - 0x1c78]
add ecx, 1
mov dword [ebp - 0x1c78], ecx
cmp dword [ebp - 0x1c78], 0
jge 0x4c0462
cmp dword [ebp - 0x1c], 0
jge 0x4c042c
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 0x4c0442
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1c7c], 0xfa
lea edx, [ebp - 0x1c7c]
push edx
lea eax, [ebp - 0x1e78]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c0406
mov dword [ebp - 0x1e7c], 0
jmp 0x4c047d
mov ecx, dword [ebp - 0x1e7c]
add ecx, 1
mov dword [ebp - 0x1e7c], ecx
cmp dword [ebp - 0x1e7c], 2
jge 0x4c0494
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1e7c]
mov dword [ebp - 0x1c], edx
jmp 0x4c046e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c04a6
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 0x4c04be
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1e80], 0
jmp 0x4c04d9
mov edx, dword [ebp - 0x1e80]
add edx, 1
mov dword [ebp - 0x1e80], edx
cmp dword [ebp - 0x1e80], 2
jge 0x4c04f0
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1e80]
mov dword [ebp - 0x1c], eax
jmp 0x4c04ca
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c0502
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 0x4c051a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1e84], 0
jmp 0x4c0535
mov edx, dword [ebp - 0x1e84]
add edx, 1
mov dword [ebp - 0x1e84], edx
cmp dword [ebp - 0x1e84], 4
jge 0x4c0582
mov eax, dword [ebp - 0x1e84]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c0564
mov eax, dword [ebp - 0x1e84]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c0574
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1e84]
mov dword [ebp - 0x1c], edx
jmp 0x4c0580
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1e84]
mov dword [ebp - 0x1c], eax
jmp 0x4c0526
mov ecx, 1
test ecx, ecx
je 0x4c05bc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1e88], eax
mov eax, dword [ebp - 0x1e88]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c05ae
jmp 0x4c05bc
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1e88]
mov dword [ebp - 0x1c], edx
jmp 0x4c0582
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1e8c], 0
jmp 0x4c05e0
mov ecx, dword [ebp - 0x1e8c]
add ecx, 1
mov dword [ebp - 0x1e8c], ecx
cmp dword [ebp - 0x1e8c], 4
jge 0x4c05f7
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1e8c]
mov dword [ebp - 0x1c], edx
jmp 0x4c05d1
cmp dword [ebp - 0x1c], 0
jge 0x4c0605
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 0x4c061d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1e90], 0
jmp 0x4c0638
mov edx, dword [ebp - 0x1e90]
add edx, 1
mov dword [ebp - 0x1e90], edx
cmp dword [ebp - 0x1e90], 0
jge 0x4c0685
cmp dword [ebp - 0x1c], 0
jge 0x4c064f
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 0x4c0665
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1e94], 0xfa
lea edx, [ebp - 0x1e94]
push edx
lea eax, [ebp - 0x2090]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c0629
mov dword [ebp - 0x2094], 0
jmp 0x4c06a0
mov ecx, dword [ebp - 0x2094]
add ecx, 1
mov dword [ebp - 0x2094], ecx
cmp dword [ebp - 0x2094], 1
jge 0x4c06b7
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x2094]
mov dword [ebp - 0x1c], edx
jmp 0x4c0691
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c06c9
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 0x4c06e1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2098], 0
jmp 0x4c06fc
mov edx, dword [ebp - 0x2098]
add edx, 1
mov dword [ebp - 0x2098], edx
cmp dword [ebp - 0x2098], 0
jge 0x4c0713
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x2098]
mov dword [ebp - 0x1c], eax
jmp 0x4c06ed
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c0725
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 0x4c073d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x209c], 0xffffffff
mov dword [ebp - 0x20a0], 0
jmp 0x4c0769
mov edx, dword [ebp - 0x20a0]
add edx, 1
mov dword [ebp - 0x20a0], edx
cmp dword [ebp - 0x20a0], 4
jge 0x4c079b
mov eax, dword [ebp - 0x20a0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c0790
mov edx, dword [ebp - 0x209c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4c075a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c07bb
mov edx, 1
test edx, edx
je 0x4c07f5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20a4], eax
mov eax, dword [ebp - 0x20a4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c07e7
jmp 0x4c07f5
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20a4]
mov dword [ebp - 0x1c], edx
jmp 0x4c07bb
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20a8], 0
jmp 0x4c0819
cmp dword [ebp - 0x20a8], 3
jge 0x4c0866
cmp dword [ebp - 0x1c], 0
jge 0x4c0830
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 0x4c0846
mov dword [ebp - 0x22ac], 0
jmp 0x4c0881
cmp dword [ebp - 0x22ac], 4
jge 0x4c0898