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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x513320
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2d30
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 0x4b7cd9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x40
jge 0x4b7d1d
cmp dword [ebp - 0x1c], 0
jge 0x4b7ced
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 0x4b7d03
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0xfa
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b7cd0
mov dword [ebp - 4], 0
mov dword [ebp - 0x224], 0xffffffff
mov dword [ebp - 0x228], 0
jmp 0x4b7d49
mov ecx, dword [ebp - 0x228]
add ecx, 1
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 0x35
jge 0x4b7d7b
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b7d70
mov edx, dword [ebp - 0x224]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b7d3a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b7d9b
mov dword [ebp - 0x22c], 0
jmp 0x4b7db6
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0x11
jge 0x4b7e03
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b7de5
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b7df5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x4b7e01
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
jmp 0x4b7da7
mov ecx, 1
test ecx, ecx
je 0x4b7e3d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4b7e2f
jmp 0x4b7e3d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x4b7e03
mov eax, dword [ebp - 0x1c]
add eax, 0x16
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4b7e80
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 0x4b7e72
jmp 0x4b7e80
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4b7e46
mov eax, dword [ebp - 0x1c]
add eax, 0x12
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x4b7ea4
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 8
jge 0x4b7ef1
cmp dword [ebp - 0x1c], 0
jge 0x4b7ebb
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 0x4b7ed1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x23c], 0xfa
lea edx, [ebp - 0x23c]
push edx
lea eax, [ebp - 0x438]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b7e95
mov dword [ebp - 0x43c], 0
jmp 0x4b7f0c
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 7
jge 0x4b7f23
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x4b7efd
cmp dword [ebp - 0x1c], 0
jge 0x4b7f31
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 0x4b7f49
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x440], 0
jmp 0x4b7f64
mov edx, dword [ebp - 0x440]
add edx, 1
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 0xb
jge 0x4b7fb1
cmp dword [ebp - 0x1c], 0
jge 0x4b7f7b
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 0x4b7f91
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x444], 0xfa
lea edx, [ebp - 0x444]
push edx
lea eax, [ebp - 0x640]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b7f55
mov dword [ebp - 0x644], 0
jmp 0x4b7fcc
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
cmp dword [ebp - 0x644], 4
jge 0x4b7fe3
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x644]
mov dword [ebp - 0x1c], edx
jmp 0x4b7fbd
cmp dword [ebp - 0x1c], 0
jge 0x4b7ff1
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 0x4b8009
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x648], 0xffffffff
mov dword [ebp - 0x64c], 0
jmp 0x4b8035
mov edx, dword [ebp - 0x64c]
add edx, 1
mov dword [ebp - 0x64c], edx
cmp dword [ebp - 0x64c], 0xa
jge 0x4b8067
mov eax, dword [ebp - 0x64c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b805c
mov edx, dword [ebp - 0x648]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b8026
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b8087
mov dword [ebp - 4], 2
mov dword [ebp - 0x650], 0xffffffff
mov dword [ebp - 0x654], 0
jmp 0x4b80b3
mov edx, dword [ebp - 0x654]
add edx, 1
mov dword [ebp - 0x654], edx
cmp dword [ebp - 0x654], 0xe
jge 0x4b80e5
mov eax, dword [ebp - 0x654]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b80da
mov edx, dword [ebp - 0x650]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b80a4
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b8105
mov dword [ebp - 0x658], 0
jmp 0x4b8120
mov edx, dword [ebp - 0x658]
add edx, 1
mov dword [ebp - 0x658], edx
cmp dword [ebp - 0x658], 6
jge 0x4b8161
cmp dword [ebp - 0x1c], 0
jge 0x4b8137
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 0x4b814d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x850]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b8111
mov eax, 1
test eax, eax
je 0x4b819b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x854], eax
mov eax, dword [ebp - 0x854]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4b818d
jmp 0x4b819b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x854]
mov dword [ebp - 0x1c], edx
jmp 0x4b8161
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x858], 0
jmp 0x4b81bf
mov ecx, dword [ebp - 0x858]
add ecx, 1
mov dword [ebp - 0x858], ecx
cmp dword [ebp - 0x858], 3
jge 0x4b8200
cmp dword [ebp - 0x1c], 0
jge 0x4b81d6
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 0x4b81ec
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa50]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b81b0
mov dword [ebp - 0xa54], 0
jmp 0x4b821b
mov eax, dword [ebp - 0xa54]
add eax, 1
mov dword [ebp - 0xa54], eax
cmp dword [ebp - 0xa54], 5
jge 0x4b8268
mov eax, dword [ebp - 0xa54]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b824a
mov eax, dword [ebp - 0xa54]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b825a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], edx
jmp 0x4b8266
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], eax
jmp 0x4b820c
mov dword [ebp - 0xa58], 0
jmp 0x4b8283
mov ecx, dword [ebp - 0xa58]
add ecx, 1
mov dword [ebp - 0xa58], ecx
cmp dword [ebp - 0xa58], 6
jge 0x4b82d0
cmp dword [ebp - 0x1c], 0
jge 0x4b829a
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 0x4b82b0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa5c], 0xfa
lea edx, [ebp - 0xa5c]
push edx
lea eax, [ebp - 0xc58]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b8274
mov dword [ebp - 0xc5c], 0
jmp 0x4b82eb
mov ecx, dword [ebp - 0xc5c]
add ecx, 1
mov dword [ebp - 0xc5c], ecx
cmp dword [ebp - 0xc5c], 6
jge 0x4b8302
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc5c]
mov dword [ebp - 0x1c], edx
jmp 0x4b82dc
cmp dword [ebp - 0x1c], 0
jge 0x4b8310
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 0x4b8328
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc60], 0
jmp 0x4b8343
mov edx, dword [ebp - 0xc60]
add edx, 1
mov dword [ebp - 0xc60], edx
cmp dword [ebp - 0xc60], 0
jge 0x4b835a
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc60]
mov dword [ebp - 0x1c], eax
jmp 0x4b8334
cmp dword [ebp - 0x1c], 0
jge 0x4b8368
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 0x4b8380
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0xc64], 0xffffffff
mov dword [ebp - 0xc68], 0
jmp 0x4b83ac
mov edx, dword [ebp - 0xc68]
add edx, 1
mov dword [ebp - 0xc68], edx
cmp dword [ebp - 0xc68], 5
jge 0x4b83de
mov eax, dword [ebp - 0xc68]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b83d3
mov edx, dword [ebp - 0xc64]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b839d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b83fe
mov dword [ebp - 4], 4
mov dword [ebp - 0xc6c], 0xffffffff
mov dword [ebp - 0xc70], 0
jmp 0x4b842a
mov edx, dword [ebp - 0xc70]
add edx, 1
mov dword [ebp - 0xc70], edx
cmp dword [ebp - 0xc70], 3
jge 0x4b845c
mov eax, dword [ebp - 0xc70]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b8451
mov edx, dword [ebp - 0xc6c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b841b
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b847c
mov dword [ebp - 0xc74], 0
jmp 0x4b8497
mov edx, dword [ebp - 0xc74]
add edx, 1
mov dword [ebp - 0xc74], edx
cmp dword [ebp - 0xc74], 0
jge 0x4b84ae
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc74]
mov dword [ebp - 0x1c], eax
jmp 0x4b8488
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b84c0
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 0x4b84d8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc78], 0
jmp 0x4b84f3
mov edx, dword [ebp - 0xc78]
add edx, 1
mov dword [ebp - 0xc78], edx
cmp dword [ebp - 0xc78], 2
jge 0x4b850a
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc78]
mov dword [ebp - 0x1c], eax
jmp 0x4b84e4
cmp dword [ebp - 0x1c], 0
jge 0x4b8518
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 0x4b8530
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc7c], 0
jmp 0x4b854b
mov edx, dword [ebp - 0xc7c]
add edx, 1
mov dword [ebp - 0xc7c], edx
cmp dword [ebp - 0xc7c], 3
jge 0x4b8562
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc7c]
mov dword [ebp - 0x1c], eax
jmp 0x4b853c
cmp dword [ebp - 0x1c], 0
jge 0x4b8570
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 0x4b8588
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc80], 0
jmp 0x4b85a3
mov edx, dword [ebp - 0xc80]
add edx, 1
mov dword [ebp - 0xc80], edx
cmp dword [ebp - 0xc80], 0
jge 0x4b85ba
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc80]
mov dword [ebp - 0x1c], eax
jmp 0x4b8594
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b85cc
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 0x4b85e4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4b861e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc84], eax
mov eax, dword [ebp - 0xc84]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4b8610
jmp 0x4b861e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc84]
mov dword [ebp - 0x1c], edx
jmp 0x4b85e4
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0xc88], 0xffffffff
mov dword [ebp - 0xc8c], 0
jmp 0x4b8653
mov ecx, dword [ebp - 0xc8c]
add ecx, 1
mov dword [ebp - 0xc8c], ecx
cmp dword [ebp - 0xc8c], 1
jge 0x4b8685
mov eax, dword [ebp - 0xc8c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b867a
mov edx, dword [ebp - 0xc88]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b8644
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b86a5
mov dword [ebp - 0xc90], 0
jmp 0x4b86c0
mov edx, dword [ebp - 0xc90]
add edx, 1
mov dword [ebp - 0xc90], edx
cmp dword [ebp - 0xc90], 4
jge 0x4b8701
cmp dword [ebp - 0x1c], 0
jge 0x4b86d7
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 0x4b86ed
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe88]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b86b1
mov dword [ebp - 0xe8c], 0
jmp 0x4b871c
mov eax, dword [ebp - 0xe8c]
add eax, 1
mov dword [ebp - 0xe8c], eax
cmp dword [ebp - 0xe8c], 6
jge 0x4b875d
cmp dword [ebp - 0x1c], 0
jge 0x4b8733
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
je 0x4b8749
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1088]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b870d
mov dword [ebp - 0x108c], 0
jmp 0x4b8778
mov eax, dword [ebp - 0x108c]
add eax, 1
mov dword [ebp - 0x108c], eax
cmp dword [ebp - 0x108c], 4
jge 0x4b87c5
mov eax, dword [ebp - 0x108c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b87a7
mov eax, dword [ebp - 0x108c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b87b7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x108c]
mov dword [ebp - 0x1c], edx
jmp 0x4b87c3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x108c]
mov dword [ebp - 0x1c], eax
jmp 0x4b8769
mov dword [ebp - 4], 6
mov dword [ebp - 0x1090], 0xffffffff
mov dword [ebp - 0x1094], 0
jmp 0x4b87f1
mov ecx, dword [ebp - 0x1094]
add ecx, 1
mov dword [ebp - 0x1094], ecx
cmp dword [ebp - 0x1094], 0
jge 0x4b8823
mov eax, dword [ebp - 0x1094]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b8818
mov edx, dword [ebp - 0x1090]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b87e2
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b8843
mov dword [ebp - 0x1098], 0
jmp 0x4b885e
mov edx, dword [ebp - 0x1098]
add edx, 1
mov dword [ebp - 0x1098], edx
cmp dword [ebp - 0x1098], 3
jge 0x4b8875
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1098]
mov dword [ebp - 0x1c], eax
jmp 0x4b884f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b8887
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 0x4b889f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x109c], 0
jmp 0x4b88ba
mov edx, dword [ebp - 0x109c]
add edx, 1
mov dword [ebp - 0x109c], edx
cmp dword [ebp - 0x109c], 1
jge 0x4b88d1
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], eax
jmp 0x4b88ab
cmp dword [ebp - 0x1c], 0
jge 0x4b88df
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 0x4b88f7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
mov dword [ebp - 0x10a0], 0xffffffff
mov dword [ebp - 0x10a4], 0
jmp 0x4b8923
mov edx, dword [ebp - 0x10a4]
add edx, 1
mov dword [ebp - 0x10a4], edx
cmp dword [ebp - 0x10a4], 1
jge 0x4b8955
mov eax, dword [ebp - 0x10a4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b894a
mov edx, dword [ebp - 0x10a0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b8914
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b8975
mov edx, 1
test edx, edx
je 0x4b89af
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x10a8], eax
mov eax, dword [ebp - 0x10a8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4b89a1
jmp 0x4b89af
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x10a8]
mov dword [ebp - 0x1c], edx
jmp 0x4b8975
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10ac], 0
jmp 0x4b89d3
mov ecx, dword [ebp - 0x10ac]
add ecx, 1
mov dword [ebp - 0x10ac], ecx
cmp dword [ebp - 0x10ac], 6
jge 0x4b8a14
cmp dword [ebp - 0x1c], 0
jge 0x4b89ea
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 0x4b8a00
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x12a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b89c4
mov dword [ebp - 0x12ac], 0
jmp 0x4b8a2f
mov eax, dword [ebp - 0x12ac]
add eax, 1
mov dword [ebp - 0x12ac], eax
cmp dword [ebp - 0x12ac], 0
jge 0x4b8a70
cmp dword [ebp - 0x1c], 0
jge 0x4b8a46
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
je 0x4b8a5c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x14a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b8a20
mov dword [ebp - 0x14ac], 0
jmp 0x4b8a8b
mov eax, dword [ebp - 0x14ac]
add eax, 1
mov dword [ebp - 0x14ac], eax
cmp dword [ebp - 0x14ac], 3
jge 0x4b8ad8
mov eax, dword [ebp - 0x14ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b8aba
mov eax, dword [ebp - 0x14ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b8aca
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14ac]
mov dword [ebp - 0x1c], edx
jmp 0x4b8ad6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x14ac]
mov dword [ebp - 0x1c], eax
jmp 0x4b8a7c
mov dword [ebp - 0x14b0], 0
jmp 0x4b8af3
mov ecx, dword [ebp - 0x14b0]
add ecx, 1
mov dword [ebp - 0x14b0], ecx
cmp dword [ebp - 0x14b0], 4
jge 0x4b8b34
cmp dword [ebp - 0x1c], 0
jge 0x4b8b0a
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 0x4b8b20
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b8ae4
mov dword [ebp - 0x16ac], 0
jmp 0x4b8b4f
mov eax, dword [ebp - 0x16ac]
add eax, 1
mov dword [ebp - 0x16ac], eax
cmp dword [ebp - 0x16ac], 1
jge 0x4b8b66
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x16ac]
mov dword [ebp - 0x1c], ecx
jmp 0x4b8b40
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b8b78
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 0x4b8b90
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x16b0], 0xffffffff
mov dword [ebp - 0x16b4], 0
jmp 0x4b8bbc
mov edx, dword [ebp - 0x16b4]
add edx, 1
mov dword [ebp - 0x16b4], edx
cmp dword [ebp - 0x16b4], 3
jge 0x4b8bee
mov eax, dword [ebp - 0x16b4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b8be3
mov edx, dword [ebp - 0x16b0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b8bad
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b8c0e
mov dword [ebp - 0x16b8], 0
jmp 0x4b8c29
mov edx, dword [ebp - 0x16b8]
add edx, 1
mov dword [ebp - 0x16b8], edx
cmp dword [ebp - 0x16b8], 3
jge 0x4b8c76
cmp dword [ebp - 0x1c], 0
jge 0x4b8c40
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 0x4b8c56
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16bc], 0xfa
lea edx, [ebp - 0x16bc]
push edx
lea eax, [ebp - 0x18b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b8c1a
mov dword [ebp - 0x18bc], 0
jmp 0x4b8c91
mov ecx, dword [ebp - 0x18bc]
add ecx, 1
mov dword [ebp - 0x18bc], ecx
cmp dword [ebp - 0x18bc], 4
jge 0x4b8ca8
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x18bc]
mov dword [ebp - 0x1c], edx
jmp 0x4b8c82
cmp dword [ebp - 0x1c], 0
jge 0x4b8cb6
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 0x4b8cce
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 9
mov dword [ebp - 0x18c0], 0xffffffff
mov dword [ebp - 0x18c4], 0
jmp 0x4b8cfa
mov edx, dword [ebp - 0x18c4]
add edx, 1
mov dword [ebp - 0x18c4], edx
cmp dword [ebp - 0x18c4], 3
jge 0x4b8d2c
mov eax, dword [ebp - 0x18c4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b8d21
mov edx, dword [ebp - 0x18c0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b8ceb
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b8d4c
mov dword [ebp - 0x18c8], 0
jmp 0x4b8d67
mov edx, dword [ebp - 0x18c8]
add edx, 1
mov dword [ebp - 0x18c8], edx
cmp dword [ebp - 0x18c8], 1
jge 0x4b8db4
mov eax, dword [ebp - 0x18c8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b8d96
mov eax, dword [ebp - 0x18c8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b8da6
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18c8]
mov dword [ebp - 0x1c], edx
jmp 0x4b8db2
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18c8]
mov dword [ebp - 0x1c], eax
jmp 0x4b8d58
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x18cc], 0xffffffff
mov dword [ebp - 0x18d0], 0
jmp 0x4b8de0
mov ecx, dword [ebp - 0x18d0]
add ecx, 1
mov dword [ebp - 0x18d0], ecx
cmp dword [ebp - 0x18d0], 1
jge 0x4b8e12
mov eax, dword [ebp - 0x18d0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b8e07
mov edx, dword [ebp - 0x18cc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b8dd1
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b8e32
mov dword [ebp - 0x18d4], 0
jmp 0x4b8e4d
mov edx, dword [ebp - 0x18d4]
add edx, 1
mov dword [ebp - 0x18d4], edx
cmp dword [ebp - 0x18d4], 0
jge 0x4b8e8e
cmp dword [ebp - 0x1c], 0
jge 0x4b8e64
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 0x4b8e7a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ad0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b8e3e
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x1ad4], 0xffffffff
mov dword [ebp - 0x1ad8], 0
jmp 0x4b8eba
mov eax, dword [ebp - 0x1ad8]
add eax, 1
mov dword [ebp - 0x1ad8], eax
cmp dword [ebp - 0x1ad8], 0
jge 0x4b8eec
mov eax, dword [ebp - 0x1ad8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b8ee1
mov edx, dword [ebp - 0x1ad4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b8eab
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b8f0c
mov dword [ebp - 0x1adc], 0
jmp 0x4b8f27
cmp dword [ebp - 0x1adc], 0
jge 0x4b8f68
cmp dword [ebp - 0x1c], 0
jge 0x4b8f3e
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 0x4b8f54
mov eax, 1
test eax, eax
je 0x4b8fa2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1cdc], eax
mov eax, dword [ebp - 0x1cdc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4b8f94
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4b8fe5