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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x513448
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x397c
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x24], 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 0x4bb0b9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x20
jge 0x4bb0f7
cmp dword [ebp - 0x1c], 0
jge 0x4bb0cd
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 0x4bb0e3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bb0b0
mov dword [ebp - 4], 0
mov dword [ebp - 0x224], 0xffffffff
mov dword [ebp - 0x228], 0
jmp 0x4bb123
mov eax, dword [ebp - 0x228]
add eax, 1
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0x1b
jge 0x4bb155
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bb14a
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 0x4bb114
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bb175
mov dword [ebp - 0x22c], 0
jmp 0x4bb190
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0x16
jge 0x4bb1dd
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bb1bf
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bb1cf
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x4bb1db
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
jmp 0x4bb181
mov dword [ebp - 0x230], 0
jmp 0x4bb1f8
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 0x17
jge 0x4bb245
mov eax, dword [ebp - 0x230]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bb227
mov eax, dword [ebp - 0x230]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bb237
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x4bb243
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x230]
mov dword [ebp - 0x1c], eax
jmp 0x4bb1e9
mov ecx, 1
test ecx, ecx
je 0x4bb27f
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 0x4bb271
jmp 0x4bb27f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4bb245
mov eax, dword [ebp - 0x1c]
add eax, 0x1c
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4bb2c2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bb2b4
jmp 0x4bb2c2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x4bb288
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x23c], 0
jmp 0x4bb2e6
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 0x16
jge 0x4bb2fd
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], edx
jmp 0x4bb2d7
cmp dword [ebp - 0x1c], 0
jge 0x4bb30b
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 0x4bb323
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x240], 0
jmp 0x4bb33e
mov edx, dword [ebp - 0x240]
add edx, 1
mov dword [ebp - 0x240], edx
cmp dword [ebp - 0x240], 0xa
jge 0x4bb355
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x240]
mov dword [ebp - 0x1c], eax
jmp 0x4bb32f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4bb367
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 0x4bb37f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x244], 0
jmp 0x4bb39a
mov edx, dword [ebp - 0x244]
add edx, 1
mov dword [ebp - 0x244], edx
cmp dword [ebp - 0x244], 8
jge 0x4bb3b1
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x244]
mov dword [ebp - 0x1c], eax
jmp 0x4bb38b
cmp dword [ebp - 0x1c], 0
jge 0x4bb3bf
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 0x4bb3d7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x248], 0
jmp 0x4bb3f2
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
cmp dword [ebp - 0x248], 3
jge 0x4bb43f
cmp dword [ebp - 0x1c], 0
jge 0x4bb409
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 0x4bb41f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24c], 0xfa
lea edx, [ebp - 0x24c]
push edx
lea eax, [ebp - 0x448]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bb3e3
mov dword [ebp - 0x44c], 0
jmp 0x4bb45a
mov ecx, dword [ebp - 0x44c]
add ecx, 1
mov dword [ebp - 0x44c], ecx
cmp dword [ebp - 0x44c], 6
jge 0x4bb49b
cmp dword [ebp - 0x1c], 0
jge 0x4bb471
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 0x4bb487
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x648]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bb44b
mov dword [ebp - 0x64c], 0
jmp 0x4bb4b6
mov eax, dword [ebp - 0x64c]
add eax, 1
mov dword [ebp - 0x64c], eax
cmp dword [ebp - 0x64c], 0
jge 0x4bb503
cmp dword [ebp - 0x1c], 0
jge 0x4bb4cd
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 0x4bb4e3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x650], 0xfa
lea edx, [ebp - 0x650]
push edx
lea eax, [ebp - 0x848]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bb4a7
mov ecx, 1
test ecx, ecx
je 0x4bb53d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x84c], eax
mov eax, dword [ebp - 0x84c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bb52f
jmp 0x4bb53d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], edx
jmp 0x4bb503
mov eax, dword [ebp - 0x1c]
add eax, 0xb
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x850], 0xffffffff
mov dword [ebp - 0x854], 0
jmp 0x4bb572
mov ecx, dword [ebp - 0x854]
add ecx, 1
mov dword [ebp - 0x854], ecx
cmp dword [ebp - 0x854], 6
jge 0x4bb5a4
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bb599
mov edx, dword [ebp - 0x850]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4bb563
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bb5c4
mov dword [ebp - 0x858], 0
jmp 0x4bb5df
mov edx, dword [ebp - 0x858]
add edx, 1
mov dword [ebp - 0x858], edx
cmp dword [ebp - 0x858], 2
jge 0x4bb5f6
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x858]
mov dword [ebp - 0x1c], eax
jmp 0x4bb5d0
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4bb608
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 0x4bb620
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x85c], 0
jmp 0x4bb63b
mov edx, dword [ebp - 0x85c]
add edx, 1
mov dword [ebp - 0x85c], edx
cmp dword [ebp - 0x85c], 1
jge 0x4bb688
cmp dword [ebp - 0x1c], 0
jge 0x4bb652
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 0x4bb668
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x860], 0xfa
lea edx, [ebp - 0x860]
push edx
lea eax, [ebp - 0xa58]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bb62c
mov dword [ebp - 4], 2
mov dword [ebp - 0xa5c], 0xffffffff
mov dword [ebp - 0xa60], 0
jmp 0x4bb6b4
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa60], ecx
cmp dword [ebp - 0xa60], 0xa
jge 0x4bb6e6
mov eax, dword [ebp - 0xa60]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bb6db
mov edx, dword [ebp - 0xa5c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4bb6a5
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bb706
mov dword [ebp - 4], 3
mov dword [ebp - 0xa64], 0xffffffff
mov dword [ebp - 0xa68], 0
jmp 0x4bb732
mov edx, dword [ebp - 0xa68]
add edx, 1
mov dword [ebp - 0xa68], edx
cmp dword [ebp - 0xa68], 0xb
jge 0x4bb764
mov eax, dword [ebp - 0xa68]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bb759
mov edx, dword [ebp - 0xa64]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4bb723
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bb784
mov dword [ebp - 0xa6c], 0
jmp 0x4bb79f
mov edx, dword [ebp - 0xa6c]
add edx, 1
mov dword [ebp - 0xa6c], edx
cmp dword [ebp - 0xa6c], 4
jge 0x4bb7ec
cmp dword [ebp - 0x1c], 0
jge 0x4bb7b6
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 0x4bb7cc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa70], 0xfa
lea edx, [ebp - 0xa70]
push edx
lea eax, [ebp - 0xc68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bb790
mov ecx, 1
test ecx, ecx
je 0x4bb826
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc6c], eax
mov eax, dword [ebp - 0xc6c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bb818
jmp 0x4bb826
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc6c]
mov dword [ebp - 0x1c], edx
jmp 0x4bb7ec
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc70], 0
jmp 0x4bb84a
mov ecx, dword [ebp - 0xc70]
add ecx, 1
mov dword [ebp - 0xc70], ecx
cmp dword [ebp - 0xc70], 0xc
jge 0x4bb861
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc70]
mov dword [ebp - 0x1c], edx
jmp 0x4bb83b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4bb873
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 0x4bb88b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc74], 0
jmp 0x4bb8a6
mov edx, dword [ebp - 0xc74]
add edx, 1
mov dword [ebp - 0xc74], edx
cmp dword [ebp - 0xc74], 0xb
jge 0x4bb8bd
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc74]
mov dword [ebp - 0x1c], eax
jmp 0x4bb897
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4bb8cf
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 0x4bb8e7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0xc78], 0xffffffff
mov dword [ebp - 0xc7c], 0
jmp 0x4bb913
mov edx, dword [ebp - 0xc7c]
add edx, 1
mov dword [ebp - 0xc7c], edx
cmp dword [ebp - 0xc7c], 2
jge 0x4bb945
mov eax, dword [ebp - 0xc7c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bb93a
mov edx, dword [ebp - 0xc78]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4bb904
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bb965
mov dword [ebp - 0xc80], 0
jmp 0x4bb980
mov edx, dword [ebp - 0xc80]
add edx, 1
mov dword [ebp - 0xc80], edx
cmp dword [ebp - 0xc80], 1
jge 0x4bb9cd
cmp dword [ebp - 0x1c], 0
jge 0x4bb997
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 0x4bb9ad
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc84], 0xfa
lea edx, [ebp - 0xc84]
push edx
lea eax, [ebp - 0xe80]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bb971
mov dword [ebp - 4], 5
mov dword [ebp - 0xe84], 0xffffffff
mov dword [ebp - 0xe88], 0
jmp 0x4bb9f9
mov ecx, dword [ebp - 0xe88]
add ecx, 1
mov dword [ebp - 0xe88], ecx
cmp dword [ebp - 0xe88], 7
jge 0x4bba2b
mov eax, dword [ebp - 0xe88]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bba20
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 0x4bb9ea
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bba4b
mov dword [ebp - 0xe8c], 0
jmp 0x4bba66
mov edx, dword [ebp - 0xe8c]
add edx, 1
mov dword [ebp - 0xe8c], edx
cmp dword [ebp - 0xe8c], 0
jge 0x4bbab3
mov eax, dword [ebp - 0xe8c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bba95
mov eax, dword [ebp - 0xe8c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bbaa5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe8c]
mov dword [ebp - 0x1c], edx
jmp 0x4bbab1
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe8c]
mov dword [ebp - 0x1c], eax
jmp 0x4bba57
mov dword [ebp - 0xe90], 0
jmp 0x4bbace
mov ecx, dword [ebp - 0xe90]
add ecx, 1
mov dword [ebp - 0xe90], ecx
cmp dword [ebp - 0xe90], 8
jge 0x4bbb0f
cmp dword [ebp - 0x1c], 0
jge 0x4bbae5
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 0x4bbafb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1088]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bbabf
mov dword [ebp - 0x108c], 0
jmp 0x4bbb2a
mov eax, dword [ebp - 0x108c]
add eax, 1
mov dword [ebp - 0x108c], eax
cmp dword [ebp - 0x108c], 5
jge 0x4bbb77
cmp dword [ebp - 0x1c], 0
jge 0x4bbb41
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 0x4bbb57
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1090], 0xfa
lea edx, [ebp - 0x1090]
push edx
lea eax, [ebp - 0x1288]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bbb1b
mov dword [ebp - 0x128c], 0
jmp 0x4bbb92
mov ecx, dword [ebp - 0x128c]
add ecx, 1
mov dword [ebp - 0x128c], ecx
cmp dword [ebp - 0x128c], 8
jge 0x4bbba9
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x128c]
mov dword [ebp - 0x1c], edx
jmp 0x4bbb83
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4bbbbb
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 0x4bbbd3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x1290], 0xffffffff
mov dword [ebp - 0x1294], 0
jmp 0x4bbbff
mov edx, dword [ebp - 0x1294]
add edx, 1
mov dword [ebp - 0x1294], edx
cmp dword [ebp - 0x1294], 4
jge 0x4bbc31
mov eax, dword [ebp - 0x1294]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bbc26
mov edx, dword [ebp - 0x1290]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4bbbf0
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bbc51
mov dword [ebp - 0x1298], 0
jmp 0x4bbc6c
mov edx, dword [ebp - 0x1298]
add edx, 1
mov dword [ebp - 0x1298], edx
cmp dword [ebp - 0x1298], 8
jge 0x4bbcad
cmp dword [ebp - 0x1c], 0
jge 0x4bbc83
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 0x4bbc99
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1490]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bbc5d
mov dword [ebp - 0x1494], 0
jmp 0x4bbcc8
mov eax, dword [ebp - 0x1494]
add eax, 1
mov dword [ebp - 0x1494], eax
cmp dword [ebp - 0x1494], 1
jge 0x4bbd09
cmp dword [ebp - 0x1c], 0
jge 0x4bbcdf
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 0x4bbcf5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1690]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bbcb9
mov dword [ebp - 4], 7
mov dword [ebp - 0x1694], 0xffffffff
mov dword [ebp - 0x1698], 0
jmp 0x4bbd35
mov eax, dword [ebp - 0x1698]
add eax, 1
mov dword [ebp - 0x1698], eax
cmp dword [ebp - 0x1698], 4
jge 0x4bbd67
mov eax, dword [ebp - 0x1698]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bbd5c
mov edx, dword [ebp - 0x1694]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4bbd26
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bbd87
mov edx, 1
test edx, edx
je 0x4bbdc1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x169c], eax
mov eax, dword [ebp - 0x169c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bbdb3
jmp 0x4bbdc1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x169c]
mov dword [ebp - 0x1c], edx
jmp 0x4bbd87
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16a0], 0
jmp 0x4bbde5
mov ecx, dword [ebp - 0x16a0]
add ecx, 1
mov dword [ebp - 0x16a0], ecx
cmp dword [ebp - 0x16a0], 3
jge 0x4bbe32
mov eax, dword [ebp - 0x16a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bbe14
mov eax, dword [ebp - 0x16a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bbe24
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16a0]
mov dword [ebp - 0x1c], edx
jmp 0x4bbe30
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16a0]
mov dword [ebp - 0x1c], eax
jmp 0x4bbdd6
mov dword [ebp - 4], 8
mov dword [ebp - 0x16a4], 0xffffffff
mov dword [ebp - 0x16a8], 0
jmp 0x4bbe5e
mov ecx, dword [ebp - 0x16a8]
add ecx, 1
mov dword [ebp - 0x16a8], ecx
cmp dword [ebp - 0x16a8], 5
jge 0x4bbe90
mov eax, dword [ebp - 0x16a8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bbe85
mov edx, dword [ebp - 0x16a4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4bbe4f
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bbeb0
mov dword [ebp - 0x16ac], 0
jmp 0x4bbecb
mov edx, dword [ebp - 0x16ac]
add edx, 1
mov dword [ebp - 0x16ac], edx
cmp dword [ebp - 0x16ac], 0
jge 0x4bbee2
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x16ac]
mov dword [ebp - 0x1c], eax
jmp 0x4bbebc
cmp dword [ebp - 0x1c], 0
jge 0x4bbef0
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 0x4bbf08
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b0], 0
jmp 0x4bbf23
mov edx, dword [ebp - 0x16b0]
add edx, 1
mov dword [ebp - 0x16b0], edx
cmp dword [ebp - 0x16b0], 5
jge 0x4bbf3a
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x16b0]
mov dword [ebp - 0x1c], eax
jmp 0x4bbf14
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4bbf4c
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 0x4bbf64
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4bbf9e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16b4], eax
mov eax, dword [ebp - 0x16b4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bbf90
jmp 0x4bbf9e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16b4]
mov dword [ebp - 0x1c], edx
jmp 0x4bbf64
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4bbfe1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16b8], eax
mov eax, dword [ebp - 0x16b8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bbfd3
jmp 0x4bbfe1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16b8]
mov dword [ebp - 0x1c], edx
jmp 0x4bbfa7
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16bc], 0
jmp 0x4bc005
mov ecx, dword [ebp - 0x16bc]
add ecx, 1
mov dword [ebp - 0x16bc], ecx
cmp dword [ebp - 0x16bc], 0
jge 0x4bc052
mov eax, dword [ebp - 0x16bc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bc034
mov eax, dword [ebp - 0x16bc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bc044
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16bc]
mov dword [ebp - 0x1c], edx
jmp 0x4bc050
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16bc]
mov dword [ebp - 0x1c], eax
jmp 0x4bbff6
mov dword [ebp - 0x16c0], 0
jmp 0x4bc06d
mov ecx, dword [ebp - 0x16c0]
add ecx, 1
mov dword [ebp - 0x16c0], ecx
cmp dword [ebp - 0x16c0], 0
jge 0x4bc0ae
cmp dword [ebp - 0x1c], 0
jge 0x4bc084
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 0x4bc09a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bc05e
mov dword [ebp - 0x18bc], 0
jmp 0x4bc0c9
mov eax, dword [ebp - 0x18bc]
add eax, 1
mov dword [ebp - 0x18bc], eax
cmp dword [ebp - 0x18bc], 0
jge 0x4bc116
cmp dword [ebp - 0x1c], 0
jge 0x4bc0e0
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 0x4bc0f6
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18c0], 0xfa
lea edx, [ebp - 0x18c0]
push edx
lea eax, [ebp - 0x1ab8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bc0ba
mov dword [ebp - 0x1abc], 0
jmp 0x4bc131
mov ecx, dword [ebp - 0x1abc]
add ecx, 1
mov dword [ebp - 0x1abc], ecx
cmp dword [ebp - 0x1abc], 1
jge 0x4bc17e
cmp dword [ebp - 0x1c], 0
jge 0x4bc148
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 0x4bc15e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ac0], 0xfa
lea edx, [ebp - 0x1ac0]
push edx
lea eax, [ebp - 0x1cb8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bc122
mov dword [ebp - 0x1cbc], 0
jmp 0x4bc199
mov ecx, dword [ebp - 0x1cbc]
add ecx, 1
mov dword [ebp - 0x1cbc], ecx
cmp dword [ebp - 0x1cbc], 1
jge 0x4bc1e6
cmp dword [ebp - 0x1c], 0
jge 0x4bc1b0
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 0x4bc1c6
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 0x4bc18a
mov dword [ebp - 0x1ebc], 0
jmp 0x4bc201
mov ecx, dword [ebp - 0x1ebc]
add ecx, 1
mov dword [ebp - 0x1ebc], ecx
cmp dword [ebp - 0x1ebc], 2
jge 0x4bc242
cmp dword [ebp - 0x1c], 0
jge 0x4bc218
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 0x4bc22e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x20b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bc1f2
mov dword [ebp - 0x20bc], 0
jmp 0x4bc25d
mov eax, dword [ebp - 0x20bc]
add eax, 1
mov dword [ebp - 0x20bc], eax
cmp dword [ebp - 0x20bc], 3
jge 0x4bc2aa
mov eax, dword [ebp - 0x20bc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bc28c
mov eax, dword [ebp - 0x20bc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bc29c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20bc]
mov dword [ebp - 0x1c], edx
jmp 0x4bc2a8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20bc]
mov dword [ebp - 0x1c], eax
jmp 0x4bc24e
mov dword [ebp - 0x20c0], 0
jmp 0x4bc2c5
mov ecx, dword [ebp - 0x20c0]
add ecx, 1
mov dword [ebp - 0x20c0], ecx
cmp dword [ebp - 0x20c0], 3
jge 0x4bc306
cmp dword [ebp - 0x1c], 0
jge 0x4bc2dc
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 0x4bc2f2
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x22b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bc2b6
mov dword [ebp - 0x22bc], 0
jmp 0x4bc321
mov eax, dword [ebp - 0x22bc]
add eax, 1
mov dword [ebp - 0x22bc], eax
cmp dword [ebp - 0x22bc], 2
jge 0x4bc362
cmp dword [ebp - 0x1c], 0
jge 0x4bc338
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 0x4bc34e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x24b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bc312
mov dword [ebp - 0x24bc], 0
jmp 0x4bc37d
mov eax, dword [ebp - 0x24bc]
add eax, 1
mov dword [ebp - 0x24bc], eax
cmp dword [ebp - 0x24bc], 3
jge 0x4bc3ca
mov eax, dword [ebp - 0x24bc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bc3ac
mov eax, dword [ebp - 0x24bc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bc3bc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24bc]
mov dword [ebp - 0x1c], edx
jmp 0x4bc3c8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x24bc]
mov dword [ebp - 0x1c], eax
jmp 0x4bc36e
mov ecx, 1
test ecx, ecx
je 0x4bc404
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24c0], eax
mov eax, dword [ebp - 0x24c0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bc3f6
jmp 0x4bc404
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24c0]
mov dword [ebp - 0x1c], edx
jmp 0x4bc3ca
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4bc447
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24c4], eax
mov eax, dword [ebp - 0x24c4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bc439
jmp 0x4bc447
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24c4]
mov dword [ebp - 0x1c], edx
jmp 0x4bc40d
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24c8], 0
jmp 0x4bc46b
mov ecx, dword [ebp - 0x24c8]
add ecx, 1
mov dword [ebp - 0x24c8], ecx
cmp dword [ebp - 0x24c8], 4
jge 0x4bc482
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24c8]
mov dword [ebp - 0x1c], edx
jmp 0x4bc45c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4bc494
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 0x4bc4ac
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 9
mov dword [ebp - 0x24cc], 0xffffffff
mov dword [ebp - 0x24d0], 0
jmp 0x4bc4d8
cmp dword [ebp - 0x24d0], 3
jge 0x4bc50a
mov eax, dword [ebp - 0x24d0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bc4ff
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bc52a