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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511300
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x22d0
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 eax, 1
test eax, eax
je 0x4546e8
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 0x4546dd
jmp 0x4546e8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4546b7
mov eax, dword [ebp - 0x1c]
add eax, 0x12
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x454703
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x14
jge 0x454714
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x4546fa
cmp dword [ebp - 0x1c], 0
jge 0x454722
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 0x45473a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x45476b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x454760
jmp 0x45476b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x45473a
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x454786
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0xf
jge 0x4547ca
cmp dword [ebp - 0x1c], 0
jge 0x45479a
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 0x4547b0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], 0xfa
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45477d
mov ecx, 1
test ecx, ecx
je 0x454804
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x234]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4547f6
jmp 0x454804
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4547ca
mov eax, dword [ebp - 0x1c]
add eax, 0x16
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x454828
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0xb
jge 0x454875
cmp dword [ebp - 0x1c], 0
jge 0x45483f
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 0x454855
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x23c], 0xfa
lea edx, [ebp - 0x23c]
push edx
lea eax, [ebp - 0x438]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x454819
mov dword [ebp - 0x43c], 0
jmp 0x454890
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 9
jge 0x4548a7
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x454881
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4548b9
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 0x4548d1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x440], 0
jmp 0x4548ec
mov edx, dword [ebp - 0x440]
add edx, 1
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 2
jge 0x454939
cmp dword [ebp - 0x1c], 0
jge 0x454903
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 0x454919
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 0x4548dd
mov dword [ebp - 0x644], 0
jmp 0x454954
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
cmp dword [ebp - 0x644], 9
jge 0x45496b
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x644]
mov dword [ebp - 0x1c], edx
jmp 0x454945
cmp dword [ebp - 0x1c], 0
jge 0x454979
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 0x454991
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x648], 0
jmp 0x4549ac
mov edx, dword [ebp - 0x648]
add edx, 1
mov dword [ebp - 0x648], edx
cmp dword [ebp - 0x648], 0xa
jge 0x4549f9
cmp dword [ebp - 0x1c], 0
jge 0x4549c3
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 0x4549d9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x64c], 0xfa
lea edx, [ebp - 0x64c]
push edx
lea eax, [ebp - 0x848]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45499d
mov ecx, 1
test ecx, ecx
je 0x454a33
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x84c], eax
mov eax, dword [ebp - 0x84c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x454a25
jmp 0x454a33
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], edx
jmp 0x4549f9
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x850], 0xffffffff
mov dword [ebp - 0x854], 0
jmp 0x454a68
mov ecx, dword [ebp - 0x854]
add ecx, 1
mov dword [ebp - 0x854], ecx
cmp dword [ebp - 0x854], 0xf
jge 0x454a9a
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x454a8f
mov edx, dword [ebp - 0x850]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x454a59
mov dword [ebp - 4], 0xfffffffe
jmp 0x454aba
mov dword [ebp - 4], 1
mov dword [ebp - 0x858], 0xffffffff
mov dword [ebp - 0x85c], 0
jmp 0x454ae6
mov edx, dword [ebp - 0x85c]
add edx, 1
mov dword [ebp - 0x85c], edx
cmp dword [ebp - 0x85c], 4
jge 0x454b18
mov eax, dword [ebp - 0x85c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x454b0d
mov edx, dword [ebp - 0x858]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x454ad7
mov dword [ebp - 4], 0xfffffffe
jmp 0x454b38
mov edx, 1
test edx, edx
je 0x454b72
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x860]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x454b64
jmp 0x454b72
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x860]
mov dword [ebp - 0x1c], edx
jmp 0x454b38
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x864], 0xffffffff
mov dword [ebp - 0x868], 0
jmp 0x454ba7
mov ecx, dword [ebp - 0x868]
add ecx, 1
mov dword [ebp - 0x868], ecx
cmp dword [ebp - 0x868], 1
jge 0x454bd9
mov eax, dword [ebp - 0x868]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x454bce
mov edx, dword [ebp - 0x864]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x454b98
mov dword [ebp - 4], 0xfffffffe
jmp 0x454bf9
mov dword [ebp - 0x86c], 0
jmp 0x454c14
mov edx, dword [ebp - 0x86c]
add edx, 1
mov dword [ebp - 0x86c], edx
cmp dword [ebp - 0x86c], 9
jge 0x454c55
cmp dword [ebp - 0x1c], 0
jge 0x454c2b
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 0x454c41
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x454c05
mov dword [ebp - 0xa6c], 0
jmp 0x454c70
mov eax, dword [ebp - 0xa6c]
add eax, 1
mov dword [ebp - 0xa6c], eax
cmp dword [ebp - 0xa6c], 2
jge 0x454c87
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], ecx
jmp 0x454c61
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x454c99
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 0x454cb1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa70], 0
jmp 0x454ccc
mov edx, dword [ebp - 0xa70]
add edx, 1
mov dword [ebp - 0xa70], edx
cmp dword [ebp - 0xa70], 0xa
jge 0x454d0d
cmp dword [ebp - 0x1c], 0
jge 0x454ce3
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 0x454cf9
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x454cbd
mov dword [ebp - 0xc6c], 0
jmp 0x454d28
mov eax, dword [ebp - 0xc6c]
add eax, 1
mov dword [ebp - 0xc6c], eax
cmp dword [ebp - 0xc6c], 0xe
jge 0x454d3f
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xc6c]
mov dword [ebp - 0x1c], ecx
jmp 0x454d19
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x454d51
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 0x454d69
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc70], 0
jmp 0x454d84
mov edx, dword [ebp - 0xc70]
add edx, 1
mov dword [ebp - 0xc70], edx
cmp dword [ebp - 0xc70], 0xa
jge 0x454dd1
mov eax, dword [ebp - 0xc70]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x454db3
mov eax, dword [ebp - 0xc70]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x454dc3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc70]
mov dword [ebp - 0x1c], edx
jmp 0x454dcf
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc70]
mov dword [ebp - 0x1c], eax
jmp 0x454d75
mov dword [ebp - 4], 3
mov dword [ebp - 0xc74], 0xffffffff
mov dword [ebp - 0xc78], 0
jmp 0x454dfd
mov ecx, dword [ebp - 0xc78]
add ecx, 1
mov dword [ebp - 0xc78], ecx
cmp dword [ebp - 0xc78], 0xe
jge 0x454e2f
mov eax, dword [ebp - 0xc78]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x454e24
mov edx, dword [ebp - 0xc74]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x454dee
mov dword [ebp - 4], 0xfffffffe
jmp 0x454e4f
mov dword [ebp - 0xc7c], 0
jmp 0x454e6a
mov edx, dword [ebp - 0xc7c]
add edx, 1
mov dword [ebp - 0xc7c], edx
cmp dword [ebp - 0xc7c], 0x10
jge 0x454eab
cmp dword [ebp - 0x1c], 0
jge 0x454e81
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 0x454e97
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe78]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x454e5b
mov dword [ebp - 0xe7c], 0
jmp 0x454ec6
mov eax, dword [ebp - 0xe7c]
add eax, 1
mov dword [ebp - 0xe7c], eax
cmp dword [ebp - 0xe7c], 4
jge 0x454edd
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xe7c]
mov dword [ebp - 0x1c], ecx
jmp 0x454eb7
cmp dword [ebp - 0x1c], 0
jge 0x454eeb
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 0x454f03
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0xe80], 0xffffffff
mov dword [ebp - 0xe84], 0
jmp 0x454f2f
mov edx, dword [ebp - 0xe84]
add edx, 1
mov dword [ebp - 0xe84], edx
cmp dword [ebp - 0xe84], 7
jge 0x454f61
mov eax, dword [ebp - 0xe84]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x454f56
mov edx, dword [ebp - 0xe80]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x454f20
mov dword [ebp - 4], 0xfffffffe
jmp 0x454f81
mov dword [ebp - 0xe88], 0
jmp 0x454f9c
mov edx, dword [ebp - 0xe88]
add edx, 1
mov dword [ebp - 0xe88], edx
cmp dword [ebp - 0xe88], 8
jge 0x454fe9
mov eax, dword [ebp - 0xe88]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x454fcb
mov eax, dword [ebp - 0xe88]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x454fdb
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe88]
mov dword [ebp - 0x1c], edx
jmp 0x454fe7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe88]
mov dword [ebp - 0x1c], eax
jmp 0x454f8d
mov dword [ebp - 4], 5
mov dword [ebp - 0xe8c], 0xffffffff
mov dword [ebp - 0xe90], 0
jmp 0x455015
mov ecx, dword [ebp - 0xe90]
add ecx, 1
mov dword [ebp - 0xe90], ecx
cmp dword [ebp - 0xe90], 8
jge 0x455047
mov eax, dword [ebp - 0xe90]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45503c
mov edx, dword [ebp - 0xe8c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x455006
mov dword [ebp - 4], 0xfffffffe
jmp 0x455067
mov dword [ebp - 0xe94], 0
jmp 0x455082
mov edx, dword [ebp - 0xe94]
add edx, 1
mov dword [ebp - 0xe94], edx
cmp dword [ebp - 0xe94], 5
jge 0x455099
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe94]
mov dword [ebp - 0x1c], eax
jmp 0x455073
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4550ab
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 0x4550c3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe98], 0
jmp 0x4550de
mov edx, dword [ebp - 0xe98]
add edx, 1
mov dword [ebp - 0xe98], edx
cmp dword [ebp - 0xe98], 6
jge 0x4550f5
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe98]
mov dword [ebp - 0x1c], eax
jmp 0x4550cf
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x455107
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 0x45511f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe9c], 0
jmp 0x45513a
mov edx, dword [ebp - 0xe9c]
add edx, 1
mov dword [ebp - 0xe9c], edx
cmp dword [ebp - 0xe9c], 7
jge 0x455187
cmp dword [ebp - 0x1c], 0
jge 0x455151
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 0x455167
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xea0], 0xfa
lea edx, [ebp - 0xea0]
push edx
lea eax, [ebp - 0x1098]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45512b
mov dword [ebp - 0x109c], 0
jmp 0x4551a2
mov ecx, dword [ebp - 0x109c]
add ecx, 1
mov dword [ebp - 0x109c], ecx
cmp dword [ebp - 0x109c], 2
jge 0x4551b9
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], edx
jmp 0x455193
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4551cb
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 0x4551e3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a0], 0
jmp 0x4551fe
mov edx, dword [ebp - 0x10a0]
add edx, 1
mov dword [ebp - 0x10a0], edx
cmp dword [ebp - 0x10a0], 8
jge 0x45524b
mov eax, dword [ebp - 0x10a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45522d
mov eax, dword [ebp - 0x10a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45523d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10a0]
mov dword [ebp - 0x1c], edx
jmp 0x455249
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x10a0]
mov dword [ebp - 0x1c], eax
jmp 0x4551ef
mov dword [ebp - 0x10a4], 0
jmp 0x455266
mov ecx, dword [ebp - 0x10a4]
add ecx, 1
mov dword [ebp - 0x10a4], ecx
cmp dword [ebp - 0x10a4], 3
jge 0x4552a7
cmp dword [ebp - 0x1c], 0
jge 0x45527d
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 0x455293
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x12a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x455257
mov dword [ebp - 0x12a4], 0
jmp 0x4552c2
mov eax, dword [ebp - 0x12a4]
add eax, 1
mov dword [ebp - 0x12a4], eax
cmp dword [ebp - 0x12a4], 3
jge 0x4552d9
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], ecx
jmp 0x4552b3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4552eb
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 0x455303
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x45533d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12a8], eax
mov eax, dword [ebp - 0x12a8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45532f
jmp 0x45533d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12a8]
mov dword [ebp - 0x1c], edx
jmp 0x455303
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12ac], 0
jmp 0x455361
mov ecx, dword [ebp - 0x12ac]
add ecx, 1
mov dword [ebp - 0x12ac], ecx
cmp dword [ebp - 0x12ac], 1
jge 0x4553ae
mov eax, dword [ebp - 0x12ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x455390
mov eax, dword [ebp - 0x12ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4553a0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12ac]
mov dword [ebp - 0x1c], edx
jmp 0x4553ac
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12ac]
mov dword [ebp - 0x1c], eax
jmp 0x455352
mov dword [ebp - 0x12b0], 0
jmp 0x4553c9
mov ecx, dword [ebp - 0x12b0]
add ecx, 1
mov dword [ebp - 0x12b0], ecx
cmp dword [ebp - 0x12b0], 7
jge 0x4553e0
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x12b0]
mov dword [ebp - 0x1c], edx
jmp 0x4553ba
cmp dword [ebp - 0x1c], 0
jge 0x4553ee
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 0x455406
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12b4], 0
jmp 0x455421
mov edx, dword [ebp - 0x12b4]
add edx, 1
mov dword [ebp - 0x12b4], edx
cmp dword [ebp - 0x12b4], 3
jge 0x455462
cmp dword [ebp - 0x1c], 0
jge 0x455438
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 0x45544e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x14b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x455412
mov eax, 1
test eax, eax
je 0x45549c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14b4], eax
mov eax, dword [ebp - 0x14b4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45548e
jmp 0x45549c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x14b4]
mov dword [ebp - 0x1c], edx
jmp 0x455462
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14b8], 0
jmp 0x4554c0
mov ecx, dword [ebp - 0x14b8]
add ecx, 1
mov dword [ebp - 0x14b8], ecx
cmp dword [ebp - 0x14b8], 4
jge 0x455501
cmp dword [ebp - 0x1c], 0
jge 0x4554d7
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 0x4554ed
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4554b1
mov dword [ebp - 0x16b4], 0
jmp 0x45551c
mov eax, dword [ebp - 0x16b4]
add eax, 1
mov dword [ebp - 0x16b4], eax
cmp dword [ebp - 0x16b4], 4
jge 0x45555d
cmp dword [ebp - 0x1c], 0
jge 0x455533
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 0x455549
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45550d
mov dword [ebp - 4], 6
mov dword [ebp - 0x18b4], 0xffffffff
mov dword [ebp - 0x18b8], 0
jmp 0x455589
mov eax, dword [ebp - 0x18b8]
add eax, 1
mov dword [ebp - 0x18b8], eax
cmp dword [ebp - 0x18b8], 3
jge 0x4555bb
mov eax, dword [ebp - 0x18b8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4555b0
mov edx, dword [ebp - 0x18b4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45557a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4555db
mov edx, 1
test edx, edx
je 0x455615
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18bc], eax
mov eax, dword [ebp - 0x18bc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x455607
jmp 0x455615
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18bc]
mov dword [ebp - 0x1c], edx
jmp 0x4555db
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
mov dword [ebp - 0x18c0], 0xffffffff
mov dword [ebp - 0x18c4], 0
jmp 0x45564a
mov ecx, dword [ebp - 0x18c4]
add ecx, 1
mov dword [ebp - 0x18c4], ecx
cmp dword [ebp - 0x18c4], 3
jge 0x45567c
mov eax, dword [ebp - 0x18c4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x455671
mov edx, dword [ebp - 0x18c0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45563b
mov dword [ebp - 4], 0xfffffffe
jmp 0x45569c
mov dword [ebp - 0x18c8], 0
jmp 0x4556b7
mov edx, dword [ebp - 0x18c8]
add edx, 1
mov dword [ebp - 0x18c8], edx
cmp dword [ebp - 0x18c8], 4
jge 0x4556f8
cmp dword [ebp - 0x1c], 0
jge 0x4556ce
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 0x4556e4
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ac0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4556a8
mov dword [ebp - 0x1ac4], 0
jmp 0x455713
mov eax, dword [ebp - 0x1ac4]
add eax, 1
mov dword [ebp - 0x1ac4], eax
cmp dword [ebp - 0x1ac4], 3
jge 0x455760
mov eax, dword [ebp - 0x1ac4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x455742
mov eax, dword [ebp - 0x1ac4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x455752
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ac4]
mov dword [ebp - 0x1c], edx
jmp 0x45575e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ac4]
mov dword [ebp - 0x1c], eax
jmp 0x455704
mov dword [ebp - 0x1ac8], 0
jmp 0x45577b
mov ecx, dword [ebp - 0x1ac8]
add ecx, 1
mov dword [ebp - 0x1ac8], ecx
cmp dword [ebp - 0x1ac8], 2
jge 0x455792
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1ac8]
mov dword [ebp - 0x1c], edx
jmp 0x45576c
cmp dword [ebp - 0x1c], 0
jge 0x4557a0
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 0x4557b8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1acc], 0
jmp 0x4557d3
mov edx, dword [ebp - 0x1acc]
add edx, 1
mov dword [ebp - 0x1acc], edx
cmp dword [ebp - 0x1acc], 4
jge 0x455820
mov eax, dword [ebp - 0x1acc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x455802
mov eax, dword [ebp - 0x1acc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x455812
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1acc]
mov dword [ebp - 0x1c], edx
jmp 0x45581e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1acc]
mov dword [ebp - 0x1c], eax
jmp 0x4557c4
mov dword [ebp - 0x1ad0], 0
jmp 0x45583b
mov ecx, dword [ebp - 0x1ad0]
add ecx, 1
mov dword [ebp - 0x1ad0], ecx
cmp dword [ebp - 0x1ad0], 0
jge 0x455888
mov eax, dword [ebp - 0x1ad0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45586a
mov eax, dword [ebp - 0x1ad0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45587a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ad0]
mov dword [ebp - 0x1c], edx
jmp 0x455886
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ad0]
mov dword [ebp - 0x1c], eax
jmp 0x45582c
mov dword [ebp - 0x1ad4], 0
jmp 0x4558a3
mov ecx, dword [ebp - 0x1ad4]
add ecx, 1
mov dword [ebp - 0x1ad4], ecx
cmp dword [ebp - 0x1ad4], 4
jge 0x4558f0
cmp dword [ebp - 0x1c], 0
jge 0x4558ba
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 0x4558d0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ad8], 0xfa
lea edx, [ebp - 0x1ad8]
push edx
lea eax, [ebp - 0x1cd0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x455894
mov dword [ebp - 0x1cd4], 0
jmp 0x45590b
mov ecx, dword [ebp - 0x1cd4]
add ecx, 1
mov dword [ebp - 0x1cd4], ecx
cmp dword [ebp - 0x1cd4], 4
jge 0x455922
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1cd4]
mov dword [ebp - 0x1c], edx
jmp 0x4558fc
cmp dword [ebp - 0x1c], 0
jge 0x455930
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 0x455948
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cd8], 0
jmp 0x455963
cmp dword [ebp - 0x1cd8], 3
jge 0x4559b0
cmp dword [ebp - 0x1c], 0
jge 0x45597a
mov dword [ebp - 0x1edc], 0
jmp 0x4559cb