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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5112a8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1cb8
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x2c], 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 0x453468
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 0x45345d
jmp 0x453468
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x453437
mov eax, dword [ebp - 0x1c]
add eax, 0x24
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x453483
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x22
jge 0x4534c7
cmp dword [ebp - 0x1c], 0
jge 0x453497
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 0x4534ad
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x28], 0xfa
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45347a
mov dword [ebp - 0x22c], 0
jmp 0x4534e2
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x22c], 0xe
jge 0x45352f
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x453511
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x453521
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x45352d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
jmp 0x4534d3
mov dword [ebp - 4], 0
mov dword [ebp - 0x230], 0xffffffff
mov dword [ebp - 0x234], 0
jmp 0x45355b
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 0x12
jge 0x45358d
mov eax, dword [ebp - 0x234]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x453582
mov edx, dword [ebp - 0x230]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45354c
mov dword [ebp - 4], 0xfffffffe
jmp 0x4535ad
mov dword [ebp - 0x238], 0
jmp 0x4535c8
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x1d
jge 0x453615
cmp dword [ebp - 0x1c], 0
jge 0x4535df
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 0x4535f5
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 0x4535b9
mov dword [ebp - 0x43c], 0
jmp 0x453630
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 4
jge 0x453647
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x453621
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x453659
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 0x453671
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x440], 0xffffffff
mov dword [ebp - 0x444], 0
jmp 0x45369d
mov edx, dword [ebp - 0x444]
add edx, 1
mov dword [ebp - 0x444], edx
cmp dword [ebp - 0x444], 1
jge 0x4536cf
mov eax, dword [ebp - 0x444]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4536c4
mov edx, dword [ebp - 0x440]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45368e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4536ef
mov dword [ebp - 0x448], 0
jmp 0x45370a
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0x1f
jge 0x453757
cmp dword [ebp - 0x1c], 0
jge 0x453721
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 0x453737
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x44c], 0xfa
lea edx, [ebp - 0x44c]
push edx
lea eax, [ebp - 0x648]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4536fb
mov dword [ebp - 0x64c], 0
jmp 0x453772
mov ecx, dword [ebp - 0x64c]
add ecx, 1
mov dword [ebp - 0x64c], ecx
cmp dword [ebp - 0x64c], 9
jge 0x4537b3
cmp dword [ebp - 0x1c], 0
jge 0x453789
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 0x45379f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x848]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x453763
mov dword [ebp - 0x84c], 0
jmp 0x4537ce
mov eax, dword [ebp - 0x84c]
add eax, 1
mov dword [ebp - 0x84c], eax
cmp dword [ebp - 0x84c], 0x17
jge 0x45381b
cmp dword [ebp - 0x1c], 0
jge 0x4537e5
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 0x4537fb
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x850], 0xfa
lea edx, [ebp - 0x850]
push edx
lea eax, [ebp - 0xa48]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4537bf
mov dword [ebp - 0xa4c], 0
jmp 0x453836
mov ecx, dword [ebp - 0xa4c]
add ecx, 1
mov dword [ebp - 0xa4c], ecx
cmp dword [ebp - 0xa4c], 1
jge 0x45384d
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], edx
jmp 0x453827
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45385f
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 0x453877
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa50], 0
jmp 0x453892
mov edx, dword [ebp - 0xa50]
add edx, 1
mov dword [ebp - 0xa50], edx
cmp dword [ebp - 0xa50], 0xa
jge 0x4538a9
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xa50]
mov dword [ebp - 0x1c], eax
jmp 0x453883
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4538bb
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 0x4538d3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x45390d
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 0x4538ff
jmp 0x45390d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], edx
jmp 0x4538d3
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa58], 0
jmp 0x453931
mov ecx, dword [ebp - 0xa58]
add ecx, 1
mov dword [ebp - 0xa58], ecx
cmp dword [ebp - 0xa58], 4
jge 0x45397e
mov eax, dword [ebp - 0xa58]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x453960
mov eax, dword [ebp - 0xa58]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x453970
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1c], edx
jmp 0x45397c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa58]
mov dword [ebp - 0x1c], eax
jmp 0x453922
mov dword [ebp - 0xa5c], 0
jmp 0x453999
mov ecx, dword [ebp - 0xa5c]
add ecx, 1
mov dword [ebp - 0xa5c], ecx
cmp dword [ebp - 0xa5c], 0xa
jge 0x4539e6
mov eax, dword [ebp - 0xa5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4539c8
mov eax, dword [ebp - 0xa5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4539d8
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], edx
jmp 0x4539e4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], eax
jmp 0x45398a
mov ecx, 1
test ecx, ecx
je 0x453a20
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa60], eax
mov eax, dword [ebp - 0xa60]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x453a12
jmp 0x453a20
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa60]
mov dword [ebp - 0x1c], edx
jmp 0x4539e6
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0xa64], 0xffffffff
mov dword [ebp - 0xa68], 0
jmp 0x453a55
mov ecx, dword [ebp - 0xa68]
add ecx, 1
mov dword [ebp - 0xa68], ecx
cmp dword [ebp - 0xa68], 0xe
jge 0x453a87
mov eax, dword [ebp - 0xa68]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x453a7c
mov edx, dword [ebp - 0xa64]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x453a46
mov dword [ebp - 4], 0xfffffffe
jmp 0x453aa7
mov dword [ebp - 0xa6c], 0
jmp 0x453ac2
mov edx, dword [ebp - 0xa6c]
add edx, 1
mov dword [ebp - 0xa6c], edx
cmp dword [ebp - 0xa6c], 0x10
jge 0x453b0f
cmp dword [ebp - 0x1c], 0
jge 0x453ad9
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 0x453aef
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa70], 0xfa
lea edx, [ebp - 0xa70]
push edx
lea eax, [ebp - 0xc68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x453ab3
mov dword [ebp - 0xc6c], 0
jmp 0x453b2a
mov ecx, dword [ebp - 0xc6c]
add ecx, 1
mov dword [ebp - 0xc6c], ecx
cmp dword [ebp - 0xc6c], 0xd
jge 0x453b6b
cmp dword [ebp - 0x1c], 0
jge 0x453b41
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 0x453b57
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x453b1b
mov dword [ebp - 0xe6c], 0
jmp 0x453b86
mov eax, dword [ebp - 0xe6c]
add eax, 1
mov dword [ebp - 0xe6c], eax
cmp dword [ebp - 0xe6c], 3
jge 0x453bd3
mov eax, dword [ebp - 0xe6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x453bb5
mov eax, dword [ebp - 0xe6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x453bc5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], edx
jmp 0x453bd1
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], eax
jmp 0x453b77
mov dword [ebp - 4], 3
mov dword [ebp - 0xe70], 0xffffffff
mov dword [ebp - 0xe74], 0
jmp 0x453bff
mov ecx, dword [ebp - 0xe74]
add ecx, 1
mov dword [ebp - 0xe74], ecx
cmp dword [ebp - 0xe74], 4
jge 0x453c31
mov eax, dword [ebp - 0xe74]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x453c26
mov edx, dword [ebp - 0xe70]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x453bf0
mov dword [ebp - 4], 0xfffffffe
jmp 0x453c51
mov dword [ebp - 0xe78], 0
jmp 0x453c6c
mov edx, dword [ebp - 0xe78]
add edx, 1
mov dword [ebp - 0xe78], edx
cmp dword [ebp - 0xe78], 5
jge 0x453cad
cmp dword [ebp - 0x1c], 0
jge 0x453c83
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 0x453c99
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1070]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x453c5d
mov dword [ebp - 0x1074], 0
jmp 0x453cc8
mov eax, dword [ebp - 0x1074]
add eax, 1
mov dword [ebp - 0x1074], eax
cmp dword [ebp - 0x1074], 0
jge 0x453d15
cmp dword [ebp - 0x1c], 0
jge 0x453cdf
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 0x453cf5
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 0x453cb9
mov dword [ebp - 0x1274], 0
jmp 0x453d30
mov ecx, dword [ebp - 0x1274]
add ecx, 1
mov dword [ebp - 0x1274], ecx
cmp dword [ebp - 0x1274], 1
jge 0x453d47
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1274]
mov dword [ebp - 0x1c], edx
jmp 0x453d21
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x453d59
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 0x453d71
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1278], 0
jmp 0x453d8c
mov edx, dword [ebp - 0x1278]
add edx, 1
mov dword [ebp - 0x1278], edx
cmp dword [ebp - 0x1278], 0
jge 0x453dd9
mov eax, dword [ebp - 0x1278]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x453dbb
mov eax, dword [ebp - 0x1278]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x453dcb
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1278]
mov dword [ebp - 0x1c], edx
jmp 0x453dd7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1278]
mov dword [ebp - 0x1c], eax
jmp 0x453d7d
mov ecx, 1
test ecx, ecx
je 0x453e13
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x127c], eax
mov eax, dword [ebp - 0x127c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x453e05
jmp 0x453e13
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x127c]
mov dword [ebp - 0x1c], edx
jmp 0x453dd9
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1280], 0
jmp 0x453e37
mov ecx, dword [ebp - 0x1280]
add ecx, 1
mov dword [ebp - 0x1280], ecx
cmp dword [ebp - 0x1280], 0
jge 0x453e4e
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1280]
mov dword [ebp - 0x1c], edx
jmp 0x453e28
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x453e60
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 0x453e78
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x453eb2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1284], eax
mov eax, dword [ebp - 0x1284]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x453ea4
jmp 0x453eb2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1284]
mov dword [ebp - 0x1c], edx
jmp 0x453e78
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1288], 0
jmp 0x453ed3
mov ecx, dword [ebp - 0x1288]
add ecx, 1
mov dword [ebp - 0x1288], ecx
cmp dword [ebp - 0x1288], 0
jge 0x453f14
cmp dword [ebp - 0x1c], 0
jge 0x453eea
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 0x453f00
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1480]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x453ec4
mov eax, 1
test eax, eax
je 0x453f4e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1484], eax
mov eax, dword [ebp - 0x1484]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x453f40
jmp 0x453f4e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1484]
mov dword [ebp - 0x1c], edx
jmp 0x453f14
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x453f8e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1488], eax
mov eax, dword [ebp - 0x1488]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x453f80
jmp 0x453f8e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1488]
mov dword [ebp - 0x1c], edx
jmp 0x453f54
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x453fd1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x148c], eax
mov eax, dword [ebp - 0x148c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x453fc3
jmp 0x453fd1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x148c]
mov dword [ebp - 0x1c], edx
jmp 0x453f97
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1490], 0
jmp 0x453ff2
mov ecx, dword [ebp - 0x1490]
add ecx, 1
mov dword [ebp - 0x1490], ecx
cmp dword [ebp - 0x1490], 3
jge 0x454009
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1490]
mov dword [ebp - 0x1c], edx
jmp 0x453fe3
cmp dword [ebp - 0x1c], 0
jge 0x454017
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 0x45402f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1494], 0
jmp 0x45404a
mov edx, dword [ebp - 0x1494]
add edx, 1
mov dword [ebp - 0x1494], edx
cmp dword [ebp - 0x1494], 4
jge 0x454097
cmp dword [ebp - 0x1c], 0
jge 0x454061
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 0x454077
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1498], 0xfa
lea edx, [ebp - 0x1498]
push edx
lea eax, [ebp - 0x1690]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45403b
mov dword [ebp - 0x1694], 0
jmp 0x4540b2
mov ecx, dword [ebp - 0x1694]
add ecx, 1
mov dword [ebp - 0x1694], ecx
cmp dword [ebp - 0x1694], 1
jge 0x4540ff
mov eax, dword [ebp - 0x1694]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4540e1
mov eax, dword [ebp - 0x1694]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4540f1
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1694]
mov dword [ebp - 0x1c], edx
jmp 0x4540fd
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1694]
mov dword [ebp - 0x1c], eax
jmp 0x4540a3
mov dword [ebp - 0x1698], 0
jmp 0x45411a
mov ecx, dword [ebp - 0x1698]
add ecx, 1
mov dword [ebp - 0x1698], ecx
cmp dword [ebp - 0x1698], 0
jge 0x454131
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1698]
mov dword [ebp - 0x1c], edx
jmp 0x45410b
cmp dword [ebp - 0x1c], 0
jge 0x45413f
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 0x454157
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x169c], 0
jmp 0x454172
mov edx, dword [ebp - 0x169c]
add edx, 1
mov dword [ebp - 0x169c], edx
cmp dword [ebp - 0x169c], 1
jge 0x454189
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x169c]
mov dword [ebp - 0x1c], eax
jmp 0x454163
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45419b
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 0x4541b3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x16a0], 0xffffffff
mov dword [ebp - 0x16a4], 0
jmp 0x4541df
mov edx, dword [ebp - 0x16a4]
add edx, 1
mov dword [ebp - 0x16a4], edx
cmp dword [ebp - 0x16a4], 2
jge 0x454211
mov eax, dword [ebp - 0x16a4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x454206
mov edx, dword [ebp - 0x16a0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4541d0
mov dword [ebp - 4], 0xfffffffe
jmp 0x454231
mov dword [ebp - 0x16a8], 0
jmp 0x45424c
mov edx, dword [ebp - 0x16a8]
add edx, 1
mov dword [ebp - 0x16a8], edx
cmp dword [ebp - 0x16a8], 4
jge 0x454263
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x16a8]
mov dword [ebp - 0x1c], eax
jmp 0x45423d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x454275
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 0x45428d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x16ac], 0xffffffff
mov dword [ebp - 0x16b0], 0
jmp 0x4542b9
mov edx, dword [ebp - 0x16b0]
add edx, 1
mov dword [ebp - 0x16b0], edx
cmp dword [ebp - 0x16b0], 0
jge 0x4542eb
mov eax, dword [ebp - 0x16b0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4542e0
mov edx, dword [ebp - 0x16ac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4542aa
mov dword [ebp - 4], 0xfffffffe
jmp 0x45430b
mov edx, 1
test edx, edx
je 0x454345
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 0x454337
jmp 0x454345
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16b4]
mov dword [ebp - 0x1c], edx
jmp 0x45430b
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b8], 0
jmp 0x454369
mov ecx, dword [ebp - 0x16b8]
add ecx, 1
mov dword [ebp - 0x16b8], ecx
cmp dword [ebp - 0x16b8], 0
jge 0x454380
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16b8]
mov dword [ebp - 0x1c], edx
jmp 0x45435a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x454392
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 0x4543aa
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4543e4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16bc], eax
mov eax, dword [ebp - 0x16bc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4543d6
jmp 0x4543e4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16bc]
mov dword [ebp - 0x1c], edx
jmp 0x4543aa
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16c0], 0
jmp 0x454408
mov ecx, dword [ebp - 0x16c0]
add ecx, 1
mov dword [ebp - 0x16c0], ecx
cmp dword [ebp - 0x16c0], 2
jge 0x45441f
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x16c0]
mov dword [ebp - 0x1c], edx
jmp 0x4543f9
cmp dword [ebp - 0x1c], 0
jge 0x45442d
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 0x454445
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x45447f
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 0x454471
jmp 0x45447f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16c4]
mov dword [ebp - 0x1c], edx
jmp 0x454445
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16c8], 0
jmp 0x4544a3
mov ecx, dword [ebp - 0x16c8]
add ecx, 1
mov dword [ebp - 0x16c8], ecx
cmp dword [ebp - 0x16c8], 3
jge 0x4544f0
cmp dword [ebp - 0x1c], 0
jge 0x4544ba
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 0x4544d0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16cc], 0xfa
lea edx, [ebp - 0x16cc]
push edx
lea eax, [ebp - 0x18c8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x454494
mov dword [ebp - 0x18cc], 0
jmp 0x45450b
mov ecx, dword [ebp - 0x18cc]
add ecx, 1
mov dword [ebp - 0x18cc], ecx
cmp dword [ebp - 0x18cc], 2
jge 0x454522
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x18cc]
mov dword [ebp - 0x1c], edx
jmp 0x4544fc
cmp dword [ebp - 0x1c], 0
jge 0x454530
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 0x454548
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18d0], 0
jmp 0x454563
mov edx, dword [ebp - 0x18d0]
add edx, 1
mov dword [ebp - 0x18d0], edx
cmp dword [ebp - 0x18d0], 4
jge 0x4545b0
cmp dword [ebp - 0x1c], 0
jge 0x45457a
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 0x454590
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18d4], 0xfa
lea edx, [ebp - 0x18d4]
push edx
lea eax, [ebp - 0x1ad0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x454554
mov ecx, 1
test ecx, ecx
je 0x4545ea
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ad4], eax
mov eax, dword [ebp - 0x1ad4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4545dc
jmp 0x4545ea
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ad4]
mov dword [ebp - 0x1c], edx
jmp 0x4545b0
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ad8], 0
jmp 0x45460e
mov ecx, dword [ebp - 0x1ad8]
add ecx, 1
mov dword [ebp - 0x1ad8], ecx
cmp dword [ebp - 0x1ad8], 2
jge 0x45464f
cmp dword [ebp - 0x1c], 0
jge 0x454625
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 0x45463b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1cd0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4545ff
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret