Function at 0x4aa640
Capabilities:
Get common file path
Get session user name

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512f20
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1e90
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 0x4aa6b8
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 0x4aa6ad
jmp 0x4aa6b8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4aa687
mov eax, dword [ebp - 0x1c]
add eax, 0xd
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x4aa6d3
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 1
jge 0x4aa717
cmp dword [ebp - 0x1c], 0
jge 0x4aa6e7
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 0x4aa6fd
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 0x4aa6ca
mov ecx, 1
test ecx, ecx
je 0x4aa751
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 0x4aa743
jmp 0x4aa751
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x4aa717
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x4aa775
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 4
jge 0x4aa7c2
mov eax, dword [ebp - 0x230]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4aa7a4
mov eax, dword [ebp - 0x230]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4aa7b4
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x4aa7c0
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x230]
mov dword [ebp - 0x1c], eax
jmp 0x4aa766
mov dword [ebp - 0x234], 0
jmp 0x4aa7dd
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 7
jge 0x4aa7f4
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4aa7ce
cmp dword [ebp - 0x1c], 0
jge 0x4aa802
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 0x4aa81a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x4aa835
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 1
jge 0x4aa84c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x238]
mov dword [ebp - 0x1c], eax
jmp 0x4aa826
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4aa85e
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 0x4aa876
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4aa8b0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4aa8a2
jmp 0x4aa8b0
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], edx
jmp 0x4aa876
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x240], 0
jmp 0x4aa8d4
mov ecx, dword [ebp - 0x240]
add ecx, 1
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 3
jge 0x4aa915
cmp dword [ebp - 0x1c], 0
jge 0x4aa8eb
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 0x4aa901
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4aa8c5
mov dword [ebp - 4], 0
mov dword [ebp - 0x43c], 0xffffffff
mov dword [ebp - 0x440], 0
jmp 0x4aa941
mov eax, dword [ebp - 0x440]
add eax, 1
mov dword [ebp - 0x440], eax
cmp dword [ebp - 0x440], 2
jge 0x4aa973
mov eax, dword [ebp - 0x440]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4aa968
mov edx, dword [ebp - 0x43c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4aa932
mov dword [ebp - 4], 0xfffffffe
jmp 0x4aa993
mov dword [ebp - 0x444], 0
jmp 0x4aa9ae
mov edx, dword [ebp - 0x444]
add edx, 1
mov dword [ebp - 0x444], edx
cmp dword [ebp - 0x444], 0
jge 0x4aa9c5
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x444]
mov dword [ebp - 0x1c], eax
jmp 0x4aa99f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4aa9d7
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 0x4aa9ef
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x448], 0
jmp 0x4aaa0a
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 1
jge 0x4aaa21
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x448]
mov dword [ebp - 0x1c], eax
jmp 0x4aa9fb
cmp dword [ebp - 0x1c], 0
jge 0x4aaa2f
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 0x4aaa47
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4aaa81
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x44c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4aaa73
jmp 0x4aaa81
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x44c]
mov dword [ebp - 0x1c], edx
jmp 0x4aaa47
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x450], 0
jmp 0x4aaaa5
mov ecx, dword [ebp - 0x450]
add ecx, 1
mov dword [ebp - 0x450], ecx
cmp dword [ebp - 0x450], 4
jge 0x4aaabc
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x450]
mov dword [ebp - 0x1c], edx
jmp 0x4aaa96
cmp dword [ebp - 0x1c], 0
jge 0x4aaaca
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 0x4aaae2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x454], 0
jmp 0x4aaafd
mov edx, dword [ebp - 0x454]
add edx, 1
mov dword [ebp - 0x454], edx
cmp dword [ebp - 0x454], 3
jge 0x4aab3e
cmp dword [ebp - 0x1c], 0
jge 0x4aab14
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 0x4aab2a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4aaaee
mov dword [ebp - 0x654], 0
jmp 0x4aab59
mov eax, dword [ebp - 0x654]
add eax, 1
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 3
jge 0x4aaba6
cmp dword [ebp - 0x1c], 0
jge 0x4aab70
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 0x4aab86
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x658], 0xfa
lea edx, [ebp - 0x658]
push edx
lea eax, [ebp - 0x850]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4aab4a
mov dword [ebp - 0x854], 0
jmp 0x4aabc1
mov ecx, dword [ebp - 0x854]
add ecx, 1
mov dword [ebp - 0x854], ecx
cmp dword [ebp - 0x854], 4
jge 0x4aac02
cmp dword [ebp - 0x1c], 0
jge 0x4aabd8
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 0x4aabee
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa50]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4aabb2
mov dword [ebp - 0xa54], 0
jmp 0x4aac1d
mov eax, dword [ebp - 0xa54]
add eax, 1
mov dword [ebp - 0xa54], eax
cmp dword [ebp - 0xa54], 0
jge 0x4aac6a
cmp dword [ebp - 0x1c], 0
jge 0x4aac34
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 0x4aac4a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa58], 0xfa
lea edx, [ebp - 0xa58]
push edx
lea eax, [ebp - 0xc50]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4aac0e
mov ecx, 1
test ecx, ecx
je 0x4aaca4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc54], eax
mov eax, dword [ebp - 0xc54]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4aac96
jmp 0x4aaca4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc54]
mov dword [ebp - 0x1c], edx
jmp 0x4aac6a
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc58], 0
jmp 0x4aacc8
mov ecx, dword [ebp - 0xc58]
add ecx, 1
mov dword [ebp - 0xc58], ecx
cmp dword [ebp - 0xc58], 3
jge 0x4aacdf
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc58]
mov dword [ebp - 0x1c], edx
jmp 0x4aacb9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4aacf1
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 0x4aad09
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc5c], 0
jmp 0x4aad24
mov edx, dword [ebp - 0xc5c]
add edx, 1
mov dword [ebp - 0xc5c], edx
cmp dword [ebp - 0xc5c], 1
jge 0x4aad65
cmp dword [ebp - 0x1c], 0
jge 0x4aad3b
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 0x4aad51
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe58]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4aad15
mov dword [ebp - 0xe5c], 0
jmp 0x4aad80
mov eax, dword [ebp - 0xe5c]
add eax, 1
mov dword [ebp - 0xe5c], eax
cmp dword [ebp - 0xe5c], 4
jge 0x4aadc1
cmp dword [ebp - 0x1c], 0
jge 0x4aad97
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 0x4aadad
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1058]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4aad71
mov dword [ebp - 0x105c], 0
jmp 0x4aaddc
mov eax, dword [ebp - 0x105c]
add eax, 1
mov dword [ebp - 0x105c], eax
cmp dword [ebp - 0x105c], 3
jge 0x4aae29
cmp dword [ebp - 0x1c], 0
jge 0x4aadf3
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 0x4aae09
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1060], 0xfa
lea edx, [ebp - 0x1060]
push edx
lea eax, [ebp - 0x1258]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4aadcd
mov dword [ebp - 0x125c], 0
jmp 0x4aae44
mov ecx, dword [ebp - 0x125c]
add ecx, 1
mov dword [ebp - 0x125c], ecx
cmp dword [ebp - 0x125c], 4
jge 0x4aae5b
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x125c]
mov dword [ebp - 0x1c], edx
jmp 0x4aae35
cmp dword [ebp - 0x1c], 0
jge 0x4aae69
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 0x4aae81
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4aaebb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1260], eax
mov eax, dword [ebp - 0x1260]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4aaead
jmp 0x4aaebb
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1260]
mov dword [ebp - 0x1c], edx
jmp 0x4aae81
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4aaefb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1264], eax
mov eax, dword [ebp - 0x1264]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4aaeed
jmp 0x4aaefb
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1264]
mov dword [ebp - 0x1c], edx
jmp 0x4aaec1
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1268], 0
jmp 0x4aaf1c
mov ecx, dword [ebp - 0x1268]
add ecx, 1
mov dword [ebp - 0x1268], ecx
cmp dword [ebp - 0x1268], 4
jge 0x4aaf69
mov eax, dword [ebp - 0x1268]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4aaf4b
mov eax, dword [ebp - 0x1268]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4aaf5b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1268]
mov dword [ebp - 0x1c], edx
jmp 0x4aaf67
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1268]
mov dword [ebp - 0x1c], eax
jmp 0x4aaf0d
mov dword [ebp - 4], 1
mov dword [ebp - 0x126c], 0xffffffff
mov dword [ebp - 0x1270], 0
jmp 0x4aaf95
mov ecx, dword [ebp - 0x1270]
add ecx, 1
mov dword [ebp - 0x1270], ecx
cmp dword [ebp - 0x1270], 0
jge 0x4aafc7
mov eax, dword [ebp - 0x1270]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4aafbc
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 0x4aaf86
mov dword [ebp - 4], 0xfffffffe
jmp 0x4aafe7
mov dword [ebp - 0x1274], 0
jmp 0x4ab002
mov edx, dword [ebp - 0x1274]
add edx, 1
mov dword [ebp - 0x1274], edx
cmp dword [ebp - 0x1274], 3
jge 0x4ab043
cmp dword [ebp - 0x1c], 0
jge 0x4ab019
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 0x4ab02f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1470]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4aaff3
mov dword [ebp - 0x1474], 0
jmp 0x4ab05e
mov eax, dword [ebp - 0x1474]
add eax, 1
mov dword [ebp - 0x1474], eax
cmp dword [ebp - 0x1474], 0
jge 0x4ab0ab
cmp dword [ebp - 0x1c], 0
jge 0x4ab075
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 0x4ab08b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1478], 0xfa
lea edx, [ebp - 0x1478]
push edx
lea eax, [ebp - 0x1670]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ab04f
mov dword [ebp - 0x1674], 0
jmp 0x4ab0c6
mov ecx, dword [ebp - 0x1674]
add ecx, 1
mov dword [ebp - 0x1674], ecx
cmp dword [ebp - 0x1674], 1
jge 0x4ab0dd
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1674]
mov dword [ebp - 0x1c], edx
jmp 0x4ab0b7
cmp dword [ebp - 0x1c], 0
jge 0x4ab0eb
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 0x4ab103
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4ab13d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1678], eax
mov eax, dword [ebp - 0x1678]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ab12f
jmp 0x4ab13d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1678]
mov dword [ebp - 0x1c], edx
jmp 0x4ab103
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x167c], 0
jmp 0x4ab161
mov ecx, dword [ebp - 0x167c]
add ecx, 1
mov dword [ebp - 0x167c], ecx
cmp dword [ebp - 0x167c], 0
jge 0x4ab1ae
mov eax, dword [ebp - 0x167c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ab190
mov eax, dword [ebp - 0x167c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ab1a0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x167c]
mov dword [ebp - 0x1c], edx
jmp 0x4ab1ac
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x167c]
mov dword [ebp - 0x1c], eax
jmp 0x4ab152
mov dword [ebp - 4], 2
mov dword [ebp - 0x1680], 0xffffffff
mov dword [ebp - 0x1684], 0
jmp 0x4ab1da
mov ecx, dword [ebp - 0x1684]
add ecx, 1
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 3
jge 0x4ab20c
mov eax, dword [ebp - 0x1684]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ab201
mov edx, dword [ebp - 0x1680]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ab1cb
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ab22c
mov dword [ebp - 0x1688], 0
jmp 0x4ab247
mov edx, dword [ebp - 0x1688]
add edx, 1
mov dword [ebp - 0x1688], edx
cmp dword [ebp - 0x1688], 1
jge 0x4ab294
cmp dword [ebp - 0x1c], 0
jge 0x4ab25e
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 0x4ab274
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x168c], 0xfa
lea edx, [ebp - 0x168c]
push edx
lea eax, [ebp - 0x1888]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ab238
mov dword [ebp - 0x188c], 0
jmp 0x4ab2af
mov ecx, dword [ebp - 0x188c]
add ecx, 1
mov dword [ebp - 0x188c], ecx
cmp dword [ebp - 0x188c], 1
jge 0x4ab2c6
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x188c]
mov dword [ebp - 0x1c], edx
jmp 0x4ab2a0
cmp dword [ebp - 0x1c], 0
jge 0x4ab2d4
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 0x4ab2ec
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1890], 0
jmp 0x4ab307
mov edx, dword [ebp - 0x1890]
add edx, 1
mov dword [ebp - 0x1890], edx
cmp dword [ebp - 0x1890], 4
jge 0x4ab354
cmp dword [ebp - 0x1c], 0
jge 0x4ab31e
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 0x4ab334
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1894], 0xfa
lea edx, [ebp - 0x1894]
push edx
lea eax, [ebp - 0x1a90]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ab2f8
mov dword [ebp - 0x1a94], 0
jmp 0x4ab36f
mov ecx, dword [ebp - 0x1a94]
add ecx, 1
mov dword [ebp - 0x1a94], ecx
cmp dword [ebp - 0x1a94], 4
jge 0x4ab3b0
cmp dword [ebp - 0x1c], 0
jge 0x4ab386
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 0x4ab39c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1c90]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ab360
mov dword [ebp - 4], 3
mov dword [ebp - 0x1c94], 0xffffffff
mov dword [ebp - 0x1c98], 0
jmp 0x4ab3dc
mov eax, dword [ebp - 0x1c98]
add eax, 1
mov dword [ebp - 0x1c98], eax
cmp dword [ebp - 0x1c98], 3
jge 0x4ab40e
mov eax, dword [ebp - 0x1c98]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ab403
mov edx, dword [ebp - 0x1c94]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ab3cd
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ab42e
mov dword [ebp - 0x1c9c], 0
jmp 0x4ab449
mov edx, dword [ebp - 0x1c9c]
add edx, 1
mov dword [ebp - 0x1c9c], edx
cmp dword [ebp - 0x1c9c], 0
jge 0x4ab460
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1c], eax
jmp 0x4ab43a
cmp dword [ebp - 0x1c], 0
jge 0x4ab46e
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 0x4ab486
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4ab4c0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ca0], eax
mov eax, dword [ebp - 0x1ca0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ab4b2
jmp 0x4ab4c0
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ca0]
mov dword [ebp - 0x1c], edx
jmp 0x4ab486
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x1ca4], 0xffffffff
mov dword [ebp - 0x1ca8], 0
jmp 0x4ab4f2
mov ecx, dword [ebp - 0x1ca8]
add ecx, 1
mov dword [ebp - 0x1ca8], ecx
cmp dword [ebp - 0x1ca8], 3
jge 0x4ab524
mov eax, dword [ebp - 0x1ca8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ab519
mov edx, dword [ebp - 0x1ca4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ab4e3
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ab544
mov dword [ebp - 0x1cac], 0
jmp 0x4ab55f
mov edx, dword [ebp - 0x1cac]
add edx, 1
mov dword [ebp - 0x1cac], edx
cmp dword [ebp - 0x1cac], 4
jge 0x4ab5ac
cmp dword [ebp - 0x1c], 0
jge 0x4ab576
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 0x4ab58c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1cb0], 0xfa
lea edx, [ebp - 0x1cb0]
push edx
lea eax, [ebp - 0x1ea8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ab550
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