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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511548
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1d00
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x24], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
jmp 0x45b529
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x2f
jge 0x45b567
cmp dword [ebp - 0x1c], 0
jge 0x45b53d
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 0x45b553
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45b520
mov dword [ebp - 0x224], 0
jmp 0x45b582
mov eax, dword [ebp - 0x224]
add eax, 1
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 9
jge 0x45b599
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], ecx
jmp 0x45b573
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45b5ab
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 0x45b5c3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x228], 0
jmp 0x45b5de
mov edx, dword [ebp - 0x228]
add edx, 1
mov dword [ebp - 0x228], edx
cmp dword [ebp - 0x228], 7
jge 0x45b62b
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45b60d
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45b61d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x228]
mov dword [ebp - 0x1c], edx
jmp 0x45b629
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x228]
mov dword [ebp - 0x1c], eax
jmp 0x45b5cf
mov dword [ebp - 0x22c], 0
jmp 0x45b646
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x22c], 8
jge 0x45b65d
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x45b637
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45b66f
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 0x45b687
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x45b6a2
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 2
jge 0x45b6b9
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x230]
mov dword [ebp - 0x1c], eax
jmp 0x45b693
cmp dword [ebp - 0x1c], 0
jge 0x45b6c7
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 0x45b6df
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x234], 0
jmp 0x45b6fa
mov edx, dword [ebp - 0x234]
add edx, 1
mov dword [ebp - 0x234], edx
cmp dword [ebp - 0x234], 0xe
jge 0x45b747
mov eax, dword [ebp - 0x234]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45b729
mov eax, dword [ebp - 0x234]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45b739
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x45b745
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x234]
mov dword [ebp - 0x1c], eax
jmp 0x45b6eb
mov dword [ebp - 4], 0
mov dword [ebp - 0x238], 0xffffffff
mov dword [ebp - 0x23c], 0
jmp 0x45b773
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 0xa
jge 0x45b7a5
mov eax, dword [ebp - 0x23c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45b79a
mov edx, dword [ebp - 0x238]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45b764
mov dword [ebp - 4], 0xfffffffe
jmp 0x45b7c5
mov dword [ebp - 0x240], 0
jmp 0x45b7e0
mov edx, dword [ebp - 0x240]
add edx, 1
mov dword [ebp - 0x240], edx
cmp dword [ebp - 0x240], 2
jge 0x45b82d
cmp dword [ebp - 0x1c], 0
jge 0x45b7f7
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 0x45b80d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x244], 0xfa
lea edx, [ebp - 0x244]
push edx
lea eax, [ebp - 0x440]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45b7d1
mov dword [ebp - 4], 1
mov dword [ebp - 0x444], 0xffffffff
mov dword [ebp - 0x448], 0
jmp 0x45b859
mov ecx, dword [ebp - 0x448]
add ecx, 1
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0xe
jge 0x45b88b
mov eax, dword [ebp - 0x448]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45b880
mov edx, dword [ebp - 0x444]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45b84a
mov dword [ebp - 4], 0xfffffffe
jmp 0x45b8ab
mov dword [ebp - 0x44c], 0
jmp 0x45b8c6
mov edx, dword [ebp - 0x44c]
add edx, 1
mov dword [ebp - 0x44c], edx
cmp dword [ebp - 0x44c], 2
jge 0x45b913
cmp dword [ebp - 0x1c], 0
jge 0x45b8dd
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 0x45b8f3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x450], 0xfa
lea edx, [ebp - 0x450]
push edx
lea eax, [ebp - 0x648]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45b8b7
mov dword [ebp - 0x64c], 0
jmp 0x45b92e
mov ecx, dword [ebp - 0x64c]
add ecx, 1
mov dword [ebp - 0x64c], ecx
cmp dword [ebp - 0x64c], 3
jge 0x45b97b
cmp dword [ebp - 0x1c], 0
jge 0x45b945
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 0x45b95b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x650], 0xfa
lea edx, [ebp - 0x650]
push edx
lea eax, [ebp - 0x848]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45b91f
mov dword [ebp - 0x84c], 0
jmp 0x45b996
mov ecx, dword [ebp - 0x84c]
add ecx, 1
mov dword [ebp - 0x84c], ecx
cmp dword [ebp - 0x84c], 8
jge 0x45b9e3
mov eax, dword [ebp - 0x84c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45b9c5
mov eax, dword [ebp - 0x84c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45b9d5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], edx
jmp 0x45b9e1
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], eax
jmp 0x45b987
mov dword [ebp - 0x850], 0
jmp 0x45b9fe
mov ecx, dword [ebp - 0x850]
add ecx, 1
mov dword [ebp - 0x850], ecx
cmp dword [ebp - 0x850], 8
jge 0x45ba15
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x850]
mov dword [ebp - 0x1c], edx
jmp 0x45b9ef
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45ba27
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 0x45ba3f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x854], 0
jmp 0x45ba5a
mov edx, dword [ebp - 0x854]
add edx, 1
mov dword [ebp - 0x854], edx
cmp dword [ebp - 0x854], 5
jge 0x45ba9b
cmp dword [ebp - 0x1c], 0
jge 0x45ba71
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 0x45ba87
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa50]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45ba4b
mov dword [ebp - 0xa54], 0
jmp 0x45bab6
mov eax, dword [ebp - 0xa54]
add eax, 1
mov dword [ebp - 0xa54], eax
cmp dword [ebp - 0xa54], 7
jge 0x45bacd
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], ecx
jmp 0x45baa7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45badf
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 0x45baf7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x45bb31
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa58], eax
mov eax, dword [ebp - 0xa58]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45bb23
jmp 0x45bb31
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1c], edx
jmp 0x45baf7
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa5c], 0
jmp 0x45bb55
mov ecx, dword [ebp - 0xa5c]
add ecx, 1
mov dword [ebp - 0xa5c], ecx
cmp dword [ebp - 0xa5c], 5
jge 0x45bba2
cmp dword [ebp - 0x1c], 0
jge 0x45bb6c
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 0x45bb82
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa60], 0xfa
lea edx, [ebp - 0xa60]
push edx
lea eax, [ebp - 0xc58]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45bb46
mov dword [ebp - 0xc5c], 0
jmp 0x45bbbd
mov ecx, dword [ebp - 0xc5c]
add ecx, 1
mov dword [ebp - 0xc5c], ecx
cmp dword [ebp - 0xc5c], 2
jge 0x45bbd4
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc5c]
mov dword [ebp - 0x1c], edx
jmp 0x45bbae
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45bbe6
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 0x45bbfe
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc60], 0
jmp 0x45bc19
mov edx, dword [ebp - 0xc60]
add edx, 1
mov dword [ebp - 0xc60], edx
cmp dword [ebp - 0xc60], 1
jge 0x45bc66
cmp dword [ebp - 0x1c], 0
jge 0x45bc30
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 0x45bc46
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc64], 0xfa
lea edx, [ebp - 0xc64]
push edx
lea eax, [ebp - 0xe60]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45bc0a
mov dword [ebp - 4], 2
mov dword [ebp - 0xe64], 0xffffffff
mov dword [ebp - 0xe68], 0
jmp 0x45bc92
mov ecx, dword [ebp - 0xe68]
add ecx, 1
mov dword [ebp - 0xe68], ecx
cmp dword [ebp - 0xe68], 4
jge 0x45bcc4
mov eax, dword [ebp - 0xe68]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45bcb9
mov edx, dword [ebp - 0xe64]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45bc83
mov dword [ebp - 4], 0xfffffffe
jmp 0x45bce4
mov dword [ebp - 0xe6c], 0
jmp 0x45bcff
mov edx, dword [ebp - 0xe6c]
add edx, 1
mov dword [ebp - 0xe6c], edx
cmp dword [ebp - 0xe6c], 3
jge 0x45bd16
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], eax
jmp 0x45bcf0
cmp dword [ebp - 0x1c], 0
jge 0x45bd24
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 0x45bd3c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe70], 0
jmp 0x45bd57
mov edx, dword [ebp - 0xe70]
add edx, 1
mov dword [ebp - 0xe70], edx
cmp dword [ebp - 0xe70], 0
jge 0x45bda4
cmp dword [ebp - 0x1c], 0
jge 0x45bd6e
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 0x45bd84
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe74], 0xfa
lea edx, [ebp - 0xe74]
push edx
lea eax, [ebp - 0x1070]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45bd48
mov ecx, 1
test ecx, ecx
je 0x45bdde
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1074], eax
mov eax, dword [ebp - 0x1074]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45bdd0
jmp 0x45bdde
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1074]
mov dword [ebp - 0x1c], edx
jmp 0x45bda4
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1078], 0
jmp 0x45bdff
mov ecx, dword [ebp - 0x1078]
add ecx, 1
mov dword [ebp - 0x1078], ecx
cmp dword [ebp - 0x1078], 0
jge 0x45be40
cmp dword [ebp - 0x1c], 0
jge 0x45be16
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 0x45be2c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1270]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45bdf0
mov dword [ebp - 4], 3
mov dword [ebp - 0x1274], 0xffffffff
mov dword [ebp - 0x1278], 0
jmp 0x45be6c
mov eax, dword [ebp - 0x1278]
add eax, 1
mov dword [ebp - 0x1278], eax
cmp dword [ebp - 0x1278], 4
jge 0x45be9e
mov eax, dword [ebp - 0x1278]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45be93
mov edx, dword [ebp - 0x1274]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45be5d
mov dword [ebp - 4], 0xfffffffe
jmp 0x45bebe
mov dword [ebp - 0x127c], 0
jmp 0x45bed9
mov edx, dword [ebp - 0x127c]
add edx, 1
mov dword [ebp - 0x127c], edx
cmp dword [ebp - 0x127c], 3
jge 0x45bf26
mov eax, dword [ebp - 0x127c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45bf08
mov eax, dword [ebp - 0x127c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45bf18
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x127c]
mov dword [ebp - 0x1c], edx
jmp 0x45bf24
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x127c]
mov dword [ebp - 0x1c], eax
jmp 0x45beca
mov dword [ebp - 0x1280], 0
jmp 0x45bf41
mov ecx, dword [ebp - 0x1280]
add ecx, 1
mov dword [ebp - 0x1280], ecx
cmp dword [ebp - 0x1280], 3
jge 0x45bf8e
mov eax, dword [ebp - 0x1280]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45bf70
mov eax, dword [ebp - 0x1280]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45bf80
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1280]
mov dword [ebp - 0x1c], edx
jmp 0x45bf8c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1280]
mov dword [ebp - 0x1c], eax
jmp 0x45bf32
mov ecx, 1
test ecx, ecx
je 0x45bfc8
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 0x45bfba
jmp 0x45bfc8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1284]
mov dword [ebp - 0x1c], edx
jmp 0x45bf8e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1288], 0
jmp 0x45bfe9
mov ecx, dword [ebp - 0x1288]
add ecx, 1
mov dword [ebp - 0x1288], ecx
cmp dword [ebp - 0x1288], 3
jge 0x45c036
mov eax, dword [ebp - 0x1288]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45c018
mov eax, dword [ebp - 0x1288]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45c028
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1288]
mov dword [ebp - 0x1c], edx
jmp 0x45c034
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1288]
mov dword [ebp - 0x1c], eax
jmp 0x45bfda
mov dword [ebp - 0x128c], 0
jmp 0x45c051
mov ecx, dword [ebp - 0x128c]
add ecx, 1
mov dword [ebp - 0x128c], ecx
cmp dword [ebp - 0x128c], 3
jge 0x45c09e
cmp dword [ebp - 0x1c], 0
jge 0x45c068
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 0x45c07e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1290], 0xfa
lea edx, [ebp - 0x1290]
push edx
lea eax, [ebp - 0x1488]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45c042
mov ecx, 1
test ecx, ecx
je 0x45c0d8
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 0x45c0ca
jmp 0x45c0d8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x148c]
mov dword [ebp - 0x1c], edx
jmp 0x45c09e
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x1490], 0xffffffff
mov dword [ebp - 0x1494], 0
jmp 0x45c10d
mov ecx, dword [ebp - 0x1494]
add ecx, 1
mov dword [ebp - 0x1494], ecx
cmp dword [ebp - 0x1494], 3
jge 0x45c13f
mov eax, dword [ebp - 0x1494]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45c134
mov edx, dword [ebp - 0x1490]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45c0fe
mov dword [ebp - 4], 0xfffffffe
jmp 0x45c15f
mov dword [ebp - 0x1498], 0
jmp 0x45c17a
mov edx, dword [ebp - 0x1498]
add edx, 1
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 2
jge 0x45c1c7
mov eax, dword [ebp - 0x1498]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45c1a9
mov eax, dword [ebp - 0x1498]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45c1b9
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1498]
mov dword [ebp - 0x1c], edx
jmp 0x45c1c5
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1498]
mov dword [ebp - 0x1c], eax
jmp 0x45c16b
mov dword [ebp - 0x149c], 0
jmp 0x45c1e2
mov ecx, dword [ebp - 0x149c]
add ecx, 1
mov dword [ebp - 0x149c], ecx
cmp dword [ebp - 0x149c], 4
jge 0x45c22f
cmp dword [ebp - 0x1c], 0
jge 0x45c1f9
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 0x45c20f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14a0], 0xfa
lea edx, [ebp - 0x14a0]
push edx
lea eax, [ebp - 0x1698]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45c1d3
mov ecx, 1
test ecx, ecx
je 0x45c269
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x169c], eax
mov eax, dword [ebp - 0x169c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45c25b
jmp 0x45c269
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x169c]
mov dword [ebp - 0x1c], edx
jmp 0x45c22f
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16a0], 0
jmp 0x45c28d
mov ecx, dword [ebp - 0x16a0]
add ecx, 1
mov dword [ebp - 0x16a0], ecx
cmp dword [ebp - 0x16a0], 1
jge 0x45c2da
mov eax, dword [ebp - 0x16a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45c2bc
mov eax, dword [ebp - 0x16a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45c2cc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16a0]
mov dword [ebp - 0x1c], edx
jmp 0x45c2d8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16a0]
mov dword [ebp - 0x1c], eax
jmp 0x45c27e
mov dword [ebp - 0x16a4], 0
jmp 0x45c2f5
mov ecx, dword [ebp - 0x16a4]
add ecx, 1
mov dword [ebp - 0x16a4], ecx
cmp dword [ebp - 0x16a4], 1
jge 0x45c342
mov eax, dword [ebp - 0x16a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45c324
mov eax, dword [ebp - 0x16a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45c334
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16a4]
mov dword [ebp - 0x1c], edx
jmp 0x45c340
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16a4]
mov dword [ebp - 0x1c], eax
jmp 0x45c2e6
mov dword [ebp - 0x16a8], 0
jmp 0x45c35d
mov ecx, dword [ebp - 0x16a8]
add ecx, 1
mov dword [ebp - 0x16a8], ecx
cmp dword [ebp - 0x16a8], 4
jge 0x45c3aa
mov eax, dword [ebp - 0x16a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45c38c
mov eax, dword [ebp - 0x16a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45c39c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16a8]
mov dword [ebp - 0x1c], edx
jmp 0x45c3a8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16a8]
mov dword [ebp - 0x1c], eax
jmp 0x45c34e
mov dword [ebp - 0x16ac], 0
jmp 0x45c3c5
mov ecx, dword [ebp - 0x16ac]
add ecx, 1
mov dword [ebp - 0x16ac], ecx
cmp dword [ebp - 0x16ac], 4
jge 0x45c3dc
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16ac]
mov dword [ebp - 0x1c], edx
jmp 0x45c3b6
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45c3ee
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 0x45c406
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x16b0], 0xffffffff
mov dword [ebp - 0x16b4], 0
jmp 0x45c432
mov edx, dword [ebp - 0x16b4]
add edx, 1
mov dword [ebp - 0x16b4], edx
cmp dword [ebp - 0x16b4], 2
jge 0x45c464
mov eax, dword [ebp - 0x16b4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45c459
mov edx, dword [ebp - 0x16b0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45c423
mov dword [ebp - 4], 0xfffffffe
jmp 0x45c484
mov dword [ebp - 0x16b8], 0
jmp 0x45c49f
mov edx, dword [ebp - 0x16b8]
add edx, 1
mov dword [ebp - 0x16b8], edx
cmp dword [ebp - 0x16b8], 0
jge 0x45c4b6
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x16b8]
mov dword [ebp - 0x1c], eax
jmp 0x45c490
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45c4c8
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 0x45c4e0
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x16bc], 0xffffffff
mov dword [ebp - 0x16c0], 0
jmp 0x45c50c
mov edx, dword [ebp - 0x16c0]
add edx, 1
mov dword [ebp - 0x16c0], edx
cmp dword [ebp - 0x16c0], 3
jge 0x45c53e
mov eax, dword [ebp - 0x16c0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45c533
mov edx, dword [ebp - 0x16bc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45c4fd
mov dword [ebp - 4], 0xfffffffe
jmp 0x45c55e
mov edx, 1
test edx, edx
je 0x45c598
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 0x45c58a
jmp 0x45c598
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16c4]
mov dword [ebp - 0x1c], edx
jmp 0x45c55e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
mov dword [ebp - 0x16c8], 0xffffffff
mov dword [ebp - 0x16cc], 0
jmp 0x45c5ca
mov ecx, dword [ebp - 0x16cc]
add ecx, 1
mov dword [ebp - 0x16cc], ecx
cmp dword [ebp - 0x16cc], 0
jge 0x45c5fc
mov eax, dword [ebp - 0x16cc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45c5f1
mov edx, dword [ebp - 0x16c8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45c5bb
mov dword [ebp - 4], 0xfffffffe
jmp 0x45c61c
mov dword [ebp - 4], 8
mov dword [ebp - 0x16d0], 0xffffffff
mov dword [ebp - 0x16d4], 0
jmp 0x45c648
mov edx, dword [ebp - 0x16d4]
add edx, 1
mov dword [ebp - 0x16d4], edx
cmp dword [ebp - 0x16d4], 4
jge 0x45c67a
mov eax, dword [ebp - 0x16d4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45c66f
mov edx, dword [ebp - 0x16d0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45c639
mov dword [ebp - 4], 0xfffffffe
jmp 0x45c69a
mov dword [ebp - 0x16d8], 0
jmp 0x45c6b5
mov edx, dword [ebp - 0x16d8]
add edx, 1
mov dword [ebp - 0x16d8], edx
cmp dword [ebp - 0x16d8], 0
jge 0x45c702
cmp dword [ebp - 0x1c], 0
jge 0x45c6cc
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 0x45c6e2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16dc], 0xfa
lea edx, [ebp - 0x16dc]
push edx
lea eax, [ebp - 0x18d8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45c6a6
mov dword [ebp - 4], 9
mov dword [ebp - 0x18dc], 0xffffffff
mov dword [ebp - 0x18e0], 0
jmp 0x45c72e
mov ecx, dword [ebp - 0x18e0]
add ecx, 1
mov dword [ebp - 0x18e0], ecx
cmp dword [ebp - 0x18e0], 1
jge 0x45c760
mov eax, dword [ebp - 0x18e0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45c755
mov edx, dword [ebp - 0x18dc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45c71f
mov dword [ebp - 4], 0xfffffffe
jmp 0x45c780
mov dword [ebp - 0x18e4], 0
jmp 0x45c79b
mov edx, dword [ebp - 0x18e4]
add edx, 1
mov dword [ebp - 0x18e4], edx
cmp dword [ebp - 0x18e4], 1
jge 0x45c7e8
mov eax, dword [ebp - 0x18e4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45c7ca
mov eax, dword [ebp - 0x18e4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45c7da
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18e4]
mov dword [ebp - 0x1c], edx
jmp 0x45c7e6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18e4]
mov dword [ebp - 0x1c], eax
jmp 0x45c78c
mov dword [ebp - 0x18e8], 0
jmp 0x45c803
mov ecx, dword [ebp - 0x18e8]
add ecx, 1
mov dword [ebp - 0x18e8], ecx
cmp dword [ebp - 0x18e8], 1
jge 0x45c850
mov eax, dword [ebp - 0x18e8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45c832
mov eax, dword [ebp - 0x18e8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45c842
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18e8]
mov dword [ebp - 0x1c], edx
jmp 0x45c84e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18e8]
mov dword [ebp - 0x1c], eax
jmp 0x45c7f4
mov dword [ebp - 0x18ec], 0
jmp 0x45c86b
mov ecx, dword [ebp - 0x18ec]
add ecx, 1
mov dword [ebp - 0x18ec], ecx
cmp dword [ebp - 0x18ec], 3
jge 0x45c882
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x1c], edx
jmp 0x45c85c
cmp dword [ebp - 0x1c], 0
jge 0x45c890
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 0x45c8a8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18f0], 0
jmp 0x45c8c3
mov edx, dword [ebp - 0x18f0]
add edx, 1
mov dword [ebp - 0x18f0], edx
cmp dword [ebp - 0x18f0], 2
jge 0x45c8da
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x18f0]
mov dword [ebp - 0x1c], eax
jmp 0x45c8b4
cmp dword [ebp - 0x1c], 0
jge 0x45c8e8
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 0x45c900
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18f4], 0
jmp 0x45c91b