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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5105b0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2f40
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x34], 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 0x42d4e9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 5
jge 0x42d4fa
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x42d4e0
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x42d50c
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 0x42d524
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x42d555
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x42d54a
jmp 0x42d555
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x42d524
mov eax, dword [ebp - 0x1c]
add eax, 0xe
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0
jmp 0x42d570
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0x1f
jge 0x42d5ae
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x42d596
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x42d5a3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x42d5ac
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x42d567
mov ecx, 1
test ecx, ecx
je 0x42d5df
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x42d5d4
jmp 0x42d5df
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x42d5ae
mov eax, dword [ebp - 0x1c]
add eax, 0x2d
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x42d5fa
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 4
jge 0x42d638
cmp dword [ebp - 0x1c], 0
jge 0x42d60e
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 0x42d624
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x42d5f1
mov dword [ebp - 0x234], 0
jmp 0x42d653
mov eax, dword [ebp - 0x234]
add eax, 1
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0xc
jge 0x42d6a0
mov eax, dword [ebp - 0x234]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x42d682
mov eax, dword [ebp - 0x234]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x42d692
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x42d69e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x234]
mov dword [ebp - 0x1c], eax
jmp 0x42d644
mov dword [ebp - 0x238], 0
jmp 0x42d6bb
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0xf
jge 0x42d708
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x42d6ea
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x42d6fa
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x42d706
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x238]
mov dword [ebp - 0x1c], eax
jmp 0x42d6ac
mov ecx, 1
test ecx, ecx
je 0x42d742
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x42d734
jmp 0x42d742
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], edx
jmp 0x42d708
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x240], 0xffffffff
mov dword [ebp - 0x244], 0
jmp 0x42d777
mov ecx, dword [ebp - 0x244]
add ecx, 1
mov dword [ebp - 0x244], ecx
cmp dword [ebp - 0x244], 0xa
jge 0x42d7a9
mov eax, dword [ebp - 0x244]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x42d79e
mov edx, dword [ebp - 0x240]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x42d768
mov dword [ebp - 4], 0xfffffffe
jmp 0x42d7c9
mov dword [ebp - 0x248], 0
jmp 0x42d7e4
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
cmp dword [ebp - 0x248], 5
jge 0x42d831
cmp dword [ebp - 0x1c], 0
jge 0x42d7fb
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 0x42d811
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24c], 0xfa
lea edx, [ebp - 0x24c]
push edx
lea eax, [ebp - 0x448]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x42d7d5
mov dword [ebp - 0x44c], 0
jmp 0x42d84c
mov ecx, dword [ebp - 0x44c]
add ecx, 1
mov dword [ebp - 0x44c], ecx
cmp dword [ebp - 0x44c], 0xe
jge 0x42d88d
cmp dword [ebp - 0x1c], 0
jge 0x42d863
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 0x42d879
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x648]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x42d83d
mov dword [ebp - 0x64c], 0
jmp 0x42d8a8
mov eax, dword [ebp - 0x64c]
add eax, 1
mov dword [ebp - 0x64c], eax
cmp dword [ebp - 0x64c], 2
jge 0x42d8bf
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x64c]
mov dword [ebp - 0x1c], ecx
jmp 0x42d899
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x42d8d1
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 0x42d8e9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x650], 0
jmp 0x42d904
mov edx, dword [ebp - 0x650]
add edx, 1
mov dword [ebp - 0x650], edx
cmp dword [ebp - 0x650], 7
jge 0x42d951
mov eax, dword [ebp - 0x650]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x42d933
mov eax, dword [ebp - 0x650]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x42d943
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x650]
mov dword [ebp - 0x1c], edx
jmp 0x42d94f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x650]
mov dword [ebp - 0x1c], eax
jmp 0x42d8f5
mov ecx, 1
test ecx, ecx
je 0x42d98b
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 0x42d97d
jmp 0x42d98b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x654]
mov dword [ebp - 0x1c], edx
jmp 0x42d951
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x658], 0
jmp 0x42d9af
mov ecx, dword [ebp - 0x658]
add ecx, 1
mov dword [ebp - 0x658], ecx
cmp dword [ebp - 0x658], 0xa
jge 0x42d9c6
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x658]
mov dword [ebp - 0x1c], edx
jmp 0x42d9a0
cmp dword [ebp - 0x1c], 0
jge 0x42d9d4
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 0x42d9ec
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x65c], 0
jmp 0x42da07
mov edx, dword [ebp - 0x65c]
add edx, 1
mov dword [ebp - 0x65c], edx
cmp dword [ebp - 0x65c], 3
jge 0x42da48
cmp dword [ebp - 0x1c], 0
jge 0x42da1e
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 0x42da34
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x858]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x42d9f8
mov dword [ebp - 0x85c], 0
jmp 0x42da63
mov eax, dword [ebp - 0x85c]
add eax, 1
mov dword [ebp - 0x85c], eax
cmp dword [ebp - 0x85c], 9
jge 0x42da7a
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], ecx
jmp 0x42da54
cmp dword [ebp - 0x1c], 0
jge 0x42da88
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 0x42daa0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x860], 0
jmp 0x42dabb
mov edx, dword [ebp - 0x860]
add edx, 1
mov dword [ebp - 0x860], edx
cmp dword [ebp - 0x860], 1
jge 0x42dad2
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x860]
mov dword [ebp - 0x1c], eax
jmp 0x42daac
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x42dae4
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 0x42dafc
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x864], 0
jmp 0x42db17
mov edx, dword [ebp - 0x864]
add edx, 1
mov dword [ebp - 0x864], edx
cmp dword [ebp - 0x864], 0
jge 0x42db2e
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x864]
mov dword [ebp - 0x1c], eax
jmp 0x42db08
cmp dword [ebp - 0x1c], 0
jge 0x42db3c
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 0x42db54
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x868], 0xffffffff
mov dword [ebp - 0x86c], 0
jmp 0x42db80
mov edx, dword [ebp - 0x86c]
add edx, 1
mov dword [ebp - 0x86c], edx
cmp dword [ebp - 0x86c], 0
jge 0x42dbb2
mov eax, dword [ebp - 0x86c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x42dba7
mov edx, dword [ebp - 0x868]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x42db71
mov dword [ebp - 4], 0xfffffffe
jmp 0x42dbd2
mov dword [ebp - 0x870], 0
jmp 0x42dbed
mov edx, dword [ebp - 0x870]
add edx, 1
mov dword [ebp - 0x870], edx
cmp dword [ebp - 0x870], 2
jge 0x42dc3a
cmp dword [ebp - 0x1c], 0
jge 0x42dc04
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 0x42dc1a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x874], 0xfa
lea edx, [ebp - 0x874]
push edx
lea eax, [ebp - 0xa70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x42dbde
mov dword [ebp - 0xa74], 0
jmp 0x42dc55
mov ecx, dword [ebp - 0xa74]
add ecx, 1
mov dword [ebp - 0xa74], ecx
cmp dword [ebp - 0xa74], 5
jge 0x42dca2
mov eax, dword [ebp - 0xa74]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x42dc84
mov eax, dword [ebp - 0xa74]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x42dc94
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa74]
mov dword [ebp - 0x1c], edx
jmp 0x42dca0
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa74]
mov dword [ebp - 0x1c], eax
jmp 0x42dc46
mov dword [ebp - 0xa78], 0
jmp 0x42dcbd
mov ecx, dword [ebp - 0xa78]
add ecx, 1
mov dword [ebp - 0xa78], ecx
cmp dword [ebp - 0xa78], 6
jge 0x42dcd4
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa78]
mov dword [ebp - 0x1c], edx
jmp 0x42dcae
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x42dce6
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 0x42dcfe
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa7c], 0
jmp 0x42dd19
mov edx, dword [ebp - 0xa7c]
add edx, 1
mov dword [ebp - 0xa7c], edx
cmp dword [ebp - 0xa7c], 4
jge 0x42dd30
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xa7c]
mov dword [ebp - 0x1c], eax
jmp 0x42dd0a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x42dd42
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 0x42dd5a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0xa80], 0xffffffff
mov dword [ebp - 0xa84], 0
jmp 0x42dd86
mov edx, dword [ebp - 0xa84]
add edx, 1
mov dword [ebp - 0xa84], edx
cmp dword [ebp - 0xa84], 1
jge 0x42ddb8
mov eax, dword [ebp - 0xa84]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x42ddad
mov edx, dword [ebp - 0xa80]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x42dd77
mov dword [ebp - 4], 0xfffffffe
jmp 0x42ddd8
mov dword [ebp - 0xa88], 0
jmp 0x42ddf3
mov edx, dword [ebp - 0xa88]
add edx, 1
mov dword [ebp - 0xa88], edx
cmp dword [ebp - 0xa88], 0
jge 0x42de34
cmp dword [ebp - 0x1c], 0
jge 0x42de0a
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 0x42de20
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc80]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x42dde4
mov eax, 1
test eax, eax
je 0x42de6e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc84], eax
mov eax, dword [ebp - 0xc84]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x42de60
jmp 0x42de6e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc84]
mov dword [ebp - 0x1c], edx
jmp 0x42de34
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0xc88], 0xffffffff
mov dword [ebp - 0xc8c], 0
jmp 0x42dea3
mov ecx, dword [ebp - 0xc8c]
add ecx, 1
mov dword [ebp - 0xc8c], ecx
cmp dword [ebp - 0xc8c], 4
jge 0x42ded5
mov eax, dword [ebp - 0xc8c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x42deca
mov edx, dword [ebp - 0xc88]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x42de94
mov dword [ebp - 4], 0xfffffffe
jmp 0x42def5
mov dword [ebp - 0xc90], 0
jmp 0x42df10
mov edx, dword [ebp - 0xc90]
add edx, 1
mov dword [ebp - 0xc90], edx
cmp dword [ebp - 0xc90], 0
jge 0x42df5d
cmp dword [ebp - 0x1c], 0
jge 0x42df27
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 0x42df3d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc94], 0xfa
lea edx, [ebp - 0xc94]
push edx
lea eax, [ebp - 0xe90]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x42df01
mov dword [ebp - 0xe94], 0
jmp 0x42df78
mov ecx, dword [ebp - 0xe94]
add ecx, 1
mov dword [ebp - 0xe94], ecx
cmp dword [ebp - 0xe94], 8
jge 0x42df8f
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe94]
mov dword [ebp - 0x1c], edx
jmp 0x42df69
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x42dfa1
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 0x42dfb9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe98], 0
jmp 0x42dfd4
mov edx, dword [ebp - 0xe98]
add edx, 1
mov dword [ebp - 0xe98], edx
cmp dword [ebp - 0xe98], 4
jge 0x42e021
mov eax, dword [ebp - 0xe98]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x42e003
mov eax, dword [ebp - 0xe98]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x42e013
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe98]
mov dword [ebp - 0x1c], edx
jmp 0x42e01f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe98]
mov dword [ebp - 0x1c], eax
jmp 0x42dfc5
mov ecx, 1
test ecx, ecx
je 0x42e05b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe9c], eax
mov eax, dword [ebp - 0xe9c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x42e04d
jmp 0x42e05b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe9c]
mov dword [ebp - 0x1c], edx
jmp 0x42e021
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xea0], 0
jmp 0x42e07f
mov ecx, dword [ebp - 0xea0]
add ecx, 1
mov dword [ebp - 0xea0], ecx
cmp dword [ebp - 0xea0], 3
jge 0x42e0c0
cmp dword [ebp - 0x1c], 0
jge 0x42e096
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 0x42e0ac
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1098]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x42e070
mov dword [ebp - 0x109c], 0
jmp 0x42e0db
mov eax, dword [ebp - 0x109c]
add eax, 1
mov dword [ebp - 0x109c], eax
cmp dword [ebp - 0x109c], 4
jge 0x42e0f2
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], ecx
jmp 0x42e0cc
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x42e104
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 0x42e11c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a0], 0
jmp 0x42e137
mov edx, dword [ebp - 0x10a0]
add edx, 1
mov dword [ebp - 0x10a0], edx
cmp dword [ebp - 0x10a0], 7
jge 0x42e184
mov eax, dword [ebp - 0x10a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x42e166
mov eax, dword [ebp - 0x10a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x42e176
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10a0]
mov dword [ebp - 0x1c], edx
jmp 0x42e182
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x10a0]
mov dword [ebp - 0x1c], eax
jmp 0x42e128
mov dword [ebp - 0x10a4], 0
jmp 0x42e19f
mov ecx, dword [ebp - 0x10a4]
add ecx, 1
mov dword [ebp - 0x10a4], ecx
cmp dword [ebp - 0x10a4], 1
jge 0x42e1ec
cmp dword [ebp - 0x1c], 0
jge 0x42e1b6
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 0x42e1cc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10a8], 0xfa
lea edx, [ebp - 0x10a8]
push edx
lea eax, [ebp - 0x12a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x42e190
mov dword [ebp - 0x12a4], 0
jmp 0x42e207
mov ecx, dword [ebp - 0x12a4]
add ecx, 1
mov dword [ebp - 0x12a4], ecx
cmp dword [ebp - 0x12a4], 7
jge 0x42e248
cmp dword [ebp - 0x1c], 0
jge 0x42e21e
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 0x42e234
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x14a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x42e1f8
mov dword [ebp - 0x14a4], 0
jmp 0x42e263
mov eax, dword [ebp - 0x14a4]
add eax, 1
mov dword [ebp - 0x14a4], eax
cmp dword [ebp - 0x14a4], 4
jge 0x42e2b0
cmp dword [ebp - 0x1c], 0
jge 0x42e27a
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 0x42e290
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14a8], 0xfa
lea edx, [ebp - 0x14a8]
push edx
lea eax, [ebp - 0x16a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x42e254
mov dword [ebp - 0x16a4], 0
jmp 0x42e2cb
mov ecx, dword [ebp - 0x16a4]
add ecx, 1
mov dword [ebp - 0x16a4], ecx
cmp dword [ebp - 0x16a4], 3
jge 0x42e318
mov eax, dword [ebp - 0x16a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x42e2fa
mov eax, dword [ebp - 0x16a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x42e30a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16a4]
mov dword [ebp - 0x1c], edx
jmp 0x42e316
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16a4]
mov dword [ebp - 0x1c], eax
jmp 0x42e2bc
mov dword [ebp - 0x16a8], 0
jmp 0x42e333
mov ecx, dword [ebp - 0x16a8]
add ecx, 1
mov dword [ebp - 0x16a8], ecx
cmp dword [ebp - 0x16a8], 8
jge 0x42e374
cmp dword [ebp - 0x1c], 0
jge 0x42e34a
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 0x42e360
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x42e324
mov dword [ebp - 0x18a4], 0
jmp 0x42e38f
mov eax, dword [ebp - 0x18a4]
add eax, 1
mov dword [ebp - 0x18a4], eax
cmp dword [ebp - 0x18a4], 8
jge 0x42e3a6
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x18a4]
mov dword [ebp - 0x1c], ecx
jmp 0x42e380
cmp dword [ebp - 0x1c], 0
jge 0x42e3b4
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 0x42e3cc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18a8], 0
jmp 0x42e3e7
mov edx, dword [ebp - 0x18a8]
add edx, 1
mov dword [ebp - 0x18a8], edx
cmp dword [ebp - 0x18a8], 0
jge 0x42e434
mov eax, dword [ebp - 0x18a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x42e416
mov eax, dword [ebp - 0x18a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x42e426
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18a8]
mov dword [ebp - 0x1c], edx
jmp 0x42e432
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18a8]
mov dword [ebp - 0x1c], eax
jmp 0x42e3d8
mov dword [ebp - 0x18ac], 0
jmp 0x42e44f
mov ecx, dword [ebp - 0x18ac]
add ecx, 1
mov dword [ebp - 0x18ac], ecx
cmp dword [ebp - 0x18ac], 5
jge 0x42e466
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x18ac]
mov dword [ebp - 0x1c], edx
jmp 0x42e440
cmp dword [ebp - 0x1c], 0
jge 0x42e474
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 0x42e48c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18b0], 0
jmp 0x42e4a7
mov edx, dword [ebp - 0x18b0]
add edx, 1
mov dword [ebp - 0x18b0], edx
cmp dword [ebp - 0x18b0], 2
jge 0x42e4f4
cmp dword [ebp - 0x1c], 0
jge 0x42e4be
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 0x42e4d4
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 0x42e498
mov dword [ebp - 0x1ab4], 0
jmp 0x42e50f
mov ecx, dword [ebp - 0x1ab4]
add ecx, 1
mov dword [ebp - 0x1ab4], ecx
cmp dword [ebp - 0x1ab4], 4
jge 0x42e526
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ab4]
mov dword [ebp - 0x1c], edx
jmp 0x42e500
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x42e538
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 0x42e550
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ab8], 0
jmp 0x42e56b
mov edx, dword [ebp - 0x1ab8]
add edx, 1
mov dword [ebp - 0x1ab8], edx
cmp dword [ebp - 0x1ab8], 2
jge 0x42e582
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1ab8]
mov dword [ebp - 0x1c], eax
jmp 0x42e55c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x42e594
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 0x42e5ac
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1abc], 0
jmp 0x42e5c7
mov edx, dword [ebp - 0x1abc]
add edx, 1
mov dword [ebp - 0x1abc], edx
cmp dword [ebp - 0x1abc], 2
jge 0x42e614
mov eax, dword [ebp - 0x1abc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x42e5f6
mov eax, dword [ebp - 0x1abc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x42e606
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1abc]
mov dword [ebp - 0x1c], edx
jmp 0x42e612
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1abc]
mov dword [ebp - 0x1c], eax
jmp 0x42e5b8
mov dword [ebp - 0x1ac0], 0
jmp 0x42e62f
mov ecx, dword [ebp - 0x1ac0]
add ecx, 1
mov dword [ebp - 0x1ac0], ecx
cmp dword [ebp - 0x1ac0], 2
jge 0x42e646
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1ac0]
mov dword [ebp - 0x1c], edx
jmp 0x42e620
cmp dword [ebp - 0x1c], 0
jge 0x42e654
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 0x42e66c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ac4], 0
jmp 0x42e687
mov edx, dword [ebp - 0x1ac4]
add edx, 1
mov dword [ebp - 0x1ac4], edx
cmp dword [ebp - 0x1ac4], 3
jge 0x42e69e
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1ac4]
mov dword [ebp - 0x1c], eax
jmp 0x42e678
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x42e6b0
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 0x42e6c8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x1ac8], 0xffffffff
mov dword [ebp - 0x1acc], 0
jmp 0x42e6f4