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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x510300
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x4750
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x38], 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 - 4], 0
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0
jmp 0x423c57
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x2b
jge 0x423c80
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x423c75
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x423c4e
mov dword [ebp - 4], 0xfffffffe
jmp 0x423ca0
mov dword [ebp - 0x28], 0
jmp 0x423cb2
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x29
jge 0x423cf0
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x423cd8
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x423ce5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x423cee
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x423ca9
mov dword [ebp - 4], 1
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x30], 0
jmp 0x423d10
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0xf
jge 0x423d39
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x423d2e
mov edx, dword [ebp - 0x2c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x423d07
mov dword [ebp - 4], 0xfffffffe
jmp 0x423d59
mov dword [ebp - 0x34], 0
jmp 0x423d6b
mov edx, dword [ebp - 0x34]
add edx, 1
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 0x18
jge 0x423da9
cmp dword [ebp - 0x1c], 0
jge 0x423d7f
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 0x423d95
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x423d62
mov dword [ebp - 0x234], 0
jmp 0x423dc4
mov eax, dword [ebp - 0x234]
add eax, 1
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 6
jge 0x423e11
cmp dword [ebp - 0x1c], 0
jge 0x423ddb
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 0x423df1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x238], 0xfa
lea edx, [ebp - 0x238]
push edx
lea eax, [ebp - 0x430]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x423db5
mov dword [ebp - 4], 2
mov dword [ebp - 0x434], 0xffffffff
mov dword [ebp - 0x438], 0
jmp 0x423e3d
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
cmp dword [ebp - 0x438], 0
jge 0x423e6f
mov eax, dword [ebp - 0x438]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x423e64
mov edx, dword [ebp - 0x434]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x423e2e
mov dword [ebp - 4], 0xfffffffe
jmp 0x423e8f
mov dword [ebp - 0x43c], 0
jmp 0x423eaa
mov edx, dword [ebp - 0x43c]
add edx, 1
mov dword [ebp - 0x43c], edx
cmp dword [ebp - 0x43c], 0xc
jge 0x423ef7
cmp dword [ebp - 0x1c], 0
jge 0x423ec1
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 0x423ed7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x440], 0xfa
lea edx, [ebp - 0x440]
push edx
lea eax, [ebp - 0x638]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x423e9b
mov dword [ebp - 0x63c], 0
jmp 0x423f12
mov ecx, dword [ebp - 0x63c]
add ecx, 1
mov dword [ebp - 0x63c], ecx
cmp dword [ebp - 0x63c], 0xc
jge 0x423f5f
mov eax, dword [ebp - 0x63c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x423f41
mov eax, dword [ebp - 0x63c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x423f51
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x63c]
mov dword [ebp - 0x1c], edx
jmp 0x423f5d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x63c]
mov dword [ebp - 0x1c], eax
jmp 0x423f03
mov dword [ebp - 0x640], 0
jmp 0x423f7a
mov ecx, dword [ebp - 0x640]
add ecx, 1
mov dword [ebp - 0x640], ecx
cmp dword [ebp - 0x640], 0xd
jge 0x423fc7
cmp dword [ebp - 0x1c], 0
jge 0x423f91
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 0x423fa7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x644], 0xfa
lea edx, [ebp - 0x644]
push edx
lea eax, [ebp - 0x840]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x423f6b
mov dword [ebp - 0x844], 0
jmp 0x423fe2
mov ecx, dword [ebp - 0x844]
add ecx, 1
mov dword [ebp - 0x844], ecx
cmp dword [ebp - 0x844], 0x10
jge 0x423ff9
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x844]
mov dword [ebp - 0x1c], edx
jmp 0x423fd3
cmp dword [ebp - 0x1c], 0
jge 0x424007
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 0x42401f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x848], 0
jmp 0x42403a
mov edx, dword [ebp - 0x848]
add edx, 1
mov dword [ebp - 0x848], edx
cmp dword [ebp - 0x848], 0xa
jge 0x424087
mov eax, dword [ebp - 0x848]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x424069
mov eax, dword [ebp - 0x848]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x424079
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x848]
mov dword [ebp - 0x1c], edx
jmp 0x424085
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x848]
mov dword [ebp - 0x1c], eax
jmp 0x42402b
mov dword [ebp - 0x84c], 0
jmp 0x4240a2
mov ecx, dword [ebp - 0x84c]
add ecx, 1
mov dword [ebp - 0x84c], ecx
cmp dword [ebp - 0x84c], 5
jge 0x4240b9
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], edx
jmp 0x424093
cmp dword [ebp - 0x1c], 0
jge 0x4240c7
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 0x4240df
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x850], 0
jmp 0x4240fa
mov edx, dword [ebp - 0x850]
add edx, 1
mov dword [ebp - 0x850], edx
cmp dword [ebp - 0x850], 0xb
jge 0x424111
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x850]
mov dword [ebp - 0x1c], eax
jmp 0x4240eb
cmp dword [ebp - 0x1c], 0
jge 0x42411f
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 0x424137
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x854], 0
jmp 0x424152
mov edx, dword [ebp - 0x854]
add edx, 1
mov dword [ebp - 0x854], edx
cmp dword [ebp - 0x854], 8
jge 0x42419f
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x424181
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x424191
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x854]
mov dword [ebp - 0x1c], edx
jmp 0x42419d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x854]
mov dword [ebp - 0x1c], eax
jmp 0x424143
mov dword [ebp - 0x858], 0
jmp 0x4241ba
mov ecx, dword [ebp - 0x858]
add ecx, 1
mov dword [ebp - 0x858], ecx
cmp dword [ebp - 0x858], 0xb
jge 0x424207
cmp dword [ebp - 0x1c], 0
jge 0x4241d1
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 0x4241e7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x85c], 0xfa
lea edx, [ebp - 0x85c]
push edx
lea eax, [ebp - 0xa58]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4241ab
mov dword [ebp - 0xa5c], 0
jmp 0x424222
mov ecx, dword [ebp - 0xa5c]
add ecx, 1
mov dword [ebp - 0xa5c], ecx
cmp dword [ebp - 0xa5c], 0
jge 0x42426f
mov eax, dword [ebp - 0xa5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x424251
mov eax, dword [ebp - 0xa5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x424261
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], edx
jmp 0x42426d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], eax
jmp 0x424213
mov dword [ebp - 0xa60], 0
jmp 0x42428a
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa60], ecx
cmp dword [ebp - 0xa60], 0xd
jge 0x4242cb
cmp dword [ebp - 0x1c], 0
jge 0x4242a1
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 0x4242b7
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc58]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x42427b
mov dword [ebp - 0xc5c], 0
jmp 0x4242e6
mov eax, dword [ebp - 0xc5c]
add eax, 1
mov dword [ebp - 0xc5c], eax
cmp dword [ebp - 0xc5c], 1
jge 0x424333
mov eax, dword [ebp - 0xc5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x424315
mov eax, dword [ebp - 0xc5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x424325
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc5c]
mov dword [ebp - 0x1c], edx
jmp 0x424331
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc5c]
mov dword [ebp - 0x1c], eax
jmp 0x4242d7
mov dword [ebp - 0xc60], 0
jmp 0x42434e
mov ecx, dword [ebp - 0xc60]
add ecx, 1
mov dword [ebp - 0xc60], ecx
cmp dword [ebp - 0xc60], 8
jge 0x42439b
mov eax, dword [ebp - 0xc60]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x42437d
mov eax, dword [ebp - 0xc60]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x42438d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc60]
mov dword [ebp - 0x1c], edx
jmp 0x424399
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc60]
mov dword [ebp - 0x1c], eax
jmp 0x42433f
mov dword [ebp - 0xc64], 0
jmp 0x4243b6
mov ecx, dword [ebp - 0xc64]
add ecx, 1
mov dword [ebp - 0xc64], ecx
cmp dword [ebp - 0xc64], 1
jge 0x4243cd
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc64]
mov dword [ebp - 0x1c], edx
jmp 0x4243a7
cmp dword [ebp - 0x1c], 0
jge 0x4243db
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 0x4243f3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x42442d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc68], eax
mov eax, dword [ebp - 0xc68]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x42441f
jmp 0x42442d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc68]
mov dword [ebp - 0x1c], edx
jmp 0x4243f3
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc6c], 0
jmp 0x424451
mov ecx, dword [ebp - 0xc6c]
add ecx, 1
mov dword [ebp - 0xc6c], ecx
cmp dword [ebp - 0xc6c], 5
jge 0x424468
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc6c]
mov dword [ebp - 0x1c], edx
jmp 0x424442
cmp dword [ebp - 0x1c], 0
jge 0x424476
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 0x42448e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc70], 0
jmp 0x4244a9
mov edx, dword [ebp - 0xc70]
add edx, 1
mov dword [ebp - 0xc70], edx
cmp dword [ebp - 0xc70], 7
jge 0x4244c0
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc70]
mov dword [ebp - 0x1c], eax
jmp 0x42449a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4244d2
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 0x4244ea
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc74], 0
jmp 0x424505
mov edx, dword [ebp - 0xc74]
add edx, 1
mov dword [ebp - 0xc74], edx
cmp dword [ebp - 0xc74], 7
jge 0x424552
cmp dword [ebp - 0x1c], 0
jge 0x42451c
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 0x424532
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 0x4244f6
mov ecx, 1
test ecx, ecx
je 0x42458c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe74], eax
mov eax, dword [ebp - 0xe74]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x42457e
jmp 0x42458c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe74]
mov dword [ebp - 0x1c], edx
jmp 0x424552
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe78], 0
jmp 0x4245b0
mov ecx, dword [ebp - 0xe78]
add ecx, 1
mov dword [ebp - 0xe78], ecx
cmp dword [ebp - 0xe78], 1
jge 0x4245f1
cmp dword [ebp - 0x1c], 0
jge 0x4245c7
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 0x4245dd
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1070]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4245a1
mov dword [ebp - 0x1074], 0
jmp 0x42460c
mov eax, dword [ebp - 0x1074]
add eax, 1
mov dword [ebp - 0x1074], eax
cmp dword [ebp - 0x1074], 5
jge 0x424659
cmp dword [ebp - 0x1c], 0
jge 0x424623
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 0x424639
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1078], 0xfa
lea edx, [ebp - 0x1078]
push edx
lea eax, [ebp - 0x1270]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4245fd
mov dword [ebp - 0x1274], 0
jmp 0x424674
mov ecx, dword [ebp - 0x1274]
add ecx, 1
mov dword [ebp - 0x1274], ecx
cmp dword [ebp - 0x1274], 8
jge 0x4246c1
cmp dword [ebp - 0x1c], 0
jge 0x42468b
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 0x4246a1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1278], 0xfa
lea edx, [ebp - 0x1278]
push edx
lea eax, [ebp - 0x1470]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x424665
mov dword [ebp - 0x1474], 0
jmp 0x4246dc
mov ecx, dword [ebp - 0x1474]
add ecx, 1
mov dword [ebp - 0x1474], ecx
cmp dword [ebp - 0x1474], 1
jge 0x42471d
cmp dword [ebp - 0x1c], 0
jge 0x4246f3
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 0x424709
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1670]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4246cd
mov dword [ebp - 4], 3
mov dword [ebp - 0x1674], 0xffffffff
mov dword [ebp - 0x1678], 0
jmp 0x424749
mov eax, dword [ebp - 0x1678]
add eax, 1
mov dword [ebp - 0x1678], eax
cmp dword [ebp - 0x1678], 8
jge 0x42477b
mov eax, dword [ebp - 0x1678]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x424770
mov edx, dword [ebp - 0x1674]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x42473a
mov dword [ebp - 4], 0xfffffffe
jmp 0x42479b
mov dword [ebp - 0x167c], 0
jmp 0x4247b6
mov edx, dword [ebp - 0x167c]
add edx, 1
mov dword [ebp - 0x167c], edx
cmp dword [ebp - 0x167c], 5
jge 0x4247f7
cmp dword [ebp - 0x1c], 0
jge 0x4247cd
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 0x4247e3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1878]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4247a7
mov dword [ebp - 0x187c], 0
jmp 0x424812
mov eax, dword [ebp - 0x187c]
add eax, 1
mov dword [ebp - 0x187c], eax
cmp dword [ebp - 0x187c], 2
jge 0x424829
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x187c]
mov dword [ebp - 0x1c], ecx
jmp 0x424803
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x42483b
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 0x424853
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1880], 0
jmp 0x42486e
mov edx, dword [ebp - 0x1880]
add edx, 1
mov dword [ebp - 0x1880], edx
cmp dword [ebp - 0x1880], 3
jge 0x4248af
cmp dword [ebp - 0x1c], 0
jge 0x424885
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 0x42489b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1a78]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x42485f
mov dword [ebp - 0x1a7c], 0
jmp 0x4248ca
mov eax, dword [ebp - 0x1a7c]
add eax, 1
mov dword [ebp - 0x1a7c], eax
cmp dword [ebp - 0x1a7c], 1
jge 0x424917
cmp dword [ebp - 0x1c], 0
jge 0x4248e1
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 0x4248f7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1a80], 0xfa
lea edx, [ebp - 0x1a80]
push edx
lea eax, [ebp - 0x1c78]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4248bb
mov dword [ebp - 4], 4
mov dword [ebp - 0x1c7c], 0xffffffff
mov dword [ebp - 0x1c80], 0
jmp 0x424943
mov ecx, dword [ebp - 0x1c80]
add ecx, 1
mov dword [ebp - 0x1c80], ecx
cmp dword [ebp - 0x1c80], 5
jge 0x424975
mov eax, dword [ebp - 0x1c80]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x42496a
mov edx, dword [ebp - 0x1c7c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x424934
mov dword [ebp - 4], 0xfffffffe
jmp 0x424995
mov dword [ebp - 0x1c84], 0
jmp 0x4249b0
mov edx, dword [ebp - 0x1c84]
add edx, 1
mov dword [ebp - 0x1c84], edx
cmp dword [ebp - 0x1c84], 1
jge 0x4249f1
cmp dword [ebp - 0x1c], 0
jge 0x4249c7
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 0x4249dd
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1e80]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4249a1
mov dword [ebp - 0x1e84], 0
jmp 0x424a0c
mov eax, dword [ebp - 0x1e84]
add eax, 1
mov dword [ebp - 0x1e84], eax
cmp dword [ebp - 0x1e84], 4
jge 0x424a4d
cmp dword [ebp - 0x1c], 0
jge 0x424a23
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 0x424a39
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x2080]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4249fd
mov dword [ebp - 0x2084], 0
jmp 0x424a68
mov eax, dword [ebp - 0x2084]
add eax, 1
mov dword [ebp - 0x2084], eax
cmp dword [ebp - 0x2084], 4
jge 0x424ab5
mov eax, dword [ebp - 0x2084]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x424a97
mov eax, dword [ebp - 0x2084]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x424aa7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x2084]
mov dword [ebp - 0x1c], edx
jmp 0x424ab3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x2084]
mov dword [ebp - 0x1c], eax
jmp 0x424a59
mov dword [ebp - 0x2088], 0
jmp 0x424ad0
mov ecx, dword [ebp - 0x2088]
add ecx, 1
mov dword [ebp - 0x2088], ecx
cmp dword [ebp - 0x2088], 5
jge 0x424ae7
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x2088]
mov dword [ebp - 0x1c], edx
jmp 0x424ac1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x424af9
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 0x424b11
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x208c], 0
jmp 0x424b2c
mov edx, dword [ebp - 0x208c]
add edx, 1
mov dword [ebp - 0x208c], edx
cmp dword [ebp - 0x208c], 3
jge 0x424b43
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x208c]
mov dword [ebp - 0x1c], eax
jmp 0x424b1d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x424b55
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 0x424b6d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x424ba7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2090], eax
mov eax, dword [ebp - 0x2090]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x424b99
jmp 0x424ba7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x2090]
mov dword [ebp - 0x1c], edx
jmp 0x424b6d
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2094], 0
jmp 0x424bcb
mov ecx, dword [ebp - 0x2094]
add ecx, 1
mov dword [ebp - 0x2094], ecx
cmp dword [ebp - 0x2094], 7
jge 0x424be2
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x2094]
mov dword [ebp - 0x1c], edx
jmp 0x424bbc
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x424bf4
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 0x424c0c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2098], 0
jmp 0x424c27
mov edx, dword [ebp - 0x2098]
add edx, 1
mov dword [ebp - 0x2098], edx
cmp dword [ebp - 0x2098], 1
jge 0x424c68
cmp dword [ebp - 0x1c], 0
jge 0x424c3e
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 0x424c54
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x2290]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x424c18
mov dword [ebp - 0x2294], 0
jmp 0x424c83
mov eax, dword [ebp - 0x2294]
add eax, 1
mov dword [ebp - 0x2294], eax
cmp dword [ebp - 0x2294], 2
jge 0x424cd0
cmp dword [ebp - 0x1c], 0
jge 0x424c9a
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 0x424cb0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x2298], 0xfa
lea edx, [ebp - 0x2298]
push edx
lea eax, [ebp - 0x2490]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x424c74
mov dword [ebp - 0x2494], 0
jmp 0x424ceb
mov ecx, dword [ebp - 0x2494]
add ecx, 1
mov dword [ebp - 0x2494], ecx
cmp dword [ebp - 0x2494], 8
jge 0x424d02
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x2494]
mov dword [ebp - 0x1c], edx
jmp 0x424cdc
cmp dword [ebp - 0x1c], 0
jge 0x424d10
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 0x424d28
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2498], 0
jmp 0x424d43
mov edx, dword [ebp - 0x2498]
add edx, 1
mov dword [ebp - 0x2498], edx
cmp dword [ebp - 0x2498], 7
jge 0x424d5a
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x2498]
mov dword [ebp - 0x1c], eax
jmp 0x424d34
cmp dword [ebp - 0x1c], 0
jge 0x424d68
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 0x424d80
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x249c], 0
jmp 0x424d9b
mov edx, dword [ebp - 0x249c]
add edx, 1
mov dword [ebp - 0x249c], edx
cmp dword [ebp - 0x249c], 8
jge 0x424de8
mov eax, dword [ebp - 0x249c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x424dca
mov eax, dword [ebp - 0x249c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x424dda
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x249c]
mov dword [ebp - 0x1c], edx
jmp 0x424de6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x249c]
mov dword [ebp - 0x1c], eax
jmp 0x424d8c
mov dword [ebp - 0x24a0], 0
jmp 0x424e03
mov ecx, dword [ebp - 0x24a0]
add ecx, 1
mov dword [ebp - 0x24a0], ecx
cmp dword [ebp - 0x24a0], 3
jge 0x424e1a
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x24a0]
mov dword [ebp - 0x1c], edx
jmp 0x424df4
cmp dword [ebp - 0x1c], 0
jge 0x424e28
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 0x424e40
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x424e7a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24a4], eax
mov eax, dword [ebp - 0x24a4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x424e6c
jmp 0x424e7a
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24a4]
mov dword [ebp - 0x1c], edx
jmp 0x424e40
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24a8], 0
jmp 0x424e9e
mov ecx, dword [ebp - 0x24a8]
add ecx, 1
mov dword [ebp - 0x24a8], ecx
cmp dword [ebp - 0x24a8], 0
jge 0x424eb5
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x24a8]
mov dword [ebp - 0x1c], edx
jmp 0x424e8f
cmp dword [ebp - 0x1c], 0
jge 0x424ec3
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 0x424edb