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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511638
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x30dc
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x30], 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 0x45e4c8
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 0x45e4bd
jmp 0x45e4c8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x45e497
mov eax, dword [ebp - 0x1c]
add eax, 0xd
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x45e4e3
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0xf
jge 0x45e521
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45e509
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45e516
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x45e51f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x45e4da
mov dword [ebp - 0x28], 0
jmp 0x45e533
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 8
jge 0x45e544
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x45e52a
cmp dword [ebp - 0x1c], 0
jge 0x45e552
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 0x45e56a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x45e57c
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x15
jge 0x45e5ba
cmp dword [ebp - 0x1c], 0
jge 0x45e590
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 0x45e5a6
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45e573
mov dword [ebp - 0x22c], 0
jmp 0x45e5d5
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 2
jge 0x45e622
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45e604
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45e614
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x45e620
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
jmp 0x45e5c6
mov dword [ebp - 0x230], 0
jmp 0x45e63d
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 0x1d
jge 0x45e654
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x45e62e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45e666
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 0x45e67e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x234], 0
jmp 0x45e699
mov edx, dword [ebp - 0x234]
add edx, 1
mov dword [ebp - 0x234], edx
cmp dword [ebp - 0x234], 6
jge 0x45e6da
cmp dword [ebp - 0x1c], 0
jge 0x45e6b0
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 0x45e6c6
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x430]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45e68a
mov eax, 1
test eax, eax
je 0x45e714
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x434]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45e706
jmp 0x45e714
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x434]
mov dword [ebp - 0x1c], edx
jmp 0x45e6da
mov eax, dword [ebp - 0x1c]
add eax, 0xb
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x438], 0
jmp 0x45e738
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
cmp dword [ebp - 0x438], 6
jge 0x45e74f
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x438]
mov dword [ebp - 0x1c], edx
jmp 0x45e729
cmp dword [ebp - 0x1c], 0
jge 0x45e75d
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 0x45e775
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x43c], 0
jmp 0x45e790
mov edx, dword [ebp - 0x43c]
add edx, 1
mov dword [ebp - 0x43c], edx
cmp dword [ebp - 0x43c], 4
jge 0x45e7dd
cmp dword [ebp - 0x1c], 0
jge 0x45e7a7
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 0x45e7bd
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x440], 0xfa
lea edx, [ebp - 0x440]
push edx
lea eax, [ebp - 0x638]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45e781
mov dword [ebp - 0x63c], 0
jmp 0x45e7f8
mov ecx, dword [ebp - 0x63c]
add ecx, 1
mov dword [ebp - 0x63c], ecx
cmp dword [ebp - 0x63c], 6
jge 0x45e839
cmp dword [ebp - 0x1c], 0
jge 0x45e80f
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 0x45e825
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x838]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45e7e9
mov dword [ebp - 0x83c], 0
jmp 0x45e854
mov eax, dword [ebp - 0x83c]
add eax, 1
mov dword [ebp - 0x83c], eax
cmp dword [ebp - 0x83c], 0x10
jge 0x45e8a1
mov eax, dword [ebp - 0x83c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45e883
mov eax, dword [ebp - 0x83c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45e893
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x83c]
mov dword [ebp - 0x1c], edx
jmp 0x45e89f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x83c]
mov dword [ebp - 0x1c], eax
jmp 0x45e845
mov dword [ebp - 0x840], 0
jmp 0x45e8bc
mov ecx, dword [ebp - 0x840]
add ecx, 1
mov dword [ebp - 0x840], ecx
cmp dword [ebp - 0x840], 0xc
jge 0x45e8d3
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x840]
mov dword [ebp - 0x1c], edx
jmp 0x45e8ad
cmp dword [ebp - 0x1c], 0
jge 0x45e8e1
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 0x45e8f9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x844], 0
jmp 0x45e914
mov edx, dword [ebp - 0x844]
add edx, 1
mov dword [ebp - 0x844], edx
cmp dword [ebp - 0x844], 1
jge 0x45e92b
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x844]
mov dword [ebp - 0x1c], eax
jmp 0x45e905
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45e93d
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 0x45e955
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x848], 0
jmp 0x45e970
mov edx, dword [ebp - 0x848]
add edx, 1
mov dword [ebp - 0x848], edx
cmp dword [ebp - 0x848], 7
jge 0x45e9bd
cmp dword [ebp - 0x1c], 0
jge 0x45e987
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 0x45e99d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x84c], 0xfa
lea edx, [ebp - 0x84c]
push edx
lea eax, [ebp - 0xa48]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45e961
mov dword [ebp - 0xa4c], 0
jmp 0x45e9d8
mov ecx, dword [ebp - 0xa4c]
add ecx, 1
mov dword [ebp - 0xa4c], ecx
cmp dword [ebp - 0xa4c], 7
jge 0x45ea25
cmp dword [ebp - 0x1c], 0
jge 0x45e9ef
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 0x45ea05
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa50], 0xfa
lea edx, [ebp - 0xa50]
push edx
lea eax, [ebp - 0xc48]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45e9c9
mov dword [ebp - 0xc4c], 0
jmp 0x45ea40
mov ecx, dword [ebp - 0xc4c]
add ecx, 1
mov dword [ebp - 0xc4c], ecx
cmp dword [ebp - 0xc4c], 4
jge 0x45ea57
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc4c]
mov dword [ebp - 0x1c], edx
jmp 0x45ea31
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45ea69
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 0x45ea81
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc50], 0
jmp 0x45ea9c
mov edx, dword [ebp - 0xc50]
add edx, 1
mov dword [ebp - 0xc50], edx
cmp dword [ebp - 0xc50], 2
jge 0x45eadd
cmp dword [ebp - 0x1c], 0
jge 0x45eab3
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 0x45eac9
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45ea8d
mov dword [ebp - 0xe4c], 0
jmp 0x45eaf8
mov eax, dword [ebp - 0xe4c]
add eax, 1
mov dword [ebp - 0xe4c], eax
cmp dword [ebp - 0xe4c], 4
jge 0x45eb45
mov eax, dword [ebp - 0xe4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45eb27
mov eax, dword [ebp - 0xe4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45eb37
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe4c]
mov dword [ebp - 0x1c], edx
jmp 0x45eb43
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe4c]
mov dword [ebp - 0x1c], eax
jmp 0x45eae9
mov dword [ebp - 0xe50], 0
jmp 0x45eb60
mov ecx, dword [ebp - 0xe50]
add ecx, 1
mov dword [ebp - 0xe50], ecx
cmp dword [ebp - 0xe50], 8
jge 0x45eb77
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe50]
mov dword [ebp - 0x1c], edx
jmp 0x45eb51
cmp dword [ebp - 0x1c], 0
jge 0x45eb85
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 0x45eb9d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe54], 0
jmp 0x45ebb8
mov edx, dword [ebp - 0xe54]
add edx, 1
mov dword [ebp - 0xe54], edx
cmp dword [ebp - 0xe54], 7
jge 0x45ebf9
cmp dword [ebp - 0x1c], 0
jge 0x45ebcf
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 0x45ebe5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1050]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45eba9
mov eax, 1
test eax, eax
je 0x45ec33
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1054], eax
mov eax, dword [ebp - 0x1054]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45ec25
jmp 0x45ec33
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1054]
mov dword [ebp - 0x1c], edx
jmp 0x45ebf9
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x45ec76
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1058], eax
mov eax, dword [ebp - 0x1058]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45ec68
jmp 0x45ec76
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1058]
mov dword [ebp - 0x1c], edx
jmp 0x45ec3c
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x105c], 0
jmp 0x45ec9a
mov ecx, dword [ebp - 0x105c]
add ecx, 1
mov dword [ebp - 0x105c], ecx
cmp dword [ebp - 0x105c], 7
jge 0x45ecb1
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x105c]
mov dword [ebp - 0x1c], edx
jmp 0x45ec8b
cmp dword [ebp - 0x1c], 0
jge 0x45ecbf
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 0x45ecd7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1060], 0
jmp 0x45ecf2
mov edx, dword [ebp - 0x1060]
add edx, 1
mov dword [ebp - 0x1060], edx
cmp dword [ebp - 0x1060], 3
jge 0x45ed09
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1060]
mov dword [ebp - 0x1c], eax
jmp 0x45ece3
cmp dword [ebp - 0x1c], 0
jge 0x45ed17
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 0x45ed2f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1064], 0
jmp 0x45ed4a
mov edx, dword [ebp - 0x1064]
add edx, 1
mov dword [ebp - 0x1064], edx
cmp dword [ebp - 0x1064], 4
jge 0x45ed61
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1064]
mov dword [ebp - 0x1c], eax
jmp 0x45ed3b
cmp dword [ebp - 0x1c], 0
jge 0x45ed6f
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 0x45ed87
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1068], 0
jmp 0x45eda2
mov edx, dword [ebp - 0x1068]
add edx, 1
mov dword [ebp - 0x1068], edx
cmp dword [ebp - 0x1068], 4
jge 0x45edb9
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1068]
mov dword [ebp - 0x1c], eax
jmp 0x45ed93
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45edcb
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 0x45ede3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x106c], 0
jmp 0x45edfe
mov edx, dword [ebp - 0x106c]
add edx, 1
mov dword [ebp - 0x106c], edx
cmp dword [ebp - 0x106c], 1
jge 0x45ee3f
cmp dword [ebp - 0x1c], 0
jge 0x45ee15
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 0x45ee2b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1268]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45edef
mov dword [ebp - 4], 0
mov dword [ebp - 0x126c], 0xffffffff
mov dword [ebp - 0x1270], 0
jmp 0x45ee6b
mov eax, dword [ebp - 0x1270]
add eax, 1
mov dword [ebp - 0x1270], eax
cmp dword [ebp - 0x1270], 8
jge 0x45ee9d
mov eax, dword [ebp - 0x1270]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45ee92
mov edx, dword [ebp - 0x126c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45ee5c
mov dword [ebp - 4], 0xfffffffe
jmp 0x45eebd
mov dword [ebp - 0x1274], 0
jmp 0x45eed8
mov edx, dword [ebp - 0x1274]
add edx, 1
mov dword [ebp - 0x1274], edx
cmp dword [ebp - 0x1274], 5
jge 0x45eeef
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1274]
mov dword [ebp - 0x1c], eax
jmp 0x45eec9
cmp dword [ebp - 0x1c], 0
jge 0x45eefd
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 0x45ef15
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1278], 0
jmp 0x45ef30
mov edx, dword [ebp - 0x1278]
add edx, 1
mov dword [ebp - 0x1278], edx
cmp dword [ebp - 0x1278], 3
jge 0x45ef71
cmp dword [ebp - 0x1c], 0
jge 0x45ef47
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 0x45ef5d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1470]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45ef21
mov dword [ebp - 0x1474], 0
jmp 0x45ef8c
mov eax, dword [ebp - 0x1474]
add eax, 1
mov dword [ebp - 0x1474], eax
cmp dword [ebp - 0x1474], 6
jge 0x45efa3
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1474]
mov dword [ebp - 0x1c], ecx
jmp 0x45ef7d
cmp dword [ebp - 0x1c], 0
jge 0x45efb1
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 0x45efc9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x1478], 0xffffffff
mov dword [ebp - 0x147c], 0
jmp 0x45eff5
mov edx, dword [ebp - 0x147c]
add edx, 1
mov dword [ebp - 0x147c], edx
cmp dword [ebp - 0x147c], 6
jge 0x45f027
mov eax, dword [ebp - 0x147c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45f01c
mov edx, dword [ebp - 0x1478]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45efe6
mov dword [ebp - 4], 0xfffffffe
jmp 0x45f047
mov edx, 1
test edx, edx
je 0x45f081
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1480], eax
mov eax, dword [ebp - 0x1480]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45f073
jmp 0x45f081
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1480]
mov dword [ebp - 0x1c], edx
jmp 0x45f047
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1484], 0
jmp 0x45f0a5
mov ecx, dword [ebp - 0x1484]
add ecx, 1
mov dword [ebp - 0x1484], ecx
cmp dword [ebp - 0x1484], 8
jge 0x45f0e6
cmp dword [ebp - 0x1c], 0
jge 0x45f0bc
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 0x45f0d2
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1680]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45f096
mov dword [ebp - 0x1684], 0
jmp 0x45f101
mov eax, dword [ebp - 0x1684]
add eax, 1
mov dword [ebp - 0x1684], eax
cmp dword [ebp - 0x1684], 3
jge 0x45f14e
mov eax, dword [ebp - 0x1684]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45f130
mov eax, dword [ebp - 0x1684]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45f140
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], edx
jmp 0x45f14c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], eax
jmp 0x45f0f2
mov dword [ebp - 0x1688], 0
jmp 0x45f169
mov ecx, dword [ebp - 0x1688]
add ecx, 1
mov dword [ebp - 0x1688], ecx
cmp dword [ebp - 0x1688], 0
jge 0x45f180
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1688]
mov dword [ebp - 0x1c], edx
jmp 0x45f15a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45f192
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 0x45f1aa
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x168c], 0
jmp 0x45f1c5
mov edx, dword [ebp - 0x168c]
add edx, 1
mov dword [ebp - 0x168c], edx
cmp dword [ebp - 0x168c], 5
jge 0x45f212
mov eax, dword [ebp - 0x168c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45f1f4
mov eax, dword [ebp - 0x168c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45f204
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x168c]
mov dword [ebp - 0x1c], edx
jmp 0x45f210
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x168c]
mov dword [ebp - 0x1c], eax
jmp 0x45f1b6
mov dword [ebp - 0x1690], 0
jmp 0x45f22d
mov ecx, dword [ebp - 0x1690]
add ecx, 1
mov dword [ebp - 0x1690], ecx
cmp dword [ebp - 0x1690], 7
jge 0x45f27a
cmp dword [ebp - 0x1c], 0
jge 0x45f244
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 0x45f25a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1694], 0xfa
lea edx, [ebp - 0x1694]
push edx
lea eax, [ebp - 0x1890]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45f21e
mov dword [ebp - 0x1894], 0
jmp 0x45f295
mov ecx, dword [ebp - 0x1894]
add ecx, 1
mov dword [ebp - 0x1894], ecx
cmp dword [ebp - 0x1894], 5
jge 0x45f2e2
mov eax, dword [ebp - 0x1894]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45f2c4
mov eax, dword [ebp - 0x1894]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45f2d4
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1894]
mov dword [ebp - 0x1c], edx
jmp 0x45f2e0
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1894]
mov dword [ebp - 0x1c], eax
jmp 0x45f286
mov dword [ebp - 0x1898], 0
jmp 0x45f2fd
mov ecx, dword [ebp - 0x1898]
add ecx, 1
mov dword [ebp - 0x1898], ecx
cmp dword [ebp - 0x1898], 0
jge 0x45f314
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1898]
mov dword [ebp - 0x1c], edx
jmp 0x45f2ee
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45f326
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 0x45f33e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x189c], 0
jmp 0x45f359
mov edx, dword [ebp - 0x189c]
add edx, 1
mov dword [ebp - 0x189c], edx
cmp dword [ebp - 0x189c], 5
jge 0x45f370
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x189c]
mov dword [ebp - 0x1c], eax
jmp 0x45f34a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45f382
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 0x45f39a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x45f3d4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18a0], eax
mov eax, dword [ebp - 0x18a0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45f3c6
jmp 0x45f3d4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18a0]
mov dword [ebp - 0x1c], edx
jmp 0x45f39a
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18a4], 0
jmp 0x45f3f8
mov ecx, dword [ebp - 0x18a4]
add ecx, 1
mov dword [ebp - 0x18a4], ecx
cmp dword [ebp - 0x18a4], 1
jge 0x45f439
cmp dword [ebp - 0x1c], 0
jge 0x45f40f
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 0x45f425
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1aa0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45f3e9
mov dword [ebp - 0x1aa4], 0
jmp 0x45f454
mov eax, dword [ebp - 0x1aa4]
add eax, 1
mov dword [ebp - 0x1aa4], eax
cmp dword [ebp - 0x1aa4], 1
jge 0x45f4a1
cmp dword [ebp - 0x1c], 0
jge 0x45f46b
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 0x45f481
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1aa8], 0xfa
lea edx, [ebp - 0x1aa8]
push edx
lea eax, [ebp - 0x1ca0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45f445
mov ecx, 1
test ecx, ecx
je 0x45f4db
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ca4], eax
mov eax, dword [ebp - 0x1ca4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45f4cd
jmp 0x45f4db
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ca4]
mov dword [ebp - 0x1c], edx
jmp 0x45f4a1
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ca8], 0
jmp 0x45f4ff
mov ecx, dword [ebp - 0x1ca8]
add ecx, 1
mov dword [ebp - 0x1ca8], ecx
cmp dword [ebp - 0x1ca8], 4
jge 0x45f540
cmp dword [ebp - 0x1c], 0
jge 0x45f516
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 0x45f52c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ea0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45f4f0
mov dword [ebp - 0x1ea4], 0
jmp 0x45f55b
mov eax, dword [ebp - 0x1ea4]
add eax, 1
mov dword [ebp - 0x1ea4], eax
cmp dword [ebp - 0x1ea4], 4
jge 0x45f5a8
mov eax, dword [ebp - 0x1ea4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45f58a
mov eax, dword [ebp - 0x1ea4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45f59a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ea4]
mov dword [ebp - 0x1c], edx
jmp 0x45f5a6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ea4]
mov dword [ebp - 0x1c], eax
jmp 0x45f54c
mov ecx, 1
test ecx, ecx
je 0x45f5e2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ea8], eax
mov eax, dword [ebp - 0x1ea8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45f5d4
jmp 0x45f5e2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ea8]
mov dword [ebp - 0x1c], edx
jmp 0x45f5a8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1eac], 0
jmp 0x45f603
cmp dword [ebp - 0x1eac], 1
jge 0x45f650
mov eax, dword [ebp - 0x1eac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45f632
mov eax, dword [ebp - 0x1eac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45f642
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1eac]
mov dword [ebp - 0x1c], edx
jmp 0x45f64e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1eac]
mov dword [ebp - 0x1c], eax
jmp 0x45f5f4
mov dword [ebp - 4], 2
mov dword [ebp - 0x1eb0], 0xffffffff
mov dword [ebp - 0x1eb4], 0
jmp 0x45f67c
cmp dword [ebp - 0x1eb4], 0
jge 0x45f6ae
mov eax, dword [ebp - 0x1eb4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45f6a3
mov dword [ebp - 4], 0xfffffffe
jmp 0x45f6ce