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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x513700
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2b04
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 0x4c3049
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x22
jge 0x4c305a
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x4c3040
cmp dword [ebp - 0x1c], 0
jge 0x4c3068
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 0x4c3080
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x4c3092
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x3b
jge 0x4c30d0
cmp dword [ebp - 0x1c], 0
jge 0x4c30a6
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 0x4c30bc
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c3089
mov dword [ebp - 0x224], 0
jmp 0x4c30eb
mov eax, dword [ebp - 0x224]
add eax, 1
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0x11
jge 0x4c312c
cmp dword [ebp - 0x1c], 0
jge 0x4c3102
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 0x4c3118
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c30dc
mov dword [ebp - 0x424], 0
jmp 0x4c3147
mov eax, dword [ebp - 0x424]
add eax, 1
mov dword [ebp - 0x424], eax
cmp dword [ebp - 0x424], 0xe
jge 0x4c3194
cmp dword [ebp - 0x1c], 0
jge 0x4c315e
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 0x4c3174
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x428], 0xfa
lea edx, [ebp - 0x428]
push edx
lea eax, [ebp - 0x620]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c3138
mov ecx, 1
test ecx, ecx
je 0x4c31ce
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x624], eax
mov eax, dword [ebp - 0x624]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c31c0
jmp 0x4c31ce
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x624]
mov dword [ebp - 0x1c], edx
jmp 0x4c3194
mov eax, dword [ebp - 0x1c]
add eax, 0x15
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x628], 0
jmp 0x4c31f2
mov ecx, dword [ebp - 0x628]
add ecx, 1
mov dword [ebp - 0x628], ecx
cmp dword [ebp - 0x628], 7
jge 0x4c3209
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x628]
mov dword [ebp - 0x1c], edx
jmp 0x4c31e3
cmp dword [ebp - 0x1c], 0
jge 0x4c3217
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 0x4c322f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x62c], 0
jmp 0x4c324a
mov edx, dword [ebp - 0x62c]
add edx, 1
mov dword [ebp - 0x62c], edx
cmp dword [ebp - 0x62c], 9
jge 0x4c3261
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x62c]
mov dword [ebp - 0x1c], eax
jmp 0x4c323b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c3273
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 0x4c328b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x630], 0
jmp 0x4c32a6
mov edx, dword [ebp - 0x630]
add edx, 1
mov dword [ebp - 0x630], edx
cmp dword [ebp - 0x630], 0xd
jge 0x4c32bd
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x630]
mov dword [ebp - 0x1c], eax
jmp 0x4c3297
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c32cf
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 0x4c32e7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x634], 0
jmp 0x4c3302
mov edx, dword [ebp - 0x634]
add edx, 1
mov dword [ebp - 0x634], edx
cmp dword [ebp - 0x634], 0xa
jge 0x4c334f
cmp dword [ebp - 0x1c], 0
jge 0x4c3319
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 0x4c332f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x638], 0xfa
lea edx, [ebp - 0x638]
push edx
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c32f3
mov dword [ebp - 0x834], 0
jmp 0x4c336a
mov ecx, dword [ebp - 0x834]
add ecx, 1
mov dword [ebp - 0x834], ecx
cmp dword [ebp - 0x834], 0x10
jge 0x4c3381
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x834]
mov dword [ebp - 0x1c], edx
jmp 0x4c335b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c3393
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 0x4c33ab
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x838], 0
jmp 0x4c33c6
mov edx, dword [ebp - 0x838]
add edx, 1
mov dword [ebp - 0x838], edx
cmp dword [ebp - 0x838], 6
jge 0x4c33dd
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x838]
mov dword [ebp - 0x1c], eax
jmp 0x4c33b7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c33ef
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 0x4c3407
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x83c], 0
jmp 0x4c3422
mov edx, dword [ebp - 0x83c]
add edx, 1
mov dword [ebp - 0x83c], edx
cmp dword [ebp - 0x83c], 4
jge 0x4c346f
mov eax, dword [ebp - 0x83c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c3451
mov eax, dword [ebp - 0x83c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c3461
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x83c]
mov dword [ebp - 0x1c], edx
jmp 0x4c346d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x83c]
mov dword [ebp - 0x1c], eax
jmp 0x4c3413
mov dword [ebp - 0x840], 0
jmp 0x4c348a
mov ecx, dword [ebp - 0x840]
add ecx, 1
mov dword [ebp - 0x840], ecx
cmp dword [ebp - 0x840], 1
jge 0x4c34cb
cmp dword [ebp - 0x1c], 0
jge 0x4c34a1
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 0x4c34b7
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa38]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c347b
mov dword [ebp - 0xa3c], 0
jmp 0x4c34e6
mov eax, dword [ebp - 0xa3c]
add eax, 1
mov dword [ebp - 0xa3c], eax
cmp dword [ebp - 0xa3c], 6
jge 0x4c3533
mov eax, dword [ebp - 0xa3c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c3515
mov eax, dword [ebp - 0xa3c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c3525
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa3c]
mov dword [ebp - 0x1c], edx
jmp 0x4c3531
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa3c]
mov dword [ebp - 0x1c], eax
jmp 0x4c34d7
mov dword [ebp - 0xa40], 0
jmp 0x4c354e
mov ecx, dword [ebp - 0xa40]
add ecx, 1
mov dword [ebp - 0xa40], ecx
cmp dword [ebp - 0xa40], 3
jge 0x4c3565
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa40]
mov dword [ebp - 0x1c], edx
jmp 0x4c353f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c3577
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 0x4c358f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa44], 0
jmp 0x4c35aa
mov edx, dword [ebp - 0xa44]
add edx, 1
mov dword [ebp - 0xa44], edx
cmp dword [ebp - 0xa44], 7
jge 0x4c35c1
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xa44]
mov dword [ebp - 0x1c], eax
jmp 0x4c359b
cmp dword [ebp - 0x1c], 0
jge 0x4c35cf
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 0x4c35e7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa48], 0
jmp 0x4c3602
mov edx, dword [ebp - 0xa48]
add edx, 1
mov dword [ebp - 0xa48], edx
cmp dword [ebp - 0xa48], 8
jge 0x4c3643
cmp dword [ebp - 0x1c], 0
jge 0x4c3619
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 0x4c362f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc40]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c35f3
mov dword [ebp - 0xc44], 0
jmp 0x4c365e
mov eax, dword [ebp - 0xc44]
add eax, 1
mov dword [ebp - 0xc44], eax
cmp dword [ebp - 0xc44], 7
jge 0x4c36ab
mov eax, dword [ebp - 0xc44]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c368d
mov eax, dword [ebp - 0xc44]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c369d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc44]
mov dword [ebp - 0x1c], edx
jmp 0x4c36a9
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc44]
mov dword [ebp - 0x1c], eax
jmp 0x4c364f
mov ecx, 1
test ecx, ecx
je 0x4c36e5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc48], eax
mov eax, dword [ebp - 0xc48]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c36d7
jmp 0x4c36e5
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc48]
mov dword [ebp - 0x1c], edx
jmp 0x4c36ab
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4c3728
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc4c], eax
mov eax, dword [ebp - 0xc4c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c371a
jmp 0x4c3728
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc4c]
mov dword [ebp - 0x1c], edx
jmp 0x4c36ee
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc50], 0
jmp 0x4c374c
mov ecx, dword [ebp - 0xc50]
add ecx, 1
mov dword [ebp - 0xc50], ecx
cmp dword [ebp - 0xc50], 0
jge 0x4c3799
cmp dword [ebp - 0x1c], 0
jge 0x4c3763
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 0x4c3779
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc54], 0xfa
lea edx, [ebp - 0xc54]
push edx
lea eax, [ebp - 0xe50]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c373d
mov dword [ebp - 0xe54], 0
jmp 0x4c37b4
mov ecx, dword [ebp - 0xe54]
add ecx, 1
mov dword [ebp - 0xe54], ecx
cmp dword [ebp - 0xe54], 0
jge 0x4c3801
mov eax, dword [ebp - 0xe54]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c37e3
mov eax, dword [ebp - 0xe54]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c37f3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe54]
mov dword [ebp - 0x1c], edx
jmp 0x4c37ff
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe54]
mov dword [ebp - 0x1c], eax
jmp 0x4c37a5
mov dword [ebp - 0xe58], 0
jmp 0x4c381c
mov ecx, dword [ebp - 0xe58]
add ecx, 1
mov dword [ebp - 0xe58], ecx
cmp dword [ebp - 0xe58], 4
jge 0x4c3833
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe58]
mov dword [ebp - 0x1c], edx
jmp 0x4c380d
cmp dword [ebp - 0x1c], 0
jge 0x4c3841
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 0x4c3859
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0xe5c], 0xffffffff
mov dword [ebp - 0xe60], 0
jmp 0x4c3885
mov edx, dword [ebp - 0xe60]
add edx, 1
mov dword [ebp - 0xe60], edx
cmp dword [ebp - 0xe60], 3
jge 0x4c38b7
mov eax, dword [ebp - 0xe60]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c38ac
mov edx, dword [ebp - 0xe5c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4c3876
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c38d7
mov dword [ebp - 0xe64], 0
jmp 0x4c38f2
mov edx, dword [ebp - 0xe64]
add edx, 1
mov dword [ebp - 0xe64], edx
cmp dword [ebp - 0xe64], 2
jge 0x4c393f
cmp dword [ebp - 0x1c], 0
jge 0x4c3909
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 0x4c391f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe68], 0xfa
lea edx, [ebp - 0xe68]
push edx
lea eax, [ebp - 0x1060]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c38e3
mov dword [ebp - 0x1064], 0
jmp 0x4c395a
mov ecx, dword [ebp - 0x1064]
add ecx, 1
mov dword [ebp - 0x1064], ecx
cmp dword [ebp - 0x1064], 3
jge 0x4c399b
cmp dword [ebp - 0x1c], 0
jge 0x4c3971
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 0x4c3987
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1260]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c394b
mov eax, 1
test eax, eax
je 0x4c39d5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1264], eax
mov eax, dword [ebp - 0x1264]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c39c7
jmp 0x4c39d5
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1264]
mov dword [ebp - 0x1c], edx
jmp 0x4c399b
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4c3a18
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1268], eax
mov eax, dword [ebp - 0x1268]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c3a0a
jmp 0x4c3a18
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1268]
mov dword [ebp - 0x1c], edx
jmp 0x4c39de
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4c3a5b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x126c], eax
mov eax, dword [ebp - 0x126c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c3a4d
jmp 0x4c3a5b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x126c]
mov dword [ebp - 0x1c], edx
jmp 0x4c3a21
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1270], 0
jmp 0x4c3a7f
mov ecx, dword [ebp - 0x1270]
add ecx, 1
mov dword [ebp - 0x1270], ecx
cmp dword [ebp - 0x1270], 3
jge 0x4c3a96
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1270]
mov dword [ebp - 0x1c], edx
jmp 0x4c3a70
cmp dword [ebp - 0x1c], 0
jge 0x4c3aa4
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 0x4c3abc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1274], 0
jmp 0x4c3ad7
mov edx, dword [ebp - 0x1274]
add edx, 1
mov dword [ebp - 0x1274], edx
cmp dword [ebp - 0x1274], 2
jge 0x4c3b18
cmp dword [ebp - 0x1c], 0
jge 0x4c3aee
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 0x4c3b04
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1470]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c3ac8
mov dword [ebp - 0x1474], 0
jmp 0x4c3b33
mov eax, dword [ebp - 0x1474]
add eax, 1
mov dword [ebp - 0x1474], eax
cmp dword [ebp - 0x1474], 2
jge 0x4c3b4a
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1474]
mov dword [ebp - 0x1c], ecx
jmp 0x4c3b24
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c3b5c
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 0x4c3b74
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4c3bae
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1478], eax
mov eax, dword [ebp - 0x1478]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c3ba0
jmp 0x4c3bae
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1478]
mov dword [ebp - 0x1c], edx
jmp 0x4c3b74
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x147c], 0
jmp 0x4c3bd2
mov ecx, dword [ebp - 0x147c]
add ecx, 1
mov dword [ebp - 0x147c], ecx
cmp dword [ebp - 0x147c], 0
jge 0x4c3be9
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x147c]
mov dword [ebp - 0x1c], edx
jmp 0x4c3bc3
cmp dword [ebp - 0x1c], 0
jge 0x4c3bf7
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 0x4c3c0f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1480], 0
jmp 0x4c3c2a
mov edx, dword [ebp - 0x1480]
add edx, 1
mov dword [ebp - 0x1480], edx
cmp dword [ebp - 0x1480], 3
jge 0x4c3c41
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1480]
mov dword [ebp - 0x1c], eax
jmp 0x4c3c1b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c3c53
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 0x4c3c6b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4c3ca5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1484], eax
mov eax, dword [ebp - 0x1484]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c3c97
jmp 0x4c3ca5
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1484]
mov dword [ebp - 0x1c], edx
jmp 0x4c3c6b
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1488], 0
jmp 0x4c3cc9
mov ecx, dword [ebp - 0x1488]
add ecx, 1
mov dword [ebp - 0x1488], ecx
cmp dword [ebp - 0x1488], 1
jge 0x4c3ce0
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1488]
mov dword [ebp - 0x1c], edx
jmp 0x4c3cba
cmp dword [ebp - 0x1c], 0
jge 0x4c3cee
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 0x4c3d06
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x148c], 0
jmp 0x4c3d21
mov edx, dword [ebp - 0x148c]
add edx, 1
mov dword [ebp - 0x148c], edx
cmp dword [ebp - 0x148c], 4
jge 0x4c3d6e
mov eax, dword [ebp - 0x148c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c3d50
mov eax, dword [ebp - 0x148c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c3d60
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x148c]
mov dword [ebp - 0x1c], edx
jmp 0x4c3d6c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x148c]
mov dword [ebp - 0x1c], eax
jmp 0x4c3d12
mov dword [ebp - 0x1490], 0
jmp 0x4c3d89
mov ecx, dword [ebp - 0x1490]
add ecx, 1
mov dword [ebp - 0x1490], ecx
cmp dword [ebp - 0x1490], 0
jge 0x4c3dd6
mov eax, dword [ebp - 0x1490]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c3db8
mov eax, dword [ebp - 0x1490]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c3dc8
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1490]
mov dword [ebp - 0x1c], edx
jmp 0x4c3dd4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1490]
mov dword [ebp - 0x1c], eax
jmp 0x4c3d7a
mov dword [ebp - 0x1494], 0
jmp 0x4c3df1
mov ecx, dword [ebp - 0x1494]
add ecx, 1
mov dword [ebp - 0x1494], ecx
cmp dword [ebp - 0x1494], 2
jge 0x4c3e3e
cmp dword [ebp - 0x1c], 0
jge 0x4c3e08
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 0x4c3e1e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1498], 0xfa
lea edx, [ebp - 0x1498]
push edx
lea eax, [ebp - 0x1690]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c3de2
mov ecx, 1
test ecx, ecx
je 0x4c3e78
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1694], eax
mov eax, dword [ebp - 0x1694]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c3e6a
jmp 0x4c3e78
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1694]
mov dword [ebp - 0x1c], edx
jmp 0x4c3e3e
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1698], 0
jmp 0x4c3e9c
mov ecx, dword [ebp - 0x1698]
add ecx, 1
mov dword [ebp - 0x1698], ecx
cmp dword [ebp - 0x1698], 3
jge 0x4c3eb3
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1698]
mov dword [ebp - 0x1c], edx
jmp 0x4c3e8d
cmp dword [ebp - 0x1c], 0
jge 0x4c3ec1
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 0x4c3ed9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x169c], 0
jmp 0x4c3ef4
mov edx, dword [ebp - 0x169c]
add edx, 1
mov dword [ebp - 0x169c], edx
cmp dword [ebp - 0x169c], 0
jge 0x4c3f41
mov eax, dword [ebp - 0x169c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c3f23
mov eax, dword [ebp - 0x169c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c3f33
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x169c]
mov dword [ebp - 0x1c], edx
jmp 0x4c3f3f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x169c]
mov dword [ebp - 0x1c], eax
jmp 0x4c3ee5
mov dword [ebp - 0x16a0], 0
jmp 0x4c3f5c
mov ecx, dword [ebp - 0x16a0]
add ecx, 1
mov dword [ebp - 0x16a0], ecx
cmp dword [ebp - 0x16a0], 4
jge 0x4c3f9d
cmp dword [ebp - 0x1c], 0
jge 0x4c3f73
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 0x4c3f89
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1898]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c3f4d
mov eax, 1
test eax, eax
je 0x4c3fd7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x189c], eax
mov eax, dword [ebp - 0x189c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c3fc9
jmp 0x4c3fd7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x189c]
mov dword [ebp - 0x1c], edx
jmp 0x4c3f9d
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18a0], 0
jmp 0x4c3ffb
mov ecx, dword [ebp - 0x18a0]
add ecx, 1
mov dword [ebp - 0x18a0], ecx
cmp dword [ebp - 0x18a0], 0
jge 0x4c4048
cmp dword [ebp - 0x1c], 0
jge 0x4c4012
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 0x4c4028
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18a4], 0xfa
lea edx, [ebp - 0x18a4]
push edx
lea eax, [ebp - 0x1aa0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c3fec
mov dword [ebp - 4], 1
mov dword [ebp - 0x1aa4], 0xffffffff
mov dword [ebp - 0x1aa8], 0
jmp 0x4c4074
mov ecx, dword [ebp - 0x1aa8]
add ecx, 1
mov dword [ebp - 0x1aa8], ecx
cmp dword [ebp - 0x1aa8], 3
jge 0x4c40a6
mov eax, dword [ebp - 0x1aa8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c409b
mov edx, dword [ebp - 0x1aa4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4c4065
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c40c6
mov edx, 1
test edx, edx
je 0x4c4100
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1aac], eax
mov eax, dword [ebp - 0x1aac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c40f2
jmp 0x4c4100
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1aac]
mov dword [ebp - 0x1c], edx
jmp 0x4c40c6
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4c4140
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ab0], eax
mov eax, dword [ebp - 0x1ab0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c4132
jmp 0x4c4140
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ab0]
mov dword [ebp - 0x1c], edx
jmp 0x4c4106
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4c4183
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ab4], eax
mov eax, dword [ebp - 0x1ab4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c4175
jmp 0x4c4183
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ab4]
mov dword [ebp - 0x1c], edx
jmp 0x4c4149
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4c41c3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ab8], eax
mov eax, dword [ebp - 0x1ab8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c41b5
jmp 0x4c41c3
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ab8]
mov dword [ebp - 0x1c], edx
jmp 0x4c4189
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1abc], 0
jmp 0x4c41e4
mov ecx, dword [ebp - 0x1abc]
add ecx, 1
mov dword [ebp - 0x1abc], ecx
cmp dword [ebp - 0x1abc], 1
jge 0x4c41fb
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1abc]
mov dword [ebp - 0x1c], edx
jmp 0x4c41d5
cmp dword [ebp - 0x1c], 0
jge 0x4c4209
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 0x4c4221
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ac0], 0
jmp 0x4c423c
mov edx, dword [ebp - 0x1ac0]
add edx, 1
mov dword [ebp - 0x1ac0], edx
cmp dword [ebp - 0x1ac0], 1
jge 0x4c4253
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1ac0]
mov dword [ebp - 0x1c], eax
jmp 0x4c422d
cmp dword [ebp - 0x1c], 0
jge 0x4c4261
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 0x4c4279
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x1ac4], 0xffffffff
mov dword [ebp - 0x1ac8], 0
jmp 0x4c42a5