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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x510e98
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x4544
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 dword [ebp - 4], 0
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0
jmp 0x444bc7
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x39
jge 0x444bf0
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x444be5
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x444bbe
mov dword [ebp - 4], 0xfffffffe
jmp 0x444c10
mov dword [ebp - 0x28], 0
jmp 0x444c22
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 3
jge 0x444c33
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x444c19
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x444c45
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 0x444c5d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x444c6f
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x10
jge 0x444cad
cmp dword [ebp - 0x1c], 0
jge 0x444c83
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 0x444c99
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x444c66
mov eax, 1
test eax, eax
je 0x444ce7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x22c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x444cd9
jmp 0x444ce7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x444cad
mov eax, dword [ebp - 0x1c]
add eax, 0x11
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x444d0b
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 7
jge 0x444d4c
cmp dword [ebp - 0x1c], 0
jge 0x444d22
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 0x444d38
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x428]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x444cfc
mov dword [ebp - 0x42c], 0
jmp 0x444d67
mov eax, dword [ebp - 0x42c]
add eax, 1
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0x10
jge 0x444d7e
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x1c], ecx
jmp 0x444d58
cmp dword [ebp - 0x1c], 0
jge 0x444d8c
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 0x444da4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x430], 0
jmp 0x444dbf
mov edx, dword [ebp - 0x430]
add edx, 1
mov dword [ebp - 0x430], edx
cmp dword [ebp - 0x430], 8
jge 0x444dd6
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x430]
mov dword [ebp - 0x1c], eax
jmp 0x444db0
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x444de8
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 0x444e00
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x434], 0
jmp 0x444e1b
mov edx, dword [ebp - 0x434]
add edx, 1
mov dword [ebp - 0x434], edx
cmp dword [ebp - 0x434], 4
jge 0x444e32
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x434]
mov dword [ebp - 0x1c], eax
jmp 0x444e0c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x444e44
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 0x444e5c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x444e96
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x438]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x444e88
jmp 0x444e96
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x438]
mov dword [ebp - 0x1c], edx
jmp 0x444e5c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x43c], 0
jmp 0x444eb7
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 0xf
jge 0x444ece
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x444ea8
cmp dword [ebp - 0x1c], 0
jge 0x444edc
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 0x444ef4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x440], 0
jmp 0x444f0f
mov edx, dword [ebp - 0x440]
add edx, 1
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 7
jge 0x444f5c
cmp dword [ebp - 0x1c], 0
jge 0x444f26
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 0x444f3c
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 0x444f00
mov dword [ebp - 0x644], 0
jmp 0x444f77
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
cmp dword [ebp - 0x644], 3
jge 0x444fc4
cmp dword [ebp - 0x1c], 0
jge 0x444f8e
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 0x444fa4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x648], 0xfa
lea edx, [ebp - 0x648]
push edx
lea eax, [ebp - 0x840]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x444f68
mov dword [ebp - 0x844], 0
jmp 0x444fdf
mov ecx, dword [ebp - 0x844]
add ecx, 1
mov dword [ebp - 0x844], ecx
cmp dword [ebp - 0x844], 1
jge 0x445020
cmp dword [ebp - 0x1c], 0
jge 0x444ff6
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 0x44500c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa40]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x444fd0
mov dword [ebp - 4], 1
mov dword [ebp - 0xa44], 0xffffffff
mov dword [ebp - 0xa48], 0
jmp 0x44504c
mov eax, dword [ebp - 0xa48]
add eax, 1
mov dword [ebp - 0xa48], eax
cmp dword [ebp - 0xa48], 1
jge 0x44507e
mov eax, dword [ebp - 0xa48]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x445073
mov edx, dword [ebp - 0xa44]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x44503d
mov dword [ebp - 4], 0xfffffffe
jmp 0x44509e
mov dword [ebp - 0xa4c], 0
jmp 0x4450b9
mov edx, dword [ebp - 0xa4c]
add edx, 1
mov dword [ebp - 0xa4c], edx
cmp dword [ebp - 0xa4c], 2
jge 0x445106
mov eax, dword [ebp - 0xa4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4450e8
mov eax, dword [ebp - 0xa4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4450f8
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], edx
jmp 0x445104
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], eax
jmp 0x4450aa
mov dword [ebp - 0xa50], 0
jmp 0x445121
mov ecx, dword [ebp - 0xa50]
add ecx, 1
mov dword [ebp - 0xa50], ecx
cmp dword [ebp - 0xa50], 6
jge 0x445162
cmp dword [ebp - 0x1c], 0
jge 0x445138
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 0x44514e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x445112
mov eax, 1
test eax, eax
je 0x44519c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc4c], eax
mov eax, dword [ebp - 0xc4c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x44518e
jmp 0x44519c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc4c]
mov dword [ebp - 0x1c], edx
jmp 0x445162
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc50], 0
jmp 0x4451c0
mov ecx, dword [ebp - 0xc50]
add ecx, 1
mov dword [ebp - 0xc50], ecx
cmp dword [ebp - 0xc50], 9
jge 0x4451d7
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc50]
mov dword [ebp - 0x1c], edx
jmp 0x4451b1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4451e9
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 0x445201
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc54], 0
jmp 0x44521c
mov edx, dword [ebp - 0xc54]
add edx, 1
mov dword [ebp - 0xc54], edx
cmp dword [ebp - 0xc54], 6
jge 0x445269
mov eax, dword [ebp - 0xc54]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x44524b
mov eax, dword [ebp - 0xc54]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x44525b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc54]
mov dword [ebp - 0x1c], edx
jmp 0x445267
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc54]
mov dword [ebp - 0x1c], eax
jmp 0x44520d
mov dword [ebp - 0xc58], 0
jmp 0x445284
mov ecx, dword [ebp - 0xc58]
add ecx, 1
mov dword [ebp - 0xc58], ecx
cmp dword [ebp - 0xc58], 8
jge 0x4452d1
mov eax, dword [ebp - 0xc58]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4452b3
mov eax, dword [ebp - 0xc58]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4452c3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc58]
mov dword [ebp - 0x1c], edx
jmp 0x4452cf
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc58]
mov dword [ebp - 0x1c], eax
jmp 0x445275
mov dword [ebp - 0xc5c], 0
jmp 0x4452ec
mov ecx, dword [ebp - 0xc5c]
add ecx, 1
mov dword [ebp - 0xc5c], ecx
cmp dword [ebp - 0xc5c], 3
jge 0x445303
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc5c]
mov dword [ebp - 0x1c], edx
jmp 0x4452dd
cmp dword [ebp - 0x1c], 0
jge 0x445311
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 0x445329
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x445363
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc60], eax
mov eax, dword [ebp - 0xc60]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x445355
jmp 0x445363
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc60]
mov dword [ebp - 0x1c], edx
jmp 0x445329
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4453a6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc64], eax
mov eax, dword [ebp - 0xc64]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x445398
jmp 0x4453a6
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc64]
mov dword [ebp - 0x1c], edx
jmp 0x44536c
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc68], 0
jmp 0x4453ca
mov ecx, dword [ebp - 0xc68]
add ecx, 1
mov dword [ebp - 0xc68], ecx
cmp dword [ebp - 0xc68], 1
jge 0x445417
cmp dword [ebp - 0x1c], 0
jge 0x4453e1
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 0x4453f7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc6c], 0xfa
lea edx, [ebp - 0xc6c]
push edx
lea eax, [ebp - 0xe68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4453bb
mov dword [ebp - 0xe6c], 0
jmp 0x445432
mov ecx, dword [ebp - 0xe6c]
add ecx, 1
mov dword [ebp - 0xe6c], ecx
cmp dword [ebp - 0xe6c], 0
jge 0x445449
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], edx
jmp 0x445423
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x44545b
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 0x445473
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe70], 0
jmp 0x44548e
mov edx, dword [ebp - 0xe70]
add edx, 1
mov dword [ebp - 0xe70], edx
cmp dword [ebp - 0xe70], 2
jge 0x4454a5
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe70]
mov dword [ebp - 0x1c], eax
jmp 0x44547f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4454b7
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 0x4454cf
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe74], 0
jmp 0x4454ea
mov edx, dword [ebp - 0xe74]
add edx, 1
mov dword [ebp - 0xe74], edx
cmp dword [ebp - 0xe74], 8
jge 0x445537
cmp dword [ebp - 0x1c], 0
jge 0x445501
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 0x445517
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe78], 0xfa
lea edx, [ebp - 0xe78]
push edx
lea eax, [ebp - 0x1070]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4454db
mov dword [ebp - 0x1074], 0
jmp 0x445552
mov ecx, dword [ebp - 0x1074]
add ecx, 1
mov dword [ebp - 0x1074], ecx
cmp dword [ebp - 0x1074], 7
jge 0x44559f
cmp dword [ebp - 0x1c], 0
jge 0x445569
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 0x44557f
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 0x445543
mov dword [ebp - 0x1274], 0
jmp 0x4455ba
mov ecx, dword [ebp - 0x1274]
add ecx, 1
mov dword [ebp - 0x1274], ecx
cmp dword [ebp - 0x1274], 2
jge 0x4455d1
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1274]
mov dword [ebp - 0x1c], edx
jmp 0x4455ab
cmp dword [ebp - 0x1c], 0
jge 0x4455df
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 0x4455f7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1278], 0
jmp 0x445612
mov edx, dword [ebp - 0x1278]
add edx, 1
mov dword [ebp - 0x1278], edx
cmp dword [ebp - 0x1278], 1
jge 0x445629
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1278]
mov dword [ebp - 0x1c], eax
jmp 0x445603
cmp dword [ebp - 0x1c], 0
jge 0x445637
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 0x44564f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x127c], 0
jmp 0x44566a
mov edx, dword [ebp - 0x127c]
add edx, 1
mov dword [ebp - 0x127c], edx
cmp dword [ebp - 0x127c], 0
jge 0x4456b7
cmp dword [ebp - 0x1c], 0
jge 0x445681
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 0x445697
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1280], 0xfa
lea edx, [ebp - 0x1280]
push edx
lea eax, [ebp - 0x1478]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x44565b
mov dword [ebp - 0x147c], 0
jmp 0x4456d2
mov ecx, dword [ebp - 0x147c]
add ecx, 1
mov dword [ebp - 0x147c], ecx
cmp dword [ebp - 0x147c], 4
jge 0x4456e9
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x147c]
mov dword [ebp - 0x1c], edx
jmp 0x4456c3
cmp dword [ebp - 0x1c], 0
jge 0x4456f7
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 0x44570f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1480], 0
jmp 0x44572a
mov edx, dword [ebp - 0x1480]
add edx, 1
mov dword [ebp - 0x1480], edx
cmp dword [ebp - 0x1480], 7
jge 0x44576b
cmp dword [ebp - 0x1c], 0
jge 0x445741
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 0x445757
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1678]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x44571b
mov dword [ebp - 0x167c], 0
jmp 0x445786
mov eax, dword [ebp - 0x167c]
add eax, 1
mov dword [ebp - 0x167c], eax
cmp dword [ebp - 0x167c], 5
jge 0x4457c7
cmp dword [ebp - 0x1c], 0
jge 0x44579d
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 0x4457b3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1878]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x445777
mov dword [ebp - 0x187c], 0
jmp 0x4457e2
mov eax, dword [ebp - 0x187c]
add eax, 1
mov dword [ebp - 0x187c], eax
cmp dword [ebp - 0x187c], 1
jge 0x4457f9
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x187c]
mov dword [ebp - 0x1c], ecx
jmp 0x4457d3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x44580b
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 0x445823
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1880], 0
jmp 0x44583e
mov edx, dword [ebp - 0x1880]
add edx, 1
mov dword [ebp - 0x1880], edx
cmp dword [ebp - 0x1880], 7
jge 0x44588b
cmp dword [ebp - 0x1c], 0
jge 0x445855
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 0x44586b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1884], 0xfa
lea edx, [ebp - 0x1884]
push edx
lea eax, [ebp - 0x1a80]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x44582f
mov dword [ebp - 0x1a84], 0
jmp 0x4458a6
mov ecx, dword [ebp - 0x1a84]
add ecx, 1
mov dword [ebp - 0x1a84], ecx
cmp dword [ebp - 0x1a84], 7
jge 0x4458bd
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1a84]
mov dword [ebp - 0x1c], edx
jmp 0x445897
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4458cf
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 0x4458e7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x445921
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1a88], eax
mov eax, dword [ebp - 0x1a88]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x445913
jmp 0x445921
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1a88]
mov dword [ebp - 0x1c], edx
jmp 0x4458e7
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x445964
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1a8c], eax
mov eax, dword [ebp - 0x1a8c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x445956
jmp 0x445964
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1a8c]
mov dword [ebp - 0x1c], edx
jmp 0x44592a
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x1a90], 0xffffffff
mov dword [ebp - 0x1a94], 0
jmp 0x445999
mov ecx, dword [ebp - 0x1a94]
add ecx, 1
mov dword [ebp - 0x1a94], ecx
cmp dword [ebp - 0x1a94], 3
jge 0x4459cb
mov eax, dword [ebp - 0x1a94]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4459c0
mov edx, dword [ebp - 0x1a90]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x44598a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4459eb
mov dword [ebp - 0x1a98], 0
jmp 0x445a06
mov edx, dword [ebp - 0x1a98]
add edx, 1
mov dword [ebp - 0x1a98], edx
cmp dword [ebp - 0x1a98], 0
jge 0x445a53
cmp dword [ebp - 0x1c], 0
jge 0x445a1d
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 0x445a33
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1a9c], 0xfa
lea edx, [ebp - 0x1a9c]
push edx
lea eax, [ebp - 0x1c98]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4459f7
mov dword [ebp - 0x1c9c], 0
jmp 0x445a6e
mov ecx, dword [ebp - 0x1c9c]
add ecx, 1
mov dword [ebp - 0x1c9c], ecx
cmp dword [ebp - 0x1c9c], 5
jge 0x445abb
mov eax, dword [ebp - 0x1c9c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x445a9d
mov eax, dword [ebp - 0x1c9c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x445aad
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1c], edx
jmp 0x445ab9
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1c], eax
jmp 0x445a5f
mov dword [ebp - 0x1ca0], 0
jmp 0x445ad6
mov ecx, dword [ebp - 0x1ca0]
add ecx, 1
mov dword [ebp - 0x1ca0], ecx
cmp dword [ebp - 0x1ca0], 3
jge 0x445aed
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1ca0]
mov dword [ebp - 0x1c], edx
jmp 0x445ac7
cmp dword [ebp - 0x1c], 0
jge 0x445afb
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 0x445b13
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ca4], 0
jmp 0x445b2e
mov edx, dword [ebp - 0x1ca4]
add edx, 1
mov dword [ebp - 0x1ca4], edx
cmp dword [ebp - 0x1ca4], 1
jge 0x445b6f
cmp dword [ebp - 0x1c], 0
jge 0x445b45
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 0x445b5b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ea0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x445b1f
mov eax, 1
test eax, eax
je 0x445ba9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ea4], eax
mov eax, dword [ebp - 0x1ea4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x445b9b
jmp 0x445ba9
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ea4]
mov dword [ebp - 0x1c], edx
jmp 0x445b6f
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x1ea8], 0xffffffff
mov dword [ebp - 0x1eac], 0
jmp 0x445bde
mov ecx, dword [ebp - 0x1eac]
add ecx, 1
mov dword [ebp - 0x1eac], ecx
cmp dword [ebp - 0x1eac], 0
jge 0x445c10
mov eax, dword [ebp - 0x1eac]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x445c05
mov edx, dword [ebp - 0x1ea8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x445bcf
mov dword [ebp - 4], 0xfffffffe
jmp 0x445c30
mov dword [ebp - 0x1eb0], 0
jmp 0x445c4b
mov edx, dword [ebp - 0x1eb0]
add edx, 1
mov dword [ebp - 0x1eb0], edx
cmp dword [ebp - 0x1eb0], 3
jge 0x445c62
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1eb0]
mov dword [ebp - 0x1c], eax
jmp 0x445c3c
cmp dword [ebp - 0x1c], 0
jge 0x445c70
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 0x445c88
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1eb4], 0
jmp 0x445ca3
mov edx, dword [ebp - 0x1eb4]
add edx, 1
mov dword [ebp - 0x1eb4], edx
cmp dword [ebp - 0x1eb4], 2
jge 0x445cba
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1eb4]
mov dword [ebp - 0x1c], eax
jmp 0x445c94
cmp dword [ebp - 0x1c], 0
jge 0x445cc8
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 0x445ce0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1eb8], 0
jmp 0x445cfb
cmp dword [ebp - 0x1eb8], 3
jge 0x445d12
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1eb8]
mov dword [ebp - 0x1c], eax
jmp 0x445cec
cmp dword [ebp - 0x1c], 0
jge 0x445d20