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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x50ff90
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x28f8
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x24], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
jmp 0x418d49
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x25
jge 0x418d87
cmp dword [ebp - 0x1c], 0
jge 0x418d5d
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 0x418d73
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x418d40
mov dword [ebp - 0x224], 0
jmp 0x418da2
mov eax, dword [ebp - 0x224]
add eax, 1
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0x2e
jge 0x418def
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x418dd1
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x418de1
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x418ded
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x224]
mov dword [ebp - 0x1c], eax
jmp 0x418d93
mov dword [ebp - 0x228], 0
jmp 0x418e0a
mov ecx, dword [ebp - 0x228]
add ecx, 1
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 0x1f
jge 0x418e57
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x418e39
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x418e49
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x228]
mov dword [ebp - 0x1c], edx
jmp 0x418e55
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x228]
mov dword [ebp - 0x1c], eax
jmp 0x418dfb
mov dword [ebp - 0x22c], 0
jmp 0x418e72
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x22c], 0x13
jge 0x418ebf
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x418ea1
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x418eb1
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x418ebd
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
jmp 0x418e63
mov dword [ebp - 0x230], 0
jmp 0x418eda
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 7
jge 0x418f27
cmp dword [ebp - 0x1c], 0
jge 0x418ef1
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 0x418f07
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x234], 0xfa
lea edx, [ebp - 0x234]
push edx
lea eax, [ebp - 0x430]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x418ecb
mov ecx, 1
test ecx, ecx
je 0x418f61
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x434]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x418f53
jmp 0x418f61
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x434]
mov dword [ebp - 0x1c], edx
jmp 0x418f27
mov eax, dword [ebp - 0x1c]
add eax, 0x12
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x438], 0
jmp 0x418f85
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
cmp dword [ebp - 0x438], 0xb
jge 0x418fd2
mov eax, dword [ebp - 0x438]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x418fb4
mov eax, dword [ebp - 0x438]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x418fc4
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x438]
mov dword [ebp - 0x1c], edx
jmp 0x418fd0
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x438]
mov dword [ebp - 0x1c], eax
jmp 0x418f76
mov dword [ebp - 0x43c], 0
jmp 0x418fed
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 5
jge 0x419004
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x418fde
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x419016
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 0x41902e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x440], 0
jmp 0x419049
mov edx, dword [ebp - 0x440]
add edx, 1
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 9
jge 0x419096
cmp dword [ebp - 0x1c], 0
jge 0x419060
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 0x419076
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x444], 0xfa
lea edx, [ebp - 0x444]
push edx
lea eax, [ebp - 0x640]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x41903a
mov dword [ebp - 0x644], 0
jmp 0x4190b1
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
cmp dword [ebp - 0x644], 7
jge 0x4190fe
mov eax, dword [ebp - 0x644]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4190e0
mov eax, dword [ebp - 0x644]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4190f0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x644]
mov dword [ebp - 0x1c], edx
jmp 0x4190fc
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x644]
mov dword [ebp - 0x1c], eax
jmp 0x4190a2
mov ecx, 1
test ecx, ecx
je 0x419138
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x648], eax
mov eax, dword [ebp - 0x648]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x41912a
jmp 0x419138
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x648]
mov dword [ebp - 0x1c], edx
jmp 0x4190fe
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x64c], 0
jmp 0x41915c
mov ecx, dword [ebp - 0x64c]
add ecx, 1
mov dword [ebp - 0x64c], ecx
cmp dword [ebp - 0x64c], 6
jge 0x419173
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x64c]
mov dword [ebp - 0x1c], edx
jmp 0x41914d
cmp dword [ebp - 0x1c], 0
jge 0x419181
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 0x419199
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4191d3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x650], eax
mov eax, dword [ebp - 0x650]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4191c5
jmp 0x4191d3
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x650]
mov dword [ebp - 0x1c], edx
jmp 0x419199
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x419216
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 0x419208
jmp 0x419216
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x654]
mov dword [ebp - 0x1c], edx
jmp 0x4191dc
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x419259
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x658], eax
mov eax, dword [ebp - 0x658]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x41924b
jmp 0x419259
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x658]
mov dword [ebp - 0x1c], edx
jmp 0x41921f
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x41929c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x65c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x41928e
jmp 0x41929c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x65c]
mov dword [ebp - 0x1c], edx
jmp 0x419262
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x660], 0
jmp 0x4192c0
mov ecx, dword [ebp - 0x660]
add ecx, 1
mov dword [ebp - 0x660], ecx
cmp dword [ebp - 0x660], 8
jge 0x4192d7
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x660]
mov dword [ebp - 0x1c], edx
jmp 0x4192b1
cmp dword [ebp - 0x1c], 0
jge 0x4192e5
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 0x4192fd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x419337
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x664], eax
mov eax, dword [ebp - 0x664]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x419329
jmp 0x419337
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x664]
mov dword [ebp - 0x1c], edx
jmp 0x4192fd
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x668], 0
jmp 0x41935b
mov ecx, dword [ebp - 0x668]
add ecx, 1
mov dword [ebp - 0x668], ecx
cmp dword [ebp - 0x668], 4
jge 0x4193a8
mov eax, dword [ebp - 0x668]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x41938a
mov eax, dword [ebp - 0x668]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x41939a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x668]
mov dword [ebp - 0x1c], edx
jmp 0x4193a6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x668]
mov dword [ebp - 0x1c], eax
jmp 0x41934c
mov dword [ebp - 0x66c], 0
jmp 0x4193c3
mov ecx, dword [ebp - 0x66c]
add ecx, 1
mov dword [ebp - 0x66c], ecx
cmp dword [ebp - 0x66c], 4
jge 0x419410
mov eax, dword [ebp - 0x66c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4193f2
mov eax, dword [ebp - 0x66c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x419402
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x66c]
mov dword [ebp - 0x1c], edx
jmp 0x41940e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x66c]
mov dword [ebp - 0x1c], eax
jmp 0x4193b4
mov dword [ebp - 0x670], 0
jmp 0x41942b
mov ecx, dword [ebp - 0x670]
add ecx, 1
mov dword [ebp - 0x670], ecx
cmp dword [ebp - 0x670], 7
jge 0x419442
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x670]
mov dword [ebp - 0x1c], edx
jmp 0x41941c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x419454
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 0x41946c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x674], 0
jmp 0x419487
mov edx, dword [ebp - 0x674]
add edx, 1
mov dword [ebp - 0x674], edx
cmp dword [ebp - 0x674], 8
jge 0x4194d4
cmp dword [ebp - 0x1c], 0
jge 0x41949e
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 0x4194b4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x678], 0xfa
lea edx, [ebp - 0x678]
push edx
lea eax, [ebp - 0x870]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x419478
mov dword [ebp - 0x874], 0
jmp 0x4194ef
mov ecx, dword [ebp - 0x874]
add ecx, 1
mov dword [ebp - 0x874], ecx
cmp dword [ebp - 0x874], 3
jge 0x41953c
cmp dword [ebp - 0x1c], 0
jge 0x419506
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 0x41951c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x878], 0xfa
lea edx, [ebp - 0x878]
push edx
lea eax, [ebp - 0xa70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4194e0
mov dword [ebp - 0xa74], 0
jmp 0x419557
mov ecx, dword [ebp - 0xa74]
add ecx, 1
mov dword [ebp - 0xa74], ecx
cmp dword [ebp - 0xa74], 4
jge 0x4195a4
cmp dword [ebp - 0x1c], 0
jge 0x41956e
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 0x419584
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 0x419548
mov dword [ebp - 0xc74], 0
jmp 0x4195bf
mov ecx, dword [ebp - 0xc74]
add ecx, 1
mov dword [ebp - 0xc74], ecx
cmp dword [ebp - 0xc74], 4
jge 0x41960c
cmp dword [ebp - 0x1c], 0
jge 0x4195d6
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 0x4195ec
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc78], 0xfa
lea edx, [ebp - 0xc78]
push edx
lea eax, [ebp - 0xe70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4195b0
mov dword [ebp - 0xe74], 0
jmp 0x419627
mov ecx, dword [ebp - 0xe74]
add ecx, 1
mov dword [ebp - 0xe74], ecx
cmp dword [ebp - 0xe74], 3
jge 0x419674
mov eax, dword [ebp - 0xe74]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x419656
mov eax, dword [ebp - 0xe74]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x419666
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe74]
mov dword [ebp - 0x1c], edx
jmp 0x419672
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe74]
mov dword [ebp - 0x1c], eax
jmp 0x419618
mov dword [ebp - 0xe78], 0
jmp 0x41968f
mov ecx, dword [ebp - 0xe78]
add ecx, 1
mov dword [ebp - 0xe78], ecx
cmp dword [ebp - 0xe78], 4
jge 0x4196a6
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe78]
mov dword [ebp - 0x1c], edx
jmp 0x419680
cmp dword [ebp - 0x1c], 0
jge 0x4196b4
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 0x4196cc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe7c], 0
jmp 0x4196e7
mov edx, dword [ebp - 0xe7c]
add edx, 1
mov dword [ebp - 0xe7c], edx
cmp dword [ebp - 0xe7c], 2
jge 0x4196fe
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe7c]
mov dword [ebp - 0x1c], eax
jmp 0x4196d8
cmp dword [ebp - 0x1c], 0
jge 0x41970c
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 0x419724
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe80], 0
jmp 0x41973f
mov edx, dword [ebp - 0xe80]
add edx, 1
mov dword [ebp - 0xe80], edx
cmp dword [ebp - 0xe80], 6
jge 0x419756
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe80]
mov dword [ebp - 0x1c], eax
jmp 0x419730
cmp dword [ebp - 0x1c], 0
jge 0x419764
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 0x41977c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe84], 0
jmp 0x419797
mov edx, dword [ebp - 0xe84]
add edx, 1
mov dword [ebp - 0xe84], edx
cmp dword [ebp - 0xe84], 0
jge 0x4197ae
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe84]
mov dword [ebp - 0x1c], eax
jmp 0x419788
cmp dword [ebp - 0x1c], 0
jge 0x4197bc
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 0x4197d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe88], 0
jmp 0x4197ef
mov edx, dword [ebp - 0xe88]
add edx, 1
mov dword [ebp - 0xe88], edx
cmp dword [ebp - 0xe88], 2
jge 0x419830
cmp dword [ebp - 0x1c], 0
jge 0x419806
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 0x41981c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1080]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4197e0
mov dword [ebp - 0x1084], 0
jmp 0x41984b
mov eax, dword [ebp - 0x1084]
add eax, 1
mov dword [ebp - 0x1084], eax
cmp dword [ebp - 0x1084], 1
jge 0x419862
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1084]
mov dword [ebp - 0x1c], ecx
jmp 0x41983c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x419874
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 0x41988c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1088], 0
jmp 0x4198a7
mov edx, dword [ebp - 0x1088]
add edx, 1
mov dword [ebp - 0x1088], edx
cmp dword [ebp - 0x1088], 0
jge 0x4198f4
cmp dword [ebp - 0x1c], 0
jge 0x4198be
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 0x4198d4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x108c], 0xfa
lea edx, [ebp - 0x108c]
push edx
lea eax, [ebp - 0x1288]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x419898
mov dword [ebp - 0x128c], 0
jmp 0x41990f
mov ecx, dword [ebp - 0x128c]
add ecx, 1
mov dword [ebp - 0x128c], ecx
cmp dword [ebp - 0x128c], 4
jge 0x419950
cmp dword [ebp - 0x1c], 0
jge 0x419926
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 0x41993c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1488]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x419900
mov dword [ebp - 0x148c], 0
jmp 0x41996b
mov eax, dword [ebp - 0x148c]
add eax, 1
mov dword [ebp - 0x148c], eax
cmp dword [ebp - 0x148c], 3
jge 0x419982
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x148c]
mov dword [ebp - 0x1c], ecx
jmp 0x41995c
cmp dword [ebp - 0x1c], 0
jge 0x419990
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 0x4199a8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1490], 0
jmp 0x4199c3
mov edx, dword [ebp - 0x1490]
add edx, 1
mov dword [ebp - 0x1490], edx
cmp dword [ebp - 0x1490], 4
jge 0x4199da
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1490]
mov dword [ebp - 0x1c], eax
jmp 0x4199b4
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4199ec
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 0x419a04
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1494], 0
jmp 0x419a1f
mov edx, dword [ebp - 0x1494]
add edx, 1
mov dword [ebp - 0x1494], edx
cmp dword [ebp - 0x1494], 3
jge 0x419a60
cmp dword [ebp - 0x1c], 0
jge 0x419a36
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 0x419a4c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1690]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x419a10
mov dword [ebp - 0x1694], 0
jmp 0x419a7b
mov eax, dword [ebp - 0x1694]
add eax, 1
mov dword [ebp - 0x1694], eax
cmp dword [ebp - 0x1694], 0
jge 0x419ac8
cmp dword [ebp - 0x1c], 0
jge 0x419a92
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 0x419aa8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1698], 0xfa
lea edx, [ebp - 0x1698]
push edx
lea eax, [ebp - 0x1890]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x419a6c
mov dword [ebp - 0x1894], 0
jmp 0x419ae3
mov ecx, dword [ebp - 0x1894]
add ecx, 1
mov dword [ebp - 0x1894], ecx
cmp dword [ebp - 0x1894], 3
jge 0x419afa
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1894]
mov dword [ebp - 0x1c], edx
jmp 0x419ad4
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x419b0c
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 0x419b24
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1898], 0
jmp 0x419b3f
mov edx, dword [ebp - 0x1898]
add edx, 1
mov dword [ebp - 0x1898], edx
cmp dword [ebp - 0x1898], 2
jge 0x419b56
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1898]
mov dword [ebp - 0x1c], eax
jmp 0x419b30
cmp dword [ebp - 0x1c], 0
jge 0x419b64
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 0x419b7c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x189c], 0
jmp 0x419b97
mov edx, dword [ebp - 0x189c]
add edx, 1
mov dword [ebp - 0x189c], edx
cmp dword [ebp - 0x189c], 1
jge 0x419bae
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x189c]
mov dword [ebp - 0x1c], eax
jmp 0x419b88
cmp dword [ebp - 0x1c], 0
jge 0x419bbc
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 0x419bd4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18a0], 0
jmp 0x419bef
mov edx, dword [ebp - 0x18a0]
add edx, 1
mov dword [ebp - 0x18a0], edx
cmp dword [ebp - 0x18a0], 4
jge 0x419c3c
mov eax, dword [ebp - 0x18a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x419c1e
mov eax, dword [ebp - 0x18a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x419c2e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18a0]
mov dword [ebp - 0x1c], edx
jmp 0x419c3a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18a0]
mov dword [ebp - 0x1c], eax
jmp 0x419be0
mov dword [ebp - 4], 0
mov dword [ebp - 0x18a4], 0xffffffff
mov dword [ebp - 0x18a8], 0
jmp 0x419c68
mov ecx, dword [ebp - 0x18a8]
add ecx, 1
mov dword [ebp - 0x18a8], ecx
cmp dword [ebp - 0x18a8], 2
jge 0x419c9a
mov eax, dword [ebp - 0x18a8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x419c8f
mov edx, dword [ebp - 0x18a4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x419c59
mov dword [ebp - 4], 0xfffffffe
jmp 0x419cba
mov dword [ebp - 0x18ac], 0
jmp 0x419cd5
mov edx, dword [ebp - 0x18ac]
add edx, 1
mov dword [ebp - 0x18ac], edx
cmp dword [ebp - 0x18ac], 0
jge 0x419d22
mov eax, dword [ebp - 0x18ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x419d04
mov eax, dword [ebp - 0x18ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x419d14
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18ac]
mov dword [ebp - 0x1c], edx
jmp 0x419d20
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18ac]
mov dword [ebp - 0x1c], eax
jmp 0x419cc6
mov dword [ebp - 0x18b0], 0
jmp 0x419d3d
mov ecx, dword [ebp - 0x18b0]
add ecx, 1
mov dword [ebp - 0x18b0], ecx
cmp dword [ebp - 0x18b0], 1
jge 0x419d8a
cmp dword [ebp - 0x1c], 0
jge 0x419d54
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 0x419d6a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18b4], 0xfa
lea edx, [ebp - 0x18b4]
push edx
lea eax, [ebp - 0x1ab0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x419d2e
mov dword [ebp - 0x1ab4], 0
jmp 0x419da5
mov ecx, dword [ebp - 0x1ab4]
add ecx, 1
mov dword [ebp - 0x1ab4], ecx
cmp dword [ebp - 0x1ab4], 4
jge 0x419df2
cmp dword [ebp - 0x1c], 0
jge 0x419dbc
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 0x419dd2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ab8], 0xfa
lea edx, [ebp - 0x1ab8]
push edx
lea eax, [ebp - 0x1cb0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x419d96
mov dword [ebp - 0x1cb4], 0
jmp 0x419e0d
mov ecx, dword [ebp - 0x1cb4]
add ecx, 1
mov dword [ebp - 0x1cb4], ecx
cmp dword [ebp - 0x1cb4], 0
jge 0x419e5a
cmp dword [ebp - 0x1c], 0
jge 0x419e24
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 0x419e3a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1cb8], 0xfa
lea edx, [ebp - 0x1cb8]
push edx
lea eax, [ebp - 0x1eb0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x419dfe
mov ecx, 1
test ecx, ecx
je 0x419e94
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1eb4], eax
mov eax, dword [ebp - 0x1eb4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x419e86
jmp 0x419e94
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1eb4]
mov dword [ebp - 0x1c], edx
jmp 0x419e5a
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1eb8], 0
jmp 0x419eb8
mov ecx, dword [ebp - 0x1eb8]
add ecx, 1
mov dword [ebp - 0x1eb8], ecx
cmp dword [ebp - 0x1eb8], 2
jge 0x419ecf
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1eb8]
mov dword [ebp - 0x1c], edx
jmp 0x419ea9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x419ee1
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 0x419ef9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x419f33
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ebc], eax
mov eax, dword [ebp - 0x1ebc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x419f25
jmp 0x419f33
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ebc]
mov dword [ebp - 0x1c], edx
jmp 0x419ef9
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ec0], 0
jmp 0x419f57
mov ecx, dword [ebp - 0x1ec0]
add ecx, 1
mov dword [ebp - 0x1ec0], ecx
cmp dword [ebp - 0x1ec0], 0
jge 0x419f6e
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ec0]
mov dword [ebp - 0x1c], edx
jmp 0x419f48
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x419f80
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 0x419f98
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ec4], 0
jmp 0x419fb3
cmp dword [ebp - 0x1ec4], 3
jge 0x41a000
cmp dword [ebp - 0x1c], 0
jge 0x419fca
mov ecx, 1
test ecx, ecx
je 0x41a03a