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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x510080
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2d38
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 0x41c329
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x2e
jge 0x41c36d
cmp dword [ebp - 0x1c], 0
jge 0x41c33d
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 0x41c353
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0xfa
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x41c320
mov dword [ebp - 0x224], 0
jmp 0x41c388
mov ecx, dword [ebp - 0x224]
add ecx, 1
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 3
jge 0x41c3d5
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x41c3b7
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x41c3c7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x41c3d3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x224]
mov dword [ebp - 0x1c], eax
jmp 0x41c379
mov ecx, 1
test ecx, ecx
je 0x41c40f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x228]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x41c401
jmp 0x41c40f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x228]
mov dword [ebp - 0x1c], edx
jmp 0x41c3d5
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x22c], 0
jmp 0x41c433
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x22c], 0xc
jge 0x41c480
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x41c462
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x41c472
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x41c47e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
jmp 0x41c424
mov dword [ebp - 4], 0
mov dword [ebp - 0x230], 0xffffffff
mov dword [ebp - 0x234], 0
jmp 0x41c4ac
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 0xa
jge 0x41c4de
mov eax, dword [ebp - 0x234]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x41c4d3
mov edx, dword [ebp - 0x230]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x41c49d
mov dword [ebp - 4], 0xfffffffe
jmp 0x41c4fe
mov dword [ebp - 0x238], 0
jmp 0x41c519
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 1
jge 0x41c566
cmp dword [ebp - 0x1c], 0
jge 0x41c530
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 0x41c546
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x23c], 0xfa
lea edx, [ebp - 0x23c]
push edx
lea eax, [ebp - 0x438]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x41c50a
mov dword [ebp - 0x43c], 0
jmp 0x41c581
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 1
jge 0x41c598
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x41c572
cmp dword [ebp - 0x1c], 0
jge 0x41c5a6
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 0x41c5be
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x440], 0
jmp 0x41c5d9
mov edx, dword [ebp - 0x440]
add edx, 1
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 7
jge 0x41c5f0
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x440]
mov dword [ebp - 0x1c], eax
jmp 0x41c5ca
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x41c602
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 0x41c61a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x444], 0
jmp 0x41c635
mov edx, dword [ebp - 0x444]
add edx, 1
mov dword [ebp - 0x444], edx
cmp dword [ebp - 0x444], 0x10
jge 0x41c64c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x444]
mov dword [ebp - 0x1c], eax
jmp 0x41c626
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x41c65e
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 0x41c676
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x448], 0
jmp 0x41c691
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0xc
jge 0x41c6de
cmp dword [ebp - 0x1c], 0
jge 0x41c6a8
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 0x41c6be
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x44c], 0xfa
lea edx, [ebp - 0x44c]
push edx
lea eax, [ebp - 0x648]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x41c682
mov dword [ebp - 0x64c], 0
jmp 0x41c6f9
mov ecx, dword [ebp - 0x64c]
add ecx, 1
mov dword [ebp - 0x64c], ecx
cmp dword [ebp - 0x64c], 5
jge 0x41c746
mov eax, dword [ebp - 0x64c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x41c728
mov eax, dword [ebp - 0x64c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x41c738
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x64c]
mov dword [ebp - 0x1c], edx
jmp 0x41c744
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x64c]
mov dword [ebp - 0x1c], eax
jmp 0x41c6ea
mov dword [ebp - 4], 1
mov dword [ebp - 0x650], 0xffffffff
mov dword [ebp - 0x654], 0
jmp 0x41c772
mov ecx, dword [ebp - 0x654]
add ecx, 1
mov dword [ebp - 0x654], ecx
cmp dword [ebp - 0x654], 3
jge 0x41c7a4
mov eax, dword [ebp - 0x654]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x41c799
mov edx, dword [ebp - 0x650]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x41c763
mov dword [ebp - 4], 0xfffffffe
jmp 0x41c7c4
mov dword [ebp - 0x658], 0
jmp 0x41c7df
mov edx, dword [ebp - 0x658]
add edx, 1
mov dword [ebp - 0x658], edx
cmp dword [ebp - 0x658], 5
jge 0x41c82c
cmp dword [ebp - 0x1c], 0
jge 0x41c7f6
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 0x41c80c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x65c], 0xfa
lea edx, [ebp - 0x65c]
push edx
lea eax, [ebp - 0x858]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x41c7d0
mov dword [ebp - 0x85c], 0
jmp 0x41c847
mov ecx, dword [ebp - 0x85c]
add ecx, 1
mov dword [ebp - 0x85c], ecx
cmp dword [ebp - 0x85c], 0xb
jge 0x41c85e
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], edx
jmp 0x41c838
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x41c870
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 0x41c888
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x860], 0
jmp 0x41c8a3
mov edx, dword [ebp - 0x860]
add edx, 1
mov dword [ebp - 0x860], edx
cmp dword [ebp - 0x860], 6
jge 0x41c8e4
cmp dword [ebp - 0x1c], 0
jge 0x41c8ba
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 0x41c8d0
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa58]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x41c894
mov dword [ebp - 0xa5c], 0
jmp 0x41c8ff
mov eax, dword [ebp - 0xa5c]
add eax, 1
mov dword [ebp - 0xa5c], eax
cmp dword [ebp - 0xa5c], 7
jge 0x41c940
cmp dword [ebp - 0x1c], 0
jge 0x41c916
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 0x41c92c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc58]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x41c8f0
mov eax, 1
test eax, eax
je 0x41c97a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc5c], eax
mov eax, dword [ebp - 0xc5c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x41c96c
jmp 0x41c97a
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc5c]
mov dword [ebp - 0x1c], edx
jmp 0x41c940
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x41c9bd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc60], eax
mov eax, dword [ebp - 0xc60]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x41c9af
jmp 0x41c9bd
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc60]
mov dword [ebp - 0x1c], edx
jmp 0x41c983
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc64], 0
jmp 0x41c9e1
mov ecx, dword [ebp - 0xc64]
add ecx, 1
mov dword [ebp - 0xc64], ecx
cmp dword [ebp - 0xc64], 8
jge 0x41c9f8
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc64]
mov dword [ebp - 0x1c], edx
jmp 0x41c9d2
cmp dword [ebp - 0x1c], 0
jge 0x41ca06
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 0x41ca1e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc68], 0
jmp 0x41ca39
mov edx, dword [ebp - 0xc68]
add edx, 1
mov dword [ebp - 0xc68], edx
cmp dword [ebp - 0xc68], 1
jge 0x41ca86
cmp dword [ebp - 0x1c], 0
jge 0x41ca50
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 0x41ca66
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc6c], 0xfa
lea edx, [ebp - 0xc6c]
push edx
lea eax, [ebp - 0xe68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x41ca2a
mov dword [ebp - 0xe6c], 0
jmp 0x41caa1
mov ecx, dword [ebp - 0xe6c]
add ecx, 1
mov dword [ebp - 0xe6c], ecx
cmp dword [ebp - 0xe6c], 0
jge 0x41cab8
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], edx
jmp 0x41ca92
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x41caca
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 0x41cae2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe70], 0
jmp 0x41cafd
mov edx, dword [ebp - 0xe70]
add edx, 1
mov dword [ebp - 0xe70], edx
cmp dword [ebp - 0xe70], 4
jge 0x41cb3e
cmp dword [ebp - 0x1c], 0
jge 0x41cb14
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 0x41cb2a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1068]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x41caee
mov dword [ebp - 4], 2
mov dword [ebp - 0x106c], 0xffffffff
mov dword [ebp - 0x1070], 0
jmp 0x41cb6a
mov eax, dword [ebp - 0x1070]
add eax, 1
mov dword [ebp - 0x1070], eax
cmp dword [ebp - 0x1070], 5
jge 0x41cb9c
mov eax, dword [ebp - 0x1070]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x41cb91
mov edx, dword [ebp - 0x106c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x41cb5b
mov dword [ebp - 4], 0xfffffffe
jmp 0x41cbbc
mov dword [ebp - 4], 3
mov dword [ebp - 0x1074], 0xffffffff
mov dword [ebp - 0x1078], 0
jmp 0x41cbe8
mov edx, dword [ebp - 0x1078]
add edx, 1
mov dword [ebp - 0x1078], edx
cmp dword [ebp - 0x1078], 7
jge 0x41cc1a
mov eax, dword [ebp - 0x1078]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x41cc0f
mov edx, dword [ebp - 0x1074]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x41cbd9
mov dword [ebp - 4], 0xfffffffe
jmp 0x41cc3a
mov dword [ebp - 0x107c], 0
jmp 0x41cc55
mov edx, dword [ebp - 0x107c]
add edx, 1
mov dword [ebp - 0x107c], edx
cmp dword [ebp - 0x107c], 6
jge 0x41cc96
cmp dword [ebp - 0x1c], 0
jge 0x41cc6c
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 0x41cc82
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1278]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x41cc46
mov dword [ebp - 4], 4
mov dword [ebp - 0x127c], 0xffffffff
mov dword [ebp - 0x1280], 0
jmp 0x41ccc2
mov eax, dword [ebp - 0x1280]
add eax, 1
mov dword [ebp - 0x1280], eax
cmp dword [ebp - 0x1280], 1
jge 0x41ccf4
mov eax, dword [ebp - 0x1280]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x41cce9
mov edx, dword [ebp - 0x127c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x41ccb3
mov dword [ebp - 4], 0xfffffffe
jmp 0x41cd14
mov dword [ebp - 4], 5
mov dword [ebp - 0x1284], 0xffffffff
mov dword [ebp - 0x1288], 0
jmp 0x41cd40
mov edx, dword [ebp - 0x1288]
add edx, 1
mov dword [ebp - 0x1288], edx
cmp dword [ebp - 0x1288], 6
jge 0x41cd72
mov eax, dword [ebp - 0x1288]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x41cd67
mov edx, dword [ebp - 0x1284]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x41cd31
mov dword [ebp - 4], 0xfffffffe
jmp 0x41cd92
mov dword [ebp - 0x128c], 0
jmp 0x41cdad
mov edx, dword [ebp - 0x128c]
add edx, 1
mov dword [ebp - 0x128c], edx
cmp dword [ebp - 0x128c], 6
jge 0x41cdfa
cmp dword [ebp - 0x1c], 0
jge 0x41cdc4
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 0x41cdda
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1290], 0xfa
lea edx, [ebp - 0x1290]
push edx
lea eax, [ebp - 0x1488]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x41cd9e
mov ecx, 1
test ecx, ecx
je 0x41ce34
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x148c], eax
mov eax, dword [ebp - 0x148c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x41ce26
jmp 0x41ce34
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x148c]
mov dword [ebp - 0x1c], edx
jmp 0x41cdfa
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1490], 0
jmp 0x41ce58
mov ecx, dword [ebp - 0x1490]
add ecx, 1
mov dword [ebp - 0x1490], ecx
cmp dword [ebp - 0x1490], 6
jge 0x41ce99
cmp dword [ebp - 0x1c], 0
jge 0x41ce6f
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 0x41ce85
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1688]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x41ce49
mov dword [ebp - 0x168c], 0
jmp 0x41ceb4
mov eax, dword [ebp - 0x168c]
add eax, 1
mov dword [ebp - 0x168c], eax
cmp dword [ebp - 0x168c], 6
jge 0x41cecb
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x168c]
mov dword [ebp - 0x1c], ecx
jmp 0x41cea5
cmp dword [ebp - 0x1c], 0
jge 0x41ced9
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 0x41cef1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1690], 0
jmp 0x41cf0c
mov edx, dword [ebp - 0x1690]
add edx, 1
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 6
jge 0x41cf59
mov eax, dword [ebp - 0x1690]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x41cf3b
mov eax, dword [ebp - 0x1690]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x41cf4b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1690]
mov dword [ebp - 0x1c], edx
jmp 0x41cf57
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1690]
mov dword [ebp - 0x1c], eax
jmp 0x41cefd
mov dword [ebp - 0x1694], 0
jmp 0x41cf74
mov ecx, dword [ebp - 0x1694]
add ecx, 1
mov dword [ebp - 0x1694], ecx
cmp dword [ebp - 0x1694], 4
jge 0x41cfc1
mov eax, dword [ebp - 0x1694]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x41cfa3
mov eax, dword [ebp - 0x1694]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x41cfb3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1694]
mov dword [ebp - 0x1c], edx
jmp 0x41cfbf
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1694]
mov dword [ebp - 0x1c], eax
jmp 0x41cf65
mov dword [ebp - 0x1698], 0
jmp 0x41cfdc
mov ecx, dword [ebp - 0x1698]
add ecx, 1
mov dword [ebp - 0x1698], ecx
cmp dword [ebp - 0x1698], 8
jge 0x41d01d
cmp dword [ebp - 0x1c], 0
jge 0x41cff3
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 0x41d009
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1890]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x41cfcd
mov dword [ebp - 0x1894], 0
jmp 0x41d038
mov eax, dword [ebp - 0x1894]
add eax, 1
mov dword [ebp - 0x1894], eax
cmp dword [ebp - 0x1894], 3
jge 0x41d085
mov eax, dword [ebp - 0x1894]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x41d067
mov eax, dword [ebp - 0x1894]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x41d077
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1894]
mov dword [ebp - 0x1c], edx
jmp 0x41d083
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1894]
mov dword [ebp - 0x1c], eax
jmp 0x41d029
mov dword [ebp - 0x1898], 0
jmp 0x41d0a0
mov ecx, dword [ebp - 0x1898]
add ecx, 1
mov dword [ebp - 0x1898], ecx
cmp dword [ebp - 0x1898], 6
jge 0x41d0b7
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1898]
mov dword [ebp - 0x1c], edx
jmp 0x41d091
cmp dword [ebp - 0x1c], 0
jge 0x41d0c5
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 0x41d0dd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x189c], 0
jmp 0x41d0f8
mov edx, dword [ebp - 0x189c]
add edx, 1
mov dword [ebp - 0x189c], edx
cmp dword [ebp - 0x189c], 1
jge 0x41d145
mov eax, dword [ebp - 0x189c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x41d127
mov eax, dword [ebp - 0x189c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x41d137
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x189c]
mov dword [ebp - 0x1c], edx
jmp 0x41d143
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x189c]
mov dword [ebp - 0x1c], eax
jmp 0x41d0e9
mov dword [ebp - 4], 6
mov dword [ebp - 0x18a0], 0xffffffff
mov dword [ebp - 0x18a4], 0
jmp 0x41d171
mov ecx, dword [ebp - 0x18a4]
add ecx, 1
mov dword [ebp - 0x18a4], ecx
cmp dword [ebp - 0x18a4], 8
jge 0x41d1a3
mov eax, dword [ebp - 0x18a4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x41d198
mov edx, dword [ebp - 0x18a0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x41d162
mov dword [ebp - 4], 0xfffffffe
jmp 0x41d1c3
mov edx, 1
test edx, edx
je 0x41d1fd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18a8], eax
mov eax, dword [ebp - 0x18a8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x41d1ef
jmp 0x41d1fd
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18a8]
mov dword [ebp - 0x1c], edx
jmp 0x41d1c3
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
mov dword [ebp - 0x18ac], 0xffffffff
mov dword [ebp - 0x18b0], 0
jmp 0x41d232
mov ecx, dword [ebp - 0x18b0]
add ecx, 1
mov dword [ebp - 0x18b0], ecx
cmp dword [ebp - 0x18b0], 1
jge 0x41d264
mov eax, dword [ebp - 0x18b0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x41d259
mov edx, dword [ebp - 0x18ac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x41d223
mov dword [ebp - 4], 0xfffffffe
jmp 0x41d284
mov dword [ebp - 0x18b4], 0
jmp 0x41d29f
mov edx, dword [ebp - 0x18b4]
add edx, 1
mov dword [ebp - 0x18b4], edx
cmp dword [ebp - 0x18b4], 2
jge 0x41d2b6
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x18b4]
mov dword [ebp - 0x1c], eax
jmp 0x41d290
cmp dword [ebp - 0x1c], 0
jge 0x41d2c4
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 0x41d2dc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18b8], 0
jmp 0x41d2f7
mov edx, dword [ebp - 0x18b8]
add edx, 1
mov dword [ebp - 0x18b8], edx
cmp dword [ebp - 0x18b8], 1
jge 0x41d344
cmp dword [ebp - 0x1c], 0
jge 0x41d30e
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 0x41d324
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18bc], 0xfa
lea edx, [ebp - 0x18bc]
push edx
lea eax, [ebp - 0x1ab8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x41d2e8
mov dword [ebp - 0x1abc], 0
jmp 0x41d35f
mov ecx, dword [ebp - 0x1abc]
add ecx, 1
mov dword [ebp - 0x1abc], ecx
cmp dword [ebp - 0x1abc], 1
jge 0x41d3ac
cmp dword [ebp - 0x1c], 0
jge 0x41d376
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 0x41d38c
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 0x41d350
mov dword [ebp - 0x1cbc], 0
jmp 0x41d3c7
mov ecx, dword [ebp - 0x1cbc]
add ecx, 1
mov dword [ebp - 0x1cbc], ecx
cmp dword [ebp - 0x1cbc], 0
jge 0x41d414
mov eax, dword [ebp - 0x1cbc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x41d3f6
mov eax, dword [ebp - 0x1cbc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x41d406
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1cbc]
mov dword [ebp - 0x1c], edx
jmp 0x41d412
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1cbc]
mov dword [ebp - 0x1c], eax
jmp 0x41d3b8
mov dword [ebp - 0x1cc0], 0
jmp 0x41d42f
mov ecx, dword [ebp - 0x1cc0]
add ecx, 1
mov dword [ebp - 0x1cc0], ecx
cmp dword [ebp - 0x1cc0], 2
jge 0x41d446
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1cc0]
mov dword [ebp - 0x1c], edx
jmp 0x41d420
cmp dword [ebp - 0x1c], 0
jge 0x41d454
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 0x41d46c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x41d4a6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1cc4], eax
mov eax, dword [ebp - 0x1cc4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x41d498
jmp 0x41d4a6
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1cc4]
mov dword [ebp - 0x1c], edx
jmp 0x41d46c
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x1cc8], 0xffffffff
mov dword [ebp - 0x1ccc], 0
jmp 0x41d4db
mov ecx, dword [ebp - 0x1ccc]
add ecx, 1
mov dword [ebp - 0x1ccc], ecx
cmp dword [ebp - 0x1ccc], 4
jge 0x41d50d
mov eax, dword [ebp - 0x1ccc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x41d502
mov edx, dword [ebp - 0x1cc8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x41d4cc
mov dword [ebp - 4], 0xfffffffe
jmp 0x41d52d
mov dword [ebp - 0x1cd0], 0
jmp 0x41d548
mov edx, dword [ebp - 0x1cd0]
add edx, 1
mov dword [ebp - 0x1cd0], edx
cmp dword [ebp - 0x1cd0], 0
jge 0x41d55f
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1cd0]
mov dword [ebp - 0x1c], eax
jmp 0x41d539
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x41d571
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 0x41d589
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 9
mov dword [ebp - 0x1cd4], 0xffffffff
mov dword [ebp - 0x1cd8], 0
jmp 0x41d5b5
mov edx, dword [ebp - 0x1cd8]
add edx, 1
mov dword [ebp - 0x1cd8], edx
cmp dword [ebp - 0x1cd8], 4
jge 0x41d5e7
mov eax, dword [ebp - 0x1cd8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x41d5dc
mov edx, dword [ebp - 0x1cd4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x41d5a6
mov dword [ebp - 4], 0xfffffffe
jmp 0x41d607
mov dword [ebp - 0x1cdc], 0
jmp 0x41d622
mov edx, dword [ebp - 0x1cdc]
add edx, 1
mov dword [ebp - 0x1cdc], edx
cmp dword [ebp - 0x1cdc], 4
jge 0x41d639
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1cdc]
mov dword [ebp - 0x1c], eax
jmp 0x41d613
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x41d64b
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 0x41d663
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ce0], 0
jmp 0x41d67e