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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512180
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x34f8
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 eax, 1
test eax, eax
je 0x481708
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4816fd
jmp 0x481708
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4816d7
mov eax, dword [ebp - 0x1c]
add eax, 0x22
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x481723
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x14
jge 0x481761
cmp dword [ebp - 0x1c], 0
jge 0x481737
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 0x48174d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x48171a
mov dword [ebp - 0x224], 0
jmp 0x48177c
mov eax, dword [ebp - 0x224]
add eax, 1
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0x13
jge 0x4817c9
cmp dword [ebp - 0x1c], 0
jge 0x481793
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 0x4817a9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x228], 0xfa
lea edx, [ebp - 0x228]
push edx
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x48176d
mov dword [ebp - 0x424], 0
jmp 0x4817e4
mov ecx, dword [ebp - 0x424]
add ecx, 1
mov dword [ebp - 0x424], ecx
cmp dword [ebp - 0x424], 0
jge 0x4817fb
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x424]
mov dword [ebp - 0x1c], edx
jmp 0x4817d5
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48180d
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 0x481825
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x428], 0
jmp 0x481840
mov edx, dword [ebp - 0x428]
add edx, 1
mov dword [ebp - 0x428], edx
cmp dword [ebp - 0x428], 1
jge 0x481881
cmp dword [ebp - 0x1c], 0
jge 0x481857
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 0x48186d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x620]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x481831
mov dword [ebp - 0x624], 0
jmp 0x48189c
mov eax, dword [ebp - 0x624]
add eax, 1
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xb
jge 0x4818b3
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x624]
mov dword [ebp - 0x1c], ecx
jmp 0x48188d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4818c5
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 0x4818dd
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x628], 0
jmp 0x4818f8
mov edx, dword [ebp - 0x628]
add edx, 1
mov dword [ebp - 0x628], edx
cmp dword [ebp - 0x628], 4
jge 0x48190f
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x628]
mov dword [ebp - 0x1c], eax
jmp 0x4818e9
cmp dword [ebp - 0x1c], 0
jge 0x48191d
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 0x481935
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x62c], 0
jmp 0x481950
mov edx, dword [ebp - 0x62c]
add edx, 1
mov dword [ebp - 0x62c], edx
cmp dword [ebp - 0x62c], 0xb
jge 0x48199d
mov eax, dword [ebp - 0x62c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x48197f
mov eax, dword [ebp - 0x62c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x48198f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x62c]
mov dword [ebp - 0x1c], edx
jmp 0x48199b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x62c]
mov dword [ebp - 0x1c], eax
jmp 0x481941
mov dword [ebp - 0x630], 0
jmp 0x4819b8
mov ecx, dword [ebp - 0x630]
add ecx, 1
mov dword [ebp - 0x630], ecx
cmp dword [ebp - 0x630], 0xa
jge 0x4819cf
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x630]
mov dword [ebp - 0x1c], edx
jmp 0x4819a9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4819e1
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 0x4819f9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x481a33
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x634]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x481a25
jmp 0x481a33
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x634]
mov dword [ebp - 0x1c], edx
jmp 0x4819f9
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x638], 0
jmp 0x481a57
mov ecx, dword [ebp - 0x638]
add ecx, 1
mov dword [ebp - 0x638], ecx
cmp dword [ebp - 0x638], 0xd
jge 0x481a6e
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x638]
mov dword [ebp - 0x1c], edx
jmp 0x481a48
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x481a80
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 0x481a98
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x63c], 0xffffffff
mov dword [ebp - 0x640], 0
jmp 0x481ac4
mov edx, dword [ebp - 0x640]
add edx, 1
mov dword [ebp - 0x640], edx
cmp dword [ebp - 0x640], 8
jge 0x481af6
mov eax, dword [ebp - 0x640]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x481aeb
mov edx, dword [ebp - 0x63c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x481ab5
mov dword [ebp - 4], 0xfffffffe
jmp 0x481b16
mov dword [ebp - 0x644], 0
jmp 0x481b31
mov edx, dword [ebp - 0x644]
add edx, 1
mov dword [ebp - 0x644], edx
cmp dword [ebp - 0x644], 5
jge 0x481b7e
cmp dword [ebp - 0x1c], 0
jge 0x481b48
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 0x481b5e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x648], 0xfa
lea edx, [ebp - 0x648]
push edx
lea eax, [ebp - 0x840]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x481b22
mov dword [ebp - 4], 1
mov dword [ebp - 0x844], 0xffffffff
mov dword [ebp - 0x848], 0
jmp 0x481baa
mov ecx, dword [ebp - 0x848]
add ecx, 1
mov dword [ebp - 0x848], ecx
cmp dword [ebp - 0x848], 6
jge 0x481bdc
mov eax, dword [ebp - 0x848]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x481bd1
mov edx, dword [ebp - 0x844]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x481b9b
mov dword [ebp - 4], 0xfffffffe
jmp 0x481bfc
mov dword [ebp - 0x84c], 0
jmp 0x481c17
mov edx, dword [ebp - 0x84c]
add edx, 1
mov dword [ebp - 0x84c], edx
cmp dword [ebp - 0x84c], 8
jge 0x481c58
cmp dword [ebp - 0x1c], 0
jge 0x481c2e
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 0x481c44
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x481c08
mov dword [ebp - 4], 2
mov dword [ebp - 0xa4c], 0xffffffff
mov dword [ebp - 0xa50], 0
jmp 0x481c84
mov eax, dword [ebp - 0xa50]
add eax, 1
mov dword [ebp - 0xa50], eax
cmp dword [ebp - 0xa50], 4
jge 0x481cb6
mov eax, dword [ebp - 0xa50]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x481cab
mov edx, dword [ebp - 0xa4c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x481c75
mov dword [ebp - 4], 0xfffffffe
jmp 0x481cd6
mov edx, 1
test edx, edx
je 0x481d10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa54], eax
mov eax, dword [ebp - 0xa54]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x481d02
jmp 0x481d10
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], edx
jmp 0x481cd6
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa58], 0
jmp 0x481d34
mov ecx, dword [ebp - 0xa58]
add ecx, 1
mov dword [ebp - 0xa58], ecx
cmp dword [ebp - 0xa58], 0
jge 0x481d81
cmp dword [ebp - 0x1c], 0
jge 0x481d4b
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 0x481d61
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa5c], 0xfa
lea edx, [ebp - 0xa5c]
push edx
lea eax, [ebp - 0xc58]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x481d25
mov dword [ebp - 0xc5c], 0
jmp 0x481d9c
mov ecx, dword [ebp - 0xc5c]
add ecx, 1
mov dword [ebp - 0xc5c], ecx
cmp dword [ebp - 0xc5c], 1
jge 0x481db3
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc5c]
mov dword [ebp - 0x1c], edx
jmp 0x481d8d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x481dc5
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 0x481ddd
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc60], 0
jmp 0x481df8
mov edx, dword [ebp - 0xc60]
add edx, 1
mov dword [ebp - 0xc60], edx
cmp dword [ebp - 0xc60], 6
jge 0x481e0f
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc60]
mov dword [ebp - 0x1c], eax
jmp 0x481de9
cmp dword [ebp - 0x1c], 0
jge 0x481e1d
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 0x481e35
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x481e6f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc64], eax
mov eax, dword [ebp - 0xc64]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x481e61
jmp 0x481e6f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc64]
mov dword [ebp - 0x1c], edx
jmp 0x481e35
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc68], 0
jmp 0x481e93
mov ecx, dword [ebp - 0xc68]
add ecx, 1
mov dword [ebp - 0xc68], ecx
cmp dword [ebp - 0xc68], 7
jge 0x481eaa
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc68]
mov dword [ebp - 0x1c], edx
jmp 0x481e84
cmp dword [ebp - 0x1c], 0
jge 0x481eb8
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 0x481ed0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0xc6c], 0xffffffff
mov dword [ebp - 0xc70], 0
jmp 0x481efc
mov edx, dword [ebp - 0xc70]
add edx, 1
mov dword [ebp - 0xc70], edx
cmp dword [ebp - 0xc70], 1
jge 0x481f2e
mov eax, dword [ebp - 0xc70]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x481f23
mov edx, dword [ebp - 0xc6c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x481eed
mov dword [ebp - 4], 0xfffffffe
jmp 0x481f4e
mov dword [ebp - 0xc74], 0
jmp 0x481f69
mov edx, dword [ebp - 0xc74]
add edx, 1
mov dword [ebp - 0xc74], edx
cmp dword [ebp - 0xc74], 2
jge 0x481fb6
cmp dword [ebp - 0x1c], 0
jge 0x481f80
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 0x481f96
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 0x481f5a
mov dword [ebp - 0xe74], 0
jmp 0x481fd1
mov ecx, dword [ebp - 0xe74]
add ecx, 1
mov dword [ebp - 0xe74], ecx
cmp dword [ebp - 0xe74], 1
jge 0x48201e
mov eax, dword [ebp - 0xe74]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x482000
mov eax, dword [ebp - 0xe74]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x482010
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe74]
mov dword [ebp - 0x1c], edx
jmp 0x48201c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe74]
mov dword [ebp - 0x1c], eax
jmp 0x481fc2
mov dword [ebp - 4], 4
mov dword [ebp - 0xe78], 0xffffffff
mov dword [ebp - 0xe7c], 0
jmp 0x48204a
mov ecx, dword [ebp - 0xe7c]
add ecx, 1
mov dword [ebp - 0xe7c], ecx
cmp dword [ebp - 0xe7c], 2
jge 0x48207c
mov eax, dword [ebp - 0xe7c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x482071
mov edx, dword [ebp - 0xe78]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48203b
mov dword [ebp - 4], 0xfffffffe
jmp 0x48209c
mov edx, 1
test edx, edx
je 0x4820d6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe80], eax
mov eax, dword [ebp - 0xe80]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4820c8
jmp 0x4820d6
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe80]
mov dword [ebp - 0x1c], edx
jmp 0x48209c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x482116
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe84], eax
mov eax, dword [ebp - 0xe84]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x482108
jmp 0x482116
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe84]
mov dword [ebp - 0x1c], edx
jmp 0x4820dc
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe88], 0
jmp 0x48213a
mov ecx, dword [ebp - 0xe88]
add ecx, 1
mov dword [ebp - 0xe88], ecx
cmp dword [ebp - 0xe88], 3
jge 0x48217b
cmp dword [ebp - 0x1c], 0
jge 0x482151
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 0x482167
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1080]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x48212b
mov dword [ebp - 0x1084], 0
jmp 0x482196
mov eax, dword [ebp - 0x1084]
add eax, 1
mov dword [ebp - 0x1084], eax
cmp dword [ebp - 0x1084], 4
jge 0x4821ad
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1084]
mov dword [ebp - 0x1c], ecx
jmp 0x482187
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4821bf
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 0x4821d7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x482211
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1088], eax
mov eax, dword [ebp - 0x1088]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x482203
jmp 0x482211
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1088]
mov dword [ebp - 0x1c], edx
jmp 0x4821d7
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x108c], 0xffffffff
mov dword [ebp - 0x1090], 0
jmp 0x482246
mov ecx, dword [ebp - 0x1090]
add ecx, 1
mov dword [ebp - 0x1090], ecx
cmp dword [ebp - 0x1090], 0
jge 0x482278
mov eax, dword [ebp - 0x1090]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x48226d
mov edx, dword [ebp - 0x108c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x482237
mov dword [ebp - 4], 0xfffffffe
jmp 0x482298
mov edx, 1
test edx, edx
je 0x4822d2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1094], eax
mov eax, dword [ebp - 0x1094]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4822c4
jmp 0x4822d2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], edx
jmp 0x482298
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1098], 0
jmp 0x4822f3
mov ecx, dword [ebp - 0x1098]
add ecx, 1
mov dword [ebp - 0x1098], ecx
cmp dword [ebp - 0x1098], 3
jge 0x482334
cmp dword [ebp - 0x1c], 0
jge 0x48230a
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 0x482320
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1290]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4822e4
mov dword [ebp - 4], 6
mov dword [ebp - 0x1294], 0xffffffff
mov dword [ebp - 0x1298], 0
jmp 0x482360
mov eax, dword [ebp - 0x1298]
add eax, 1
mov dword [ebp - 0x1298], eax
cmp dword [ebp - 0x1298], 1
jge 0x482392
mov eax, dword [ebp - 0x1298]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x482387
mov edx, dword [ebp - 0x1294]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x482351
mov dword [ebp - 4], 0xfffffffe
jmp 0x4823b2
mov dword [ebp - 0x129c], 0
jmp 0x4823cd
mov edx, dword [ebp - 0x129c]
add edx, 1
mov dword [ebp - 0x129c], edx
cmp dword [ebp - 0x129c], 1
jge 0x4823e4
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x129c]
mov dword [ebp - 0x1c], eax
jmp 0x4823be
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4823f6
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 0x48240e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
mov dword [ebp - 0x12a0], 0xffffffff
mov dword [ebp - 0x12a4], 0
jmp 0x48243a
mov edx, dword [ebp - 0x12a4]
add edx, 1
mov dword [ebp - 0x12a4], edx
cmp dword [ebp - 0x12a4], 2
jge 0x48246c
mov eax, dword [ebp - 0x12a4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x482461
mov edx, dword [ebp - 0x12a0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48242b
mov dword [ebp - 4], 0xfffffffe
jmp 0x48248c
mov dword [ebp - 0x12a8], 0
jmp 0x4824a7
mov edx, dword [ebp - 0x12a8]
add edx, 1
mov dword [ebp - 0x12a8], edx
cmp dword [ebp - 0x12a8], 2
jge 0x4824be
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x12a8]
mov dword [ebp - 0x1c], eax
jmp 0x482498
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4824d0
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 0x4824e8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12ac], 0
jmp 0x482503
mov edx, dword [ebp - 0x12ac]
add edx, 1
mov dword [ebp - 0x12ac], edx
cmp dword [ebp - 0x12ac], 4
jge 0x482544
cmp dword [ebp - 0x1c], 0
jge 0x48251a
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 0x482530
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x14a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4824f4
mov dword [ebp - 0x14ac], 0
jmp 0x48255f
mov eax, dword [ebp - 0x14ac]
add eax, 1
mov dword [ebp - 0x14ac], eax
cmp dword [ebp - 0x14ac], 3
jge 0x4825ac
mov eax, dword [ebp - 0x14ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x48258e
mov eax, dword [ebp - 0x14ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x48259e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14ac]
mov dword [ebp - 0x1c], edx
jmp 0x4825aa
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x14ac]
mov dword [ebp - 0x1c], eax
jmp 0x482550
mov dword [ebp - 0x14b0], 0
jmp 0x4825c7
mov ecx, dword [ebp - 0x14b0]
add ecx, 1
mov dword [ebp - 0x14b0], ecx
cmp dword [ebp - 0x14b0], 4
jge 0x4825de
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14b0]
mov dword [ebp - 0x1c], edx
jmp 0x4825b8
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4825f0
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 0x482608
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14b4], 0
jmp 0x482623
mov edx, dword [ebp - 0x14b4]
add edx, 1
mov dword [ebp - 0x14b4], edx
cmp dword [ebp - 0x14b4], 4
jge 0x482670
cmp dword [ebp - 0x1c], 0
jge 0x48263a
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 0x482650
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14b8], 0xfa
lea edx, [ebp - 0x14b8]
push edx
lea eax, [ebp - 0x16b0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x482614
mov ecx, 1
test ecx, ecx
je 0x4826aa
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16b4], eax
mov eax, dword [ebp - 0x16b4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48269c
jmp 0x4826aa
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16b4]
mov dword [ebp - 0x1c], edx
jmp 0x482670
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x16b8], 0xffffffff
mov dword [ebp - 0x16bc], 0
jmp 0x4826df
mov ecx, dword [ebp - 0x16bc]
add ecx, 1
mov dword [ebp - 0x16bc], ecx
cmp dword [ebp - 0x16bc], 1
jge 0x482711
mov eax, dword [ebp - 0x16bc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x482706
mov edx, dword [ebp - 0x16b8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4826d0
mov dword [ebp - 4], 0xfffffffe
jmp 0x482731
mov dword [ebp - 0x16c0], 0
jmp 0x48274c
mov edx, dword [ebp - 0x16c0]
add edx, 1
mov dword [ebp - 0x16c0], edx
cmp dword [ebp - 0x16c0], 2
jge 0x482763
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x16c0]
mov dword [ebp - 0x1c], eax
jmp 0x48273d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x482775
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 0x48278d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4827c7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16c4], eax
mov eax, dword [ebp - 0x16c4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4827b9
jmp 0x4827c7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16c4]
mov dword [ebp - 0x1c], edx
jmp 0x48278d
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16c8], 0
jmp 0x4827eb
mov ecx, dword [ebp - 0x16c8]
add ecx, 1
mov dword [ebp - 0x16c8], ecx
cmp dword [ebp - 0x16c8], 2
jge 0x48282c
cmp dword [ebp - 0x1c], 0
jge 0x482802
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 0x482818
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4827dc
mov dword [ebp - 0x18c4], 0
jmp 0x482847
mov eax, dword [ebp - 0x18c4]
add eax, 1
mov dword [ebp - 0x18c4], eax
cmp dword [ebp - 0x18c4], 4
jge 0x482894
cmp dword [ebp - 0x1c], 0
jge 0x48285e
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 0x482874
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18c8], 0xfa
lea edx, [ebp - 0x18c8]
push edx
lea eax, [ebp - 0x1ac0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x482838
mov dword [ebp - 0x1ac4], 0
jmp 0x4828af
mov ecx, dword [ebp - 0x1ac4]
add ecx, 1
mov dword [ebp - 0x1ac4], ecx
cmp dword [ebp - 0x1ac4], 0
jge 0x4828c6
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ac4]
mov dword [ebp - 0x1c], edx
jmp 0x4828a0
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4828d8
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 0x4828f0
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ac8], 0
jmp 0x48290b
cmp dword [ebp - 0x1ac8], 0
jge 0x482958
cmp dword [ebp - 0x1c], 0
jge 0x482922
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 0x482938
mov dword [ebp - 0x1ccc], 0
jmp 0x482973
cmp dword [ebp - 0x1ccc], 4
jge 0x4829c0