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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x513860
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1280
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 0x4c8ea9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x1d
jge 0x4c8ee7
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c8ecf
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c8edc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4c8ee5
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4c8ea0
mov dword [ebp - 0x24], 0
jmp 0x4c8ef9
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x11
jge 0x4c8f37
cmp dword [ebp - 0x1c], 0
jge 0x4c8f0d
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 0x4c8f23
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c8ef0
mov dword [ebp - 4], 0
mov dword [ebp - 0x224], 0xffffffff
mov dword [ebp - 0x228], 0
jmp 0x4c8f63
mov eax, dword [ebp - 0x228]
add eax, 1
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 5
jge 0x4c8f95
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c8f8a
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 0x4c8f54
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c8fb5
mov dword [ebp - 4], 1
mov dword [ebp - 0x22c], 0xffffffff
mov dword [ebp - 0x230], 0
jmp 0x4c8fe1
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 0xd
jge 0x4c9013
mov eax, dword [ebp - 0x230]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c9008
mov edx, dword [ebp - 0x22c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4c8fd2
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c9033
mov edx, 1
test edx, edx
je 0x4c906d
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 0x4c905f
jmp 0x4c906d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4c9033
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x4c9091
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x13
jge 0x4c90de
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c90c0
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c90d0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x4c90dc
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x238]
mov dword [ebp - 0x1c], eax
jmp 0x4c9082
mov dword [ebp - 0x23c], 0
jmp 0x4c90f9
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 9
jge 0x4c913a
cmp dword [ebp - 0x1c], 0
jge 0x4c9110
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 0x4c9126
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c90ea
mov eax, 1
test eax, eax
je 0x4c9174
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 0x4c9166
jmp 0x4c9174
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x4c913a
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x440], 0xffffffff
mov dword [ebp - 0x444], 0
jmp 0x4c91a9
mov ecx, dword [ebp - 0x444]
add ecx, 1
mov dword [ebp - 0x444], ecx
cmp dword [ebp - 0x444], 0xd
jge 0x4c91db
mov eax, dword [ebp - 0x444]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c91d0
mov edx, dword [ebp - 0x440]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4c919a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c91fb
mov dword [ebp - 0x448], 0
jmp 0x4c9216
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0xf
jge 0x4c922d
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x448]
mov dword [ebp - 0x1c], eax
jmp 0x4c9207
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c923f
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 0x4c9257
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44c], 0
jmp 0x4c9272
mov edx, dword [ebp - 0x44c]
add edx, 1
mov dword [ebp - 0x44c], edx
cmp dword [ebp - 0x44c], 0x10
jge 0x4c92b3
cmp dword [ebp - 0x1c], 0
jge 0x4c9289
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 0x4c929f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x648]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c9263
mov dword [ebp - 0x64c], 0
jmp 0x4c92ce
mov eax, dword [ebp - 0x64c]
add eax, 1
mov dword [ebp - 0x64c], eax
cmp dword [ebp - 0x64c], 0xf
jge 0x4c931b
cmp dword [ebp - 0x1c], 0
jge 0x4c92e5
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 0x4c92fb
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 0x4c92bf
mov dword [ebp - 0x84c], 0
jmp 0x4c9336
mov ecx, dword [ebp - 0x84c]
add ecx, 1
mov dword [ebp - 0x84c], ecx
cmp dword [ebp - 0x84c], 0x10
jge 0x4c934d
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], edx
jmp 0x4c9327
cmp dword [ebp - 0x1c], 0
jge 0x4c935b
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 0x4c9373
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x850], 0
jmp 0x4c938e
mov edx, dword [ebp - 0x850]
add edx, 1
mov dword [ebp - 0x850], edx
cmp dword [ebp - 0x850], 6
jge 0x4c93db
mov eax, dword [ebp - 0x850]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c93bd
mov eax, dword [ebp - 0x850]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c93cd
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x850]
mov dword [ebp - 0x1c], edx
jmp 0x4c93d9
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x850]
mov dword [ebp - 0x1c], eax
jmp 0x4c937f
mov dword [ebp - 0x854], 0
jmp 0x4c93f6
mov ecx, dword [ebp - 0x854]
add ecx, 1
mov dword [ebp - 0x854], ecx
cmp dword [ebp - 0x854], 0xe
jge 0x4c940d
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x854]
mov dword [ebp - 0x1c], edx
jmp 0x4c93e7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c941f
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 0x4c9437
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x858], 0
jmp 0x4c9452
mov edx, dword [ebp - 0x858]
add edx, 1
mov dword [ebp - 0x858], edx
cmp dword [ebp - 0x858], 2
jge 0x4c949f
mov eax, dword [ebp - 0x858]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c9481
mov eax, dword [ebp - 0x858]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c9491
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x858]
mov dword [ebp - 0x1c], edx
jmp 0x4c949d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x858]
mov dword [ebp - 0x1c], eax
jmp 0x4c9443
mov dword [ebp - 0x85c], 0
jmp 0x4c94ba
mov ecx, dword [ebp - 0x85c]
add ecx, 1
mov dword [ebp - 0x85c], ecx
cmp dword [ebp - 0x85c], 3
jge 0x4c9507
cmp dword [ebp - 0x1c], 0
jge 0x4c94d1
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 0x4c94e7
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 0x4c94ab
mov dword [ebp - 0xa5c], 0
jmp 0x4c9522
mov ecx, dword [ebp - 0xa5c]
add ecx, 1
mov dword [ebp - 0xa5c], ecx
cmp dword [ebp - 0xa5c], 0xd
jge 0x4c9539
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], edx
jmp 0x4c9513
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c954b
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 0x4c9563
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa60], 0
jmp 0x4c957e
mov edx, dword [ebp - 0xa60]
add edx, 1
mov dword [ebp - 0xa60], edx
cmp dword [ebp - 0xa60], 0xb
jge 0x4c95cb
cmp dword [ebp - 0x1c], 0
jge 0x4c9595
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 0x4c95ab
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa64], 0xfa
lea edx, [ebp - 0xa64]
push edx
lea eax, [ebp - 0xc60]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c956f
mov dword [ebp - 0xc64], 0
jmp 0x4c95e6
mov ecx, dword [ebp - 0xc64]
add ecx, 1
mov dword [ebp - 0xc64], ecx
cmp dword [ebp - 0xc64], 2
jge 0x4c9627
cmp dword [ebp - 0x1c], 0
jge 0x4c95fd
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 0x4c9613
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe60]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c95d7
mov dword [ebp - 0xe64], 0
jmp 0x4c9642
mov eax, dword [ebp - 0xe64]
add eax, 1
mov dword [ebp - 0xe64], eax
cmp dword [ebp - 0xe64], 0
jge 0x4c9683
cmp dword [ebp - 0x1c], 0
jge 0x4c9659
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 0x4c966f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1060]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c9633
mov dword [ebp - 0x1064], 0
jmp 0x4c969e
mov eax, dword [ebp - 0x1064]
add eax, 1
mov dword [ebp - 0x1064], eax
cmp dword [ebp - 0x1064], 3
jge 0x4c96b5
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1064]
mov dword [ebp - 0x1c], ecx
jmp 0x4c968f
cmp dword [ebp - 0x1c], 0
jge 0x4c96c3
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 0x4c96db
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1068], 0
jmp 0x4c96f6
mov edx, dword [ebp - 0x1068]
add edx, 1
mov dword [ebp - 0x1068], edx
cmp dword [ebp - 0x1068], 9
jge 0x4c970d
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1068]
mov dword [ebp - 0x1c], eax
jmp 0x4c96e7
cmp dword [ebp - 0x1c], 0
jge 0x4c971b
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 0x4c9733
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x106c], 0
jmp 0x4c974e
mov edx, dword [ebp - 0x106c]
add edx, 1
mov dword [ebp - 0x106c], edx
cmp dword [ebp - 0x106c], 8
jge 0x4c9765
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x106c]
mov dword [ebp - 0x1c], eax
jmp 0x4c973f
cmp dword [ebp - 0x1c], 0
jge 0x4c9773
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 0x4c978b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x1070], 0xffffffff
mov dword [ebp - 0x1074], 0
jmp 0x4c97b7
mov edx, dword [ebp - 0x1074]
add edx, 1
mov dword [ebp - 0x1074], edx
cmp dword [ebp - 0x1074], 8
jge 0x4c97e9
mov eax, dword [ebp - 0x1074]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c97de
mov edx, dword [ebp - 0x1070]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4c97a8
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c9809
mov dword [ebp - 0x1078], 0
jmp 0x4c9824
mov edx, dword [ebp - 0x1078]
add edx, 1
mov dword [ebp - 0x1078], edx
cmp dword [ebp - 0x1078], 2
jge 0x4c9871
mov eax, dword [ebp - 0x1078]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c9853
mov eax, dword [ebp - 0x1078]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c9863
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1078]
mov dword [ebp - 0x1c], edx
jmp 0x4c986f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1078]
mov dword [ebp - 0x1c], eax
jmp 0x4c9815
mov dword [ebp - 0x107c], 0
jmp 0x4c988c
mov ecx, dword [ebp - 0x107c]
add ecx, 1
mov dword [ebp - 0x107c], ecx
cmp dword [ebp - 0x107c], 2
jge 0x4c98a3
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x107c]
mov dword [ebp - 0x1c], edx
jmp 0x4c987d
cmp dword [ebp - 0x1c], 0
jge 0x4c98b1
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 0x4c98c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x1080], 0xffffffff
mov dword [ebp - 0x1084], 0
jmp 0x4c98f5
mov edx, dword [ebp - 0x1084]
add edx, 1
mov dword [ebp - 0x1084], edx
cmp dword [ebp - 0x1084], 5
jge 0x4c9927
mov eax, dword [ebp - 0x1084]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c991c
mov edx, dword [ebp - 0x1080]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4c98e6
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c9947
mov dword [ebp - 4], 5
mov dword [ebp - 0x1088], 0xffffffff
mov dword [ebp - 0x108c], 0
jmp 0x4c9973
mov edx, dword [ebp - 0x108c]
add edx, 1
mov dword [ebp - 0x108c], edx
cmp dword [ebp - 0x108c], 0
jge 0x4c99a5
mov eax, dword [ebp - 0x108c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c999a
mov edx, dword [ebp - 0x1088]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4c9964
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c99c5
mov dword [ebp - 0x1090], 0
jmp 0x4c99e0
mov edx, dword [ebp - 0x1090]
add edx, 1
mov dword [ebp - 0x1090], edx
cmp dword [ebp - 0x1090], 5
jge 0x4c99f7
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1090]
mov dword [ebp - 0x1c], eax
jmp 0x4c99d1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c9a09
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 0x4c9a21
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1094], 0
jmp 0x4c9a3c
mov edx, dword [ebp - 0x1094]
add edx, 1
mov dword [ebp - 0x1094], edx
cmp dword [ebp - 0x1094], 1
jge 0x4c9a53
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], eax
jmp 0x4c9a2d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c9a65
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 0x4c9a7d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1098], 0
jmp 0x4c9a98
mov edx, dword [ebp - 0x1098]
add edx, 1
mov dword [ebp - 0x1098], edx
cmp dword [ebp - 0x1098], 0
jge 0x4c9ae5
cmp dword [ebp - 0x1c], 0
jge 0x4c9aaf
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 0x4c9ac5
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x109c], 0xfa
lea edx, [ebp - 0x109c]
push edx
lea eax, [ebp - 0x1298]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c9a89
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x28]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret