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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511dc0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x3950
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x38], 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 0x475848
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 0x47583d
jmp 0x475848
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x475817
mov eax, dword [ebp - 0x1c]
add eax, 9
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x475863
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x1b
jge 0x475874
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x47585a
cmp dword [ebp - 0x1c], 0
jge 0x475882
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 0x47589a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x2c], 0
jmp 0x4758ba
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x38
jge 0x4758e3
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4758d8
mov edx, dword [ebp - 0x28]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4758b1
mov dword [ebp - 4], 0xfffffffe
jmp 0x475903
mov dword [ebp - 0x30], 0
jmp 0x475915
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0x25
jge 0x475959
cmp dword [ebp - 0x1c], 0
jge 0x475929
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 0x47593f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], 0xfa
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47590c
mov dword [ebp - 4], 1
mov dword [ebp - 0x234], 0xffffffff
mov dword [ebp - 0x238], 0
jmp 0x475985
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x10
jge 0x4759b7
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4759ac
mov edx, dword [ebp - 0x234]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x475976
mov dword [ebp - 4], 0xfffffffe
jmp 0x4759d7
mov dword [ebp - 0x23c], 0
jmp 0x4759f2
mov edx, dword [ebp - 0x23c]
add edx, 1
mov dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 0x11
jge 0x475a33
cmp dword [ebp - 0x1c], 0
jge 0x475a09
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 0x475a1f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4759e3
mov dword [ebp - 0x43c], 0
jmp 0x475a4e
mov eax, dword [ebp - 0x43c]
add eax, 1
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0x1a
jge 0x475a9b
mov eax, dword [ebp - 0x43c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x475a7d
mov eax, dword [ebp - 0x43c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x475a8d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x475a99
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], eax
jmp 0x475a3f
mov dword [ebp - 0x440], 0
jmp 0x475ab6
mov ecx, dword [ebp - 0x440]
add ecx, 1
mov dword [ebp - 0x440], ecx
cmp dword [ebp - 0x440], 0x20
jge 0x475acd
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x440]
mov dword [ebp - 0x1c], edx
jmp 0x475aa7
cmp dword [ebp - 0x1c], 0
jge 0x475adb
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 0x475af3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x475b2d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x444]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x475b1f
jmp 0x475b2d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], edx
jmp 0x475af3
mov eax, dword [ebp - 0x1c]
add eax, 0x1c
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x475b70
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x448], eax
mov eax, dword [ebp - 0x448]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x475b62
jmp 0x475b70
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x448]
mov dword [ebp - 0x1c], edx
jmp 0x475b36
mov eax, dword [ebp - 0x1c]
add eax, 0x1e
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44c], 0
jmp 0x475b94
mov ecx, dword [ebp - 0x44c]
add ecx, 1
mov dword [ebp - 0x44c], ecx
cmp dword [ebp - 0x44c], 0xa
jge 0x475be1
mov eax, dword [ebp - 0x44c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x475bc3
mov eax, dword [ebp - 0x44c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x475bd3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x44c]
mov dword [ebp - 0x1c], edx
jmp 0x475bdf
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x44c]
mov dword [ebp - 0x1c], eax
jmp 0x475b85
mov dword [ebp - 0x450], 0
jmp 0x475bfc
mov ecx, dword [ebp - 0x450]
add ecx, 1
mov dword [ebp - 0x450], ecx
cmp dword [ebp - 0x450], 0x15
jge 0x475c49
cmp dword [ebp - 0x1c], 0
jge 0x475c13
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 0x475c29
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x454], 0xfa
lea edx, [ebp - 0x454]
push edx
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x475bed
mov dword [ebp - 4], 2
mov dword [ebp - 0x654], 0xffffffff
mov dword [ebp - 0x658], 0
jmp 0x475c75
mov ecx, dword [ebp - 0x658]
add ecx, 1
mov dword [ebp - 0x658], ecx
cmp dword [ebp - 0x658], 0xd
jge 0x475ca7
mov eax, dword [ebp - 0x658]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x475c9c
mov edx, dword [ebp - 0x654]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x475c66
mov dword [ebp - 4], 0xfffffffe
jmp 0x475cc7
mov dword [ebp - 0x65c], 0
jmp 0x475ce2
mov edx, dword [ebp - 0x65c]
add edx, 1
mov dword [ebp - 0x65c], edx
cmp dword [ebp - 0x65c], 0xc
jge 0x475d23
cmp dword [ebp - 0x1c], 0
jge 0x475cf9
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 0x475d0f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x858]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x475cd3
mov eax, 1
test eax, eax
je 0x475d5d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x85c], eax
mov eax, dword [ebp - 0x85c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x475d4f
jmp 0x475d5d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], edx
jmp 0x475d23
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x860], 0
jmp 0x475d81
mov ecx, dword [ebp - 0x860]
add ecx, 1
mov dword [ebp - 0x860], ecx
cmp dword [ebp - 0x860], 8
jge 0x475dc2
cmp dword [ebp - 0x1c], 0
jge 0x475d98
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 0x475dae
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa58]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x475d72
mov dword [ebp - 0xa5c], 0
jmp 0x475ddd
mov eax, dword [ebp - 0xa5c]
add eax, 1
mov dword [ebp - 0xa5c], eax
cmp dword [ebp - 0xa5c], 0x10
jge 0x475e2a
mov eax, dword [ebp - 0xa5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x475e0c
mov eax, dword [ebp - 0xa5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x475e1c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], edx
jmp 0x475e28
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], eax
jmp 0x475dce
mov dword [ebp - 0xa60], 0
jmp 0x475e45
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa60], ecx
cmp dword [ebp - 0xa60], 7
jge 0x475e5c
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa60]
mov dword [ebp - 0x1c], edx
jmp 0x475e36
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x475e6e
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 0x475e86
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa64], 0
jmp 0x475ea1
mov edx, dword [ebp - 0xa64]
add edx, 1
mov dword [ebp - 0xa64], edx
cmp dword [ebp - 0xa64], 0
jge 0x475eb8
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xa64]
mov dword [ebp - 0x1c], eax
jmp 0x475e92
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x475eca
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 0x475ee2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa68], 0
jmp 0x475efd
mov edx, dword [ebp - 0xa68]
add edx, 1
mov dword [ebp - 0xa68], edx
cmp dword [ebp - 0xa68], 0
jge 0x475f4a
cmp dword [ebp - 0x1c], 0
jge 0x475f14
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 0x475f2a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa6c], 0xfa
lea edx, [ebp - 0xa6c]
push edx
lea eax, [ebp - 0xc68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x475eee
mov dword [ebp - 0xc6c], 0
jmp 0x475f65
mov ecx, dword [ebp - 0xc6c]
add ecx, 1
mov dword [ebp - 0xc6c], ecx
cmp dword [ebp - 0xc6c], 0
jge 0x475fa6
cmp dword [ebp - 0x1c], 0
jge 0x475f7c
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 0x475f92
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x475f56
mov dword [ebp - 0xe6c], 0
jmp 0x475fc1
mov eax, dword [ebp - 0xe6c]
add eax, 1
mov dword [ebp - 0xe6c], eax
cmp dword [ebp - 0xe6c], 8
jge 0x476002
cmp dword [ebp - 0x1c], 0
jge 0x475fd8
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 0x475fee
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1068]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x475fb2
mov dword [ebp - 0x106c], 0
jmp 0x47601d
mov eax, dword [ebp - 0x106c]
add eax, 1
mov dword [ebp - 0x106c], eax
cmp dword [ebp - 0x106c], 2
jge 0x476034
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x106c]
mov dword [ebp - 0x1c], ecx
jmp 0x47600e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x476046
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 0x47605e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1070], 0
jmp 0x476079
mov edx, dword [ebp - 0x1070]
add edx, 1
mov dword [ebp - 0x1070], edx
cmp dword [ebp - 0x1070], 5
jge 0x4760c6
mov eax, dword [ebp - 0x1070]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4760a8
mov eax, dword [ebp - 0x1070]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4760b8
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1070]
mov dword [ebp - 0x1c], edx
jmp 0x4760c4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1070]
mov dword [ebp - 0x1c], eax
jmp 0x47606a
mov dword [ebp - 0x1074], 0
jmp 0x4760e1
mov ecx, dword [ebp - 0x1074]
add ecx, 1
mov dword [ebp - 0x1074], ecx
cmp dword [ebp - 0x1074], 5
jge 0x4760f8
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1074]
mov dword [ebp - 0x1c], edx
jmp 0x4760d2
cmp dword [ebp - 0x1c], 0
jge 0x476106
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 0x47611e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1078], 0
jmp 0x476139
mov edx, dword [ebp - 0x1078]
add edx, 1
mov dword [ebp - 0x1078], edx
cmp dword [ebp - 0x1078], 5
jge 0x476150
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1078]
mov dword [ebp - 0x1c], eax
jmp 0x47612a
cmp dword [ebp - 0x1c], 0
jge 0x47615e
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 0x476176
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x107c], 0
jmp 0x476191
mov edx, dword [ebp - 0x107c]
add edx, 1
mov dword [ebp - 0x107c], edx
cmp dword [ebp - 0x107c], 3
jge 0x4761a8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x107c]
mov dword [ebp - 0x1c], eax
jmp 0x476182
cmp dword [ebp - 0x1c], 0
jge 0x4761b6
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 0x4761ce
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x476208
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1080], eax
mov eax, dword [ebp - 0x1080]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4761fa
jmp 0x476208
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1080]
mov dword [ebp - 0x1c], edx
jmp 0x4761ce
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1084], 0
jmp 0x47622c
mov ecx, dword [ebp - 0x1084]
add ecx, 1
mov dword [ebp - 0x1084], ecx
cmp dword [ebp - 0x1084], 4
jge 0x476279
mov eax, dword [ebp - 0x1084]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47625b
mov eax, dword [ebp - 0x1084]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47626b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1084]
mov dword [ebp - 0x1c], edx
jmp 0x476277
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1084]
mov dword [ebp - 0x1c], eax
jmp 0x47621d
mov dword [ebp - 0x1088], 0
jmp 0x476294
mov ecx, dword [ebp - 0x1088]
add ecx, 1
mov dword [ebp - 0x1088], ecx
cmp dword [ebp - 0x1088], 6
jge 0x4762e1
cmp dword [ebp - 0x1c], 0
jge 0x4762ab
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 0x4762c1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x108c], 0xfa
lea edx, [ebp - 0x108c]
push edx
lea eax, [ebp - 0x1288]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x476285
mov dword [ebp - 0x128c], 0
jmp 0x4762fc
mov ecx, dword [ebp - 0x128c]
add ecx, 1
mov dword [ebp - 0x128c], ecx
cmp dword [ebp - 0x128c], 2
jge 0x476313
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x128c]
mov dword [ebp - 0x1c], edx
jmp 0x4762ed
cmp dword [ebp - 0x1c], 0
jge 0x476321
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 0x476339
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1290], 0
jmp 0x476354
mov edx, dword [ebp - 0x1290]
add edx, 1
mov dword [ebp - 0x1290], edx
cmp dword [ebp - 0x1290], 1
jge 0x4763a1
cmp dword [ebp - 0x1c], 0
jge 0x47636b
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 0x476381
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1294], 0xfa
lea edx, [ebp - 0x1294]
push edx
lea eax, [ebp - 0x1490]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x476345
mov dword [ebp - 0x1494], 0
jmp 0x4763bc
mov ecx, dword [ebp - 0x1494]
add ecx, 1
mov dword [ebp - 0x1494], ecx
cmp dword [ebp - 0x1494], 0
jge 0x476409
mov eax, dword [ebp - 0x1494]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4763eb
mov eax, dword [ebp - 0x1494]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4763fb
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1494]
mov dword [ebp - 0x1c], edx
jmp 0x476407
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1494]
mov dword [ebp - 0x1c], eax
jmp 0x4763ad
mov dword [ebp - 4], 3
mov dword [ebp - 0x1498], 0xffffffff
mov dword [ebp - 0x149c], 0
jmp 0x476435
mov ecx, dword [ebp - 0x149c]
add ecx, 1
mov dword [ebp - 0x149c], ecx
cmp dword [ebp - 0x149c], 1
jge 0x476467
mov eax, dword [ebp - 0x149c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x47645c
mov edx, dword [ebp - 0x1498]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x476426
mov dword [ebp - 4], 0xfffffffe
jmp 0x476487
mov dword [ebp - 4], 4
mov dword [ebp - 0x14a0], 0xffffffff
mov dword [ebp - 0x14a4], 0
jmp 0x4764b3
mov edx, dword [ebp - 0x14a4]
add edx, 1
mov dword [ebp - 0x14a4], edx
cmp dword [ebp - 0x14a4], 1
jge 0x4764e5
mov eax, dword [ebp - 0x14a4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4764da
mov edx, dword [ebp - 0x14a0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4764a4
mov dword [ebp - 4], 0xfffffffe
jmp 0x476505
mov dword [ebp - 0x14a8], 0
jmp 0x476520
mov edx, dword [ebp - 0x14a8]
add edx, 1
mov dword [ebp - 0x14a8], edx
cmp dword [ebp - 0x14a8], 2
jge 0x476561
cmp dword [ebp - 0x1c], 0
jge 0x476537
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 0x47654d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x476511
mov dword [ebp - 0x16a4], 0
jmp 0x47657c
mov eax, dword [ebp - 0x16a4]
add eax, 1
mov dword [ebp - 0x16a4], eax
cmp dword [ebp - 0x16a4], 4
jge 0x4765c9
cmp dword [ebp - 0x1c], 0
jge 0x476593
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 0x4765a9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16a8], 0xfa
lea edx, [ebp - 0x16a8]
push edx
lea eax, [ebp - 0x18a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47656d
mov dword [ebp - 0x18a4], 0
jmp 0x4765e4
mov ecx, dword [ebp - 0x18a4]
add ecx, 1
mov dword [ebp - 0x18a4], ecx
cmp dword [ebp - 0x18a4], 7
jge 0x4765fb
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x18a4]
mov dword [ebp - 0x1c], edx
jmp 0x4765d5
cmp dword [ebp - 0x1c], 0
jge 0x476609
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 0x476621
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18a8], 0
jmp 0x47663c
mov edx, dword [ebp - 0x18a8]
add edx, 1
mov dword [ebp - 0x18a8], edx
cmp dword [ebp - 0x18a8], 3
jge 0x476689
cmp dword [ebp - 0x1c], 0
jge 0x476653
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 0x476669
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18ac], 0xfa
lea edx, [ebp - 0x18ac]
push edx
lea eax, [ebp - 0x1aa8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47662d
mov ecx, 1
test ecx, ecx
je 0x4766c3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1aac], eax
mov eax, dword [ebp - 0x1aac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4766b5
jmp 0x4766c3
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1aac]
mov dword [ebp - 0x1c], edx
jmp 0x476689
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ab0], 0
jmp 0x4766e7
mov ecx, dword [ebp - 0x1ab0]
add ecx, 1
mov dword [ebp - 0x1ab0], ecx
cmp dword [ebp - 0x1ab0], 2
jge 0x476734
mov eax, dword [ebp - 0x1ab0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x476716
mov eax, dword [ebp - 0x1ab0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x476726
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ab0]
mov dword [ebp - 0x1c], edx
jmp 0x476732
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ab0]
mov dword [ebp - 0x1c], eax
jmp 0x4766d8
mov dword [ebp - 0x1ab4], 0
jmp 0x47674f
mov ecx, dword [ebp - 0x1ab4]
add ecx, 1
mov dword [ebp - 0x1ab4], ecx
cmp dword [ebp - 0x1ab4], 2
jge 0x476766
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1ab4]
mov dword [ebp - 0x1c], edx
jmp 0x476740
cmp dword [ebp - 0x1c], 0
jge 0x476774
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 0x47678c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ab8], 0
jmp 0x4767a7
mov edx, dword [ebp - 0x1ab8]
add edx, 1
mov dword [ebp - 0x1ab8], edx
cmp dword [ebp - 0x1ab8], 5
jge 0x4767f4
mov eax, dword [ebp - 0x1ab8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4767d6
mov eax, dword [ebp - 0x1ab8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4767e6
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ab8]
mov dword [ebp - 0x1c], edx
jmp 0x4767f2
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ab8]
mov dword [ebp - 0x1c], eax
jmp 0x476798
mov dword [ebp - 0x1abc], 0
jmp 0x47680f
mov ecx, dword [ebp - 0x1abc]
add ecx, 1
mov dword [ebp - 0x1abc], ecx
cmp dword [ebp - 0x1abc], 5
jge 0x47685c
mov eax, dword [ebp - 0x1abc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47683e
mov eax, dword [ebp - 0x1abc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47684e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1abc]
mov dword [ebp - 0x1c], edx
jmp 0x47685a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1abc]
mov dword [ebp - 0x1c], eax
jmp 0x476800
mov dword [ebp - 4], 5
mov dword [ebp - 0x1ac0], 0xffffffff
mov dword [ebp - 0x1ac4], 0
jmp 0x476888
mov ecx, dword [ebp - 0x1ac4]
add ecx, 1
mov dword [ebp - 0x1ac4], ecx
cmp dword [ebp - 0x1ac4], 1
jge 0x4768ba
mov eax, dword [ebp - 0x1ac4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4768af
mov edx, dword [ebp - 0x1ac0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x476879
mov dword [ebp - 4], 0xfffffffe
jmp 0x4768da
mov dword [ebp - 0x1ac8], 0
jmp 0x4768f5
mov edx, dword [ebp - 0x1ac8]
add edx, 1
mov dword [ebp - 0x1ac8], edx
cmp dword [ebp - 0x1ac8], 1
jge 0x47690c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1ac8]
mov dword [ebp - 0x1c], eax
jmp 0x4768e6
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47691e
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 0x476936
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x1acc], 0xffffffff
mov dword [ebp - 0x1ad0], 0
jmp 0x476962
mov edx, dword [ebp - 0x1ad0]
add edx, 1
mov dword [ebp - 0x1ad0], edx
cmp dword [ebp - 0x1ad0], 1
jge 0x476994
mov eax, dword [ebp - 0x1ad0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x476989
mov edx, dword [ebp - 0x1acc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x476953
mov dword [ebp - 4], 0xfffffffe
jmp 0x4769b4
mov dword [ebp - 0x1ad4], 0
jmp 0x4769cf
mov edx, dword [ebp - 0x1ad4]
add edx, 1
mov dword [ebp - 0x1ad4], edx
cmp dword [ebp - 0x1ad4], 7
jge 0x476a1c
mov eax, dword [ebp - 0x1ad4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4769fe
mov eax, dword [ebp - 0x1ad4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x476a0e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ad4]
mov dword [ebp - 0x1c], edx
jmp 0x476a1a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ad4]
mov dword [ebp - 0x1c], eax
jmp 0x4769c0
mov dword [ebp - 0x1ad8], 0
jmp 0x476a37
mov ecx, dword [ebp - 0x1ad8]
add ecx, 1
mov dword [ebp - 0x1ad8], ecx
cmp dword [ebp - 0x1ad8], 0
jge 0x476a78
cmp dword [ebp - 0x1c], 0
jge 0x476a4e
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 0x476a64
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1cd0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x476a28
mov dword [ebp - 0x1cd4], 0
jmp 0x476a93
mov eax, dword [ebp - 0x1cd4]
add eax, 1
mov dword [ebp - 0x1cd4], eax
cmp dword [ebp - 0x1cd4], 1
jge 0x476aaa
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1cd4]
mov dword [ebp - 0x1c], ecx
jmp 0x476a84
cmp dword [ebp - 0x1c], 0
jge 0x476ab8
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 0x476ad0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cd8], 0
jmp 0x476aeb
cmp dword [ebp - 0x1cd8], 4
jge 0x476b38