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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5139a0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x24f8
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x3c], 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 0x4cbd48
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 0x4cbd3d
jmp 0x4cbd48
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4cbd17
mov eax, dword [ebp - 0x1c]
add eax, 0x33
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0
jmp 0x4cbd71
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0x2d
jge 0x4cbd9a
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cbd8f
mov edx, dword [ebp - 0x24]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4cbd68
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cbdba
mov dword [ebp - 0x2c], 0
jmp 0x4cbdcc
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 1
jge 0x4cbe0a
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4cbdf2
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4cbdff
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x4cbe08
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x4cbdc3
mov dword [ebp - 0x30], 0
jmp 0x4cbe1c
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0x1b
jge 0x4cbe2d
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x4cbe13
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4cbe3f
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 0x4cbe57
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], 0
jmp 0x4cbe69
mov edx, dword [ebp - 0x34]
add edx, 1
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 4
jge 0x4cbead
cmp dword [ebp - 0x1c], 0
jge 0x4cbe7d
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 0x4cbe93
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x38], 0xfa
lea edx, [ebp - 0x38]
push edx
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4cbe60
mov dword [ebp - 0x23c], 0
jmp 0x4cbec8
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 0x19
jge 0x4cbf15
mov eax, dword [ebp - 0x23c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4cbef7
mov eax, dword [ebp - 0x23c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4cbf07
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], edx
jmp 0x4cbf13
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], eax
jmp 0x4cbeb9
mov dword [ebp - 0x240], 0
jmp 0x4cbf30
mov ecx, dword [ebp - 0x240]
add ecx, 1
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 0x20
jge 0x4cbf71
cmp dword [ebp - 0x1c], 0
jge 0x4cbf47
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 0x4cbf5d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4cbf21
mov eax, 1
test eax, eax
je 0x4cbfab
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x43c], eax
mov eax, dword [ebp - 0x43c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4cbf9d
jmp 0x4cbfab
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x4cbf71
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x440], 0
jmp 0x4cbfcf
mov ecx, dword [ebp - 0x440]
add ecx, 1
mov dword [ebp - 0x440], ecx
cmp dword [ebp - 0x440], 0xc
jge 0x4cc01c
mov eax, dword [ebp - 0x440]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4cbffe
mov eax, dword [ebp - 0x440]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4cc00e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x440]
mov dword [ebp - 0x1c], edx
jmp 0x4cc01a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x440]
mov dword [ebp - 0x1c], eax
jmp 0x4cbfc0
mov dword [ebp - 0x444], 0
jmp 0x4cc037
mov ecx, dword [ebp - 0x444]
add ecx, 1
mov dword [ebp - 0x444], ecx
cmp dword [ebp - 0x444], 0x19
jge 0x4cc084
cmp dword [ebp - 0x1c], 0
jge 0x4cc04e
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 0x4cc064
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x448], 0xfa
lea edx, [ebp - 0x448]
push edx
lea eax, [ebp - 0x640]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4cc028
mov dword [ebp - 0x644], 0
jmp 0x4cc09f
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
cmp dword [ebp - 0x644], 0
jge 0x4cc0b6
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x644]
mov dword [ebp - 0x1c], edx
jmp 0x4cc090
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4cc0c8
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 0x4cc0e0
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x648], 0
jmp 0x4cc0fb
mov edx, dword [ebp - 0x648]
add edx, 1
mov dword [ebp - 0x648], edx
cmp dword [ebp - 0x648], 0xa
jge 0x4cc148
mov eax, dword [ebp - 0x648]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4cc12a
mov eax, dword [ebp - 0x648]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4cc13a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x648]
mov dword [ebp - 0x1c], edx
jmp 0x4cc146
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x648]
mov dword [ebp - 0x1c], eax
jmp 0x4cc0ec
mov dword [ebp - 4], 1
mov dword [ebp - 0x64c], 0xffffffff
mov dword [ebp - 0x650], 0
jmp 0x4cc174
mov ecx, dword [ebp - 0x650]
add ecx, 1
mov dword [ebp - 0x650], ecx
cmp dword [ebp - 0x650], 0xf
jge 0x4cc1a6
mov eax, dword [ebp - 0x650]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cc19b
mov edx, dword [ebp - 0x64c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4cc165
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cc1c6
mov edx, 1
test edx, edx
je 0x4cc200
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x654]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4cc1f2
jmp 0x4cc200
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x654]
mov dword [ebp - 0x1c], edx
jmp 0x4cc1c6
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x658], 0
jmp 0x4cc224
mov ecx, dword [ebp - 0x658]
add ecx, 1
mov dword [ebp - 0x658], ecx
cmp dword [ebp - 0x658], 8
jge 0x4cc23b
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x658]
mov dword [ebp - 0x1c], edx
jmp 0x4cc215
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4cc24d
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 0x4cc265
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x65c], 0
jmp 0x4cc280
mov edx, dword [ebp - 0x65c]
add edx, 1
mov dword [ebp - 0x65c], edx
cmp dword [ebp - 0x65c], 2
jge 0x4cc2cd
mov eax, dword [ebp - 0x65c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4cc2af
mov eax, dword [ebp - 0x65c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4cc2bf
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x65c]
mov dword [ebp - 0x1c], edx
jmp 0x4cc2cb
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x65c]
mov dword [ebp - 0x1c], eax
jmp 0x4cc271
mov dword [ebp - 0x660], 0
jmp 0x4cc2e8
mov ecx, dword [ebp - 0x660]
add ecx, 1
mov dword [ebp - 0x660], ecx
cmp dword [ebp - 0x660], 0xb
jge 0x4cc335
cmp dword [ebp - 0x1c], 0
jge 0x4cc2ff
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 0x4cc315
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x664], 0xfa
lea edx, [ebp - 0x664]
push edx
lea eax, [ebp - 0x860]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4cc2d9
mov dword [ebp - 0x864], 0
jmp 0x4cc350
mov ecx, dword [ebp - 0x864]
add ecx, 1
mov dword [ebp - 0x864], ecx
cmp dword [ebp - 0x864], 0xa
jge 0x4cc367
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x864]
mov dword [ebp - 0x1c], edx
jmp 0x4cc341
cmp dword [ebp - 0x1c], 0
jge 0x4cc375
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 0x4cc38d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4cc3c7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x868], eax
mov eax, dword [ebp - 0x868]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4cc3b9
jmp 0x4cc3c7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x868]
mov dword [ebp - 0x1c], edx
jmp 0x4cc38d
mov eax, dword [ebp - 0x1c]
add eax, 0xb
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x86c], 0xffffffff
mov dword [ebp - 0x870], 0
jmp 0x4cc3fc
mov ecx, dword [ebp - 0x870]
add ecx, 1
mov dword [ebp - 0x870], ecx
cmp dword [ebp - 0x870], 9
jge 0x4cc42e
mov eax, dword [ebp - 0x870]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cc423
mov edx, dword [ebp - 0x86c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4cc3ed
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cc44e
mov dword [ebp - 0x874], 0
jmp 0x4cc469
mov edx, dword [ebp - 0x874]
add edx, 1
mov dword [ebp - 0x874], edx
cmp dword [ebp - 0x874], 2
jge 0x4cc4aa
cmp dword [ebp - 0x1c], 0
jge 0x4cc480
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 0x4cc496
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa70]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4cc45a
mov dword [ebp - 0xa74], 0
jmp 0x4cc4c5
mov eax, dword [ebp - 0xa74]
add eax, 1
mov dword [ebp - 0xa74], eax
cmp dword [ebp - 0xa74], 0xd
jge 0x4cc512
cmp dword [ebp - 0x1c], 0
jge 0x4cc4dc
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 0x4cc4f2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa78], 0xfa
lea edx, [ebp - 0xa78]
push edx
lea eax, [ebp - 0xc70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4cc4b6
mov dword [ebp - 4], 3
mov dword [ebp - 0xc74], 0xffffffff
mov dword [ebp - 0xc78], 0
jmp 0x4cc53e
mov ecx, dword [ebp - 0xc78]
add ecx, 1
mov dword [ebp - 0xc78], ecx
cmp dword [ebp - 0xc78], 7
jge 0x4cc570
mov eax, dword [ebp - 0xc78]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cc565
mov edx, dword [ebp - 0xc74]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4cc52f
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cc590
mov dword [ebp - 0xc7c], 0
jmp 0x4cc5ab
mov edx, dword [ebp - 0xc7c]
add edx, 1
mov dword [ebp - 0xc7c], edx
cmp dword [ebp - 0xc7c], 3
jge 0x4cc5c2
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc7c]
mov dword [ebp - 0x1c], eax
jmp 0x4cc59c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4cc5d4
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 0x4cc5ec
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0xc80], 0xffffffff
mov dword [ebp - 0xc84], 0
jmp 0x4cc618
mov edx, dword [ebp - 0xc84]
add edx, 1
mov dword [ebp - 0xc84], edx
cmp dword [ebp - 0xc84], 2
jge 0x4cc64a
mov eax, dword [ebp - 0xc84]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cc63f
mov edx, dword [ebp - 0xc80]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4cc609
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cc66a
mov dword [ebp - 0xc88], 0
jmp 0x4cc685
mov edx, dword [ebp - 0xc88]
add edx, 1
mov dword [ebp - 0xc88], edx
cmp dword [ebp - 0xc88], 2
jge 0x4cc6d2
cmp dword [ebp - 0x1c], 0
jge 0x4cc69c
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 0x4cc6b2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc8c], 0xfa
lea edx, [ebp - 0xc8c]
push edx
lea eax, [ebp - 0xe88]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4cc676
mov dword [ebp - 4], 5
mov dword [ebp - 0xe8c], 0xffffffff
mov dword [ebp - 0xe90], 0
jmp 0x4cc6fe
mov ecx, dword [ebp - 0xe90]
add ecx, 1
mov dword [ebp - 0xe90], ecx
cmp dword [ebp - 0xe90], 1
jge 0x4cc730
mov eax, dword [ebp - 0xe90]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cc725
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 0x4cc6ef
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cc750
mov dword [ebp - 0xe94], 0
jmp 0x4cc76b
mov edx, dword [ebp - 0xe94]
add edx, 1
mov dword [ebp - 0xe94], edx
cmp dword [ebp - 0xe94], 7
jge 0x4cc7b8
mov eax, dword [ebp - 0xe94]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4cc79a
mov eax, dword [ebp - 0xe94]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4cc7aa
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe94]
mov dword [ebp - 0x1c], edx
jmp 0x4cc7b6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe94]
mov dword [ebp - 0x1c], eax
jmp 0x4cc75c
mov dword [ebp - 0xe98], 0
jmp 0x4cc7d3
mov ecx, dword [ebp - 0xe98]
add ecx, 1
mov dword [ebp - 0xe98], ecx
cmp dword [ebp - 0xe98], 3
jge 0x4cc7ea
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe98]
mov dword [ebp - 0x1c], edx
jmp 0x4cc7c4
cmp dword [ebp - 0x1c], 0
jge 0x4cc7f8
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 0x4cc810
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe9c], 0
jmp 0x4cc82b
mov edx, dword [ebp - 0xe9c]
add edx, 1
mov dword [ebp - 0xe9c], edx
cmp dword [ebp - 0xe9c], 0
jge 0x4cc878
mov eax, dword [ebp - 0xe9c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4cc85a
mov eax, dword [ebp - 0xe9c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4cc86a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe9c]
mov dword [ebp - 0x1c], edx
jmp 0x4cc876
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe9c]
mov dword [ebp - 0x1c], eax
jmp 0x4cc81c
mov dword [ebp - 4], 6
mov dword [ebp - 0xea0], 0xffffffff
mov dword [ebp - 0xea4], 0
jmp 0x4cc8a4
mov ecx, dword [ebp - 0xea4]
add ecx, 1
mov dword [ebp - 0xea4], ecx
cmp dword [ebp - 0xea4], 4
jge 0x4cc8d6
mov eax, dword [ebp - 0xea4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cc8cb
mov edx, dword [ebp - 0xea0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4cc895
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cc8f6
mov dword [ebp - 0xea8], 0
jmp 0x4cc911
mov edx, dword [ebp - 0xea8]
add edx, 1
mov dword [ebp - 0xea8], edx
cmp dword [ebp - 0xea8], 0
jge 0x4cc95e
mov eax, dword [ebp - 0xea8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4cc940
mov eax, dword [ebp - 0xea8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4cc950
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xea8]
mov dword [ebp - 0x1c], edx
jmp 0x4cc95c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xea8]
mov dword [ebp - 0x1c], eax
jmp 0x4cc902
mov dword [ebp - 0xeac], 0
jmp 0x4cc979
mov ecx, dword [ebp - 0xeac]
add ecx, 1
mov dword [ebp - 0xeac], ecx
cmp dword [ebp - 0xeac], 4
jge 0x4cc9c6
cmp dword [ebp - 0x1c], 0
jge 0x4cc990
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 0x4cc9a6
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xeb0], 0xfa
lea edx, [ebp - 0xeb0]
push edx
lea eax, [ebp - 0x10a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4cc96a
mov dword [ebp - 0x10ac], 0
jmp 0x4cc9e1
mov ecx, dword [ebp - 0x10ac]
add ecx, 1
mov dword [ebp - 0x10ac], ecx
cmp dword [ebp - 0x10ac], 4
jge 0x4cca2e
mov eax, dword [ebp - 0x10ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4cca10
mov eax, dword [ebp - 0x10ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4cca20
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10ac]
mov dword [ebp - 0x1c], edx
jmp 0x4cca2c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x10ac]
mov dword [ebp - 0x1c], eax
jmp 0x4cc9d2
mov dword [ebp - 0x10b0], 0
jmp 0x4cca49
mov ecx, dword [ebp - 0x10b0]
add ecx, 1
mov dword [ebp - 0x10b0], ecx
cmp dword [ebp - 0x10b0], 2
jge 0x4cca8a
cmp dword [ebp - 0x1c], 0
jge 0x4cca60
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 0x4cca76
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x12a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4cca3a
mov dword [ebp - 0x12ac], 0
jmp 0x4ccaa5
mov eax, dword [ebp - 0x12ac]
add eax, 1
mov dword [ebp - 0x12ac], eax
cmp dword [ebp - 0x12ac], 4
jge 0x4ccabc
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x12ac]
mov dword [ebp - 0x1c], ecx
jmp 0x4cca96
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ccace
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 0x4ccae6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12b0], 0
jmp 0x4ccb01
mov edx, dword [ebp - 0x12b0]
add edx, 1
mov dword [ebp - 0x12b0], edx
cmp dword [ebp - 0x12b0], 0
jge 0x4ccb18
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x12b0]
mov dword [ebp - 0x1c], eax
jmp 0x4ccaf2
cmp dword [ebp - 0x1c], 0
jge 0x4ccb26
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 0x4ccb3e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
mov dword [ebp - 0x12b4], 0xffffffff
mov dword [ebp - 0x12b8], 0
jmp 0x4ccb6a
mov edx, dword [ebp - 0x12b8]
add edx, 1
mov dword [ebp - 0x12b8], edx
cmp dword [ebp - 0x12b8], 2
jge 0x4ccb9c
mov eax, dword [ebp - 0x12b8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ccb91
mov edx, dword [ebp - 0x12b4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ccb5b
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ccbbc
mov edx, 1
test edx, edx
je 0x4ccbf6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12bc], eax
mov eax, dword [ebp - 0x12bc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ccbe8
jmp 0x4ccbf6
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12bc]
mov dword [ebp - 0x1c], edx
jmp 0x4ccbbc
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12c0], 0
jmp 0x4ccc17
mov ecx, dword [ebp - 0x12c0]
add ecx, 1
mov dword [ebp - 0x12c0], ecx
cmp dword [ebp - 0x12c0], 2
jge 0x4ccc64
mov eax, dword [ebp - 0x12c0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ccc46
mov eax, dword [ebp - 0x12c0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ccc56
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12c0]
mov dword [ebp - 0x1c], edx
jmp 0x4ccc62
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12c0]
mov dword [ebp - 0x1c], eax
jmp 0x4ccc08
mov dword [ebp - 0x12c4], 0
jmp 0x4ccc7f
mov ecx, dword [ebp - 0x12c4]
add ecx, 1
mov dword [ebp - 0x12c4], ecx
cmp dword [ebp - 0x12c4], 1
jge 0x4ccc96
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x12c4]
mov dword [ebp - 0x1c], edx
jmp 0x4ccc70
cmp dword [ebp - 0x1c], 0
jge 0x4ccca4
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 0x4cccbc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4cccf6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12c8], eax
mov eax, dword [ebp - 0x12c8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ccce8
jmp 0x4cccf6
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12c8]
mov dword [ebp - 0x1c], edx
jmp 0x4cccbc
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12cc], 0
jmp 0x4ccd1a
mov ecx, dword [ebp - 0x12cc]
add ecx, 1
mov dword [ebp - 0x12cc], ecx
cmp dword [ebp - 0x12cc], 4
jge 0x4ccd5b
cmp dword [ebp - 0x1c], 0
jge 0x4ccd31
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 0x4ccd47
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x14c8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ccd0b
mov dword [ebp - 0x14cc], 0
jmp 0x4ccd76
mov eax, dword [ebp - 0x14cc]
add eax, 1
mov dword [ebp - 0x14cc], eax
cmp dword [ebp - 0x14cc], 1
jge 0x4ccd8d
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0x1c], ecx
jmp 0x4ccd67
cmp dword [ebp - 0x1c], 0
jge 0x4ccd9b
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 0x4ccdb3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14d0], 0
jmp 0x4ccdce
mov edx, dword [ebp - 0x14d0]
add edx, 1
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 4
jge 0x4cce0f
cmp dword [ebp - 0x1c], 0
jge 0x4ccde5
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 0x4ccdfb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16c8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ccdbf
mov dword [ebp - 0x16cc], 0
jmp 0x4cce2a
mov eax, dword [ebp - 0x16cc]
add eax, 1
mov dword [ebp - 0x16cc], eax
cmp dword [ebp - 0x16cc], 4
jge 0x4cce41
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x16cc]
mov dword [ebp - 0x1c], ecx
jmp 0x4cce1b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4cce53
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 0x4cce6b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16d0], 0
jmp 0x4cce86
mov edx, dword [ebp - 0x16d0]
add edx, 1
mov dword [ebp - 0x16d0], edx
cmp dword [ebp - 0x16d0], 0
jge 0x4ccec7
cmp dword [ebp - 0x1c], 0
jge 0x4cce9d
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 0x4cceb3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18c8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4cce77
mov dword [ebp - 0x18cc], 0
jmp 0x4ccee2
mov eax, dword [ebp - 0x18cc]
add eax, 1
mov dword [ebp - 0x18cc], eax
cmp dword [ebp - 0x18cc], 0
jge 0x4ccef9
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x1c], ecx
jmp 0x4cced3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ccf0b
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 0x4ccf23
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18d0], 0
jmp 0x4ccf3e
mov edx, dword [ebp - 0x18d0]
add edx, 1
mov dword [ebp - 0x18d0], edx
cmp dword [ebp - 0x18d0], 1
jge 0x4ccf7f
cmp dword [ebp - 0x1c], 0
jge 0x4ccf55
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 0x4ccf6b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ac8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ccf2f
mov eax, 1
test eax, eax
je 0x4ccfb9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1acc], eax
mov eax, dword [ebp - 0x1acc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ccfab
jmp 0x4ccfb9
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1acc]
mov dword [ebp - 0x1c], edx
jmp 0x4ccf7f
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x1ad0], 0xffffffff
mov dword [ebp - 0x1ad4], 0
jmp 0x4ccfee
cmp dword [ebp - 0x1ad4], 0
jge 0x4cd020
mov eax, dword [ebp - 0x1ad4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cd015
mov edx, dword [ebp - 0x1ad0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ccfdf
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cd040
mov edx, 1
test edx, edx
je 0x4cd07a