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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512010
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x28f8
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x34], 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 0x47d4a9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xe
jge 0x47d4ba
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x47d4a0
cmp dword [ebp - 0x1c], 0
jge 0x47d4c8
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 0x47d4e0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x47d4f2
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 7
jge 0x47d503
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x47d4e9
cmp dword [ebp - 0x1c], 0
jge 0x47d511
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 0x47d529
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x47d55a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47d54f
jmp 0x47d55a
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x47d529
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x47d572
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 8
jge 0x47d5b6
cmp dword [ebp - 0x1c], 0
jge 0x47d586
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 0x47d59c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], 0xfa
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47d569
mov ecx, 1
test ecx, ecx
je 0x47d5f0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x234]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47d5e2
jmp 0x47d5f0
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x47d5b6
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x238], 0xffffffff
mov dword [ebp - 0x23c], 0
jmp 0x47d625
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 0xa
jge 0x47d657
mov eax, dword [ebp - 0x23c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x47d64c
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 0x47d616
mov dword [ebp - 4], 0xfffffffe
jmp 0x47d677
mov dword [ebp - 4], 1
mov dword [ebp - 0x240], 0xffffffff
mov dword [ebp - 0x244], 0
jmp 0x47d6a3
mov edx, dword [ebp - 0x244]
add edx, 1
mov dword [ebp - 0x244], edx
cmp dword [ebp - 0x244], 7
jge 0x47d6d5
mov eax, dword [ebp - 0x244]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x47d6ca
mov edx, dword [ebp - 0x240]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x47d694
mov dword [ebp - 4], 0xfffffffe
jmp 0x47d6f5
mov dword [ebp - 4], 2
mov dword [ebp - 0x248], 0xffffffff
mov dword [ebp - 0x24c], 0
jmp 0x47d721
mov edx, dword [ebp - 0x24c]
add edx, 1
mov dword [ebp - 0x24c], edx
cmp dword [ebp - 0x24c], 6
jge 0x47d753
mov eax, dword [ebp - 0x24c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x47d748
mov edx, dword [ebp - 0x248]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x47d712
mov dword [ebp - 4], 0xfffffffe
jmp 0x47d773
mov dword [ebp - 0x250], 0
jmp 0x47d78e
mov edx, dword [ebp - 0x250]
add edx, 1
mov dword [ebp - 0x250], edx
cmp dword [ebp - 0x250], 2
jge 0x47d7db
mov eax, dword [ebp - 0x250]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47d7bd
mov eax, dword [ebp - 0x250]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47d7cd
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x250]
mov dword [ebp - 0x1c], edx
jmp 0x47d7d9
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x250]
mov dword [ebp - 0x1c], eax
jmp 0x47d77f
mov dword [ebp - 0x254], 0
jmp 0x47d7f6
mov ecx, dword [ebp - 0x254]
add ecx, 1
mov dword [ebp - 0x254], ecx
cmp dword [ebp - 0x254], 5
jge 0x47d843
cmp dword [ebp - 0x1c], 0
jge 0x47d80d
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 0x47d823
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x258], 0xfa
lea edx, [ebp - 0x258]
push edx
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47d7e7
mov dword [ebp - 0x454], 0
jmp 0x47d85e
mov ecx, dword [ebp - 0x454]
add ecx, 1
mov dword [ebp - 0x454], ecx
cmp dword [ebp - 0x454], 0
jge 0x47d875
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x454]
mov dword [ebp - 0x1c], edx
jmp 0x47d84f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47d887
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 0x47d89f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x458], 0
jmp 0x47d8ba
mov edx, dword [ebp - 0x458]
add edx, 1
mov dword [ebp - 0x458], edx
cmp dword [ebp - 0x458], 3
jge 0x47d8fb
cmp dword [ebp - 0x1c], 0
jge 0x47d8d1
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 0x47d8e7
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47d8ab
mov dword [ebp - 0x654], 0
jmp 0x47d916
mov eax, dword [ebp - 0x654]
add eax, 1
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 5
jge 0x47d957
cmp dword [ebp - 0x1c], 0
jge 0x47d92d
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 0x47d943
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x850]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47d907
mov dword [ebp - 0x854], 0
jmp 0x47d972
mov eax, dword [ebp - 0x854]
add eax, 1
mov dword [ebp - 0x854], eax
cmp dword [ebp - 0x854], 1
jge 0x47d989
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x854]
mov dword [ebp - 0x1c], ecx
jmp 0x47d963
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47d99b
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 0x47d9b3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x858], 0
jmp 0x47d9ce
mov edx, dword [ebp - 0x858]
add edx, 1
mov dword [ebp - 0x858], edx
cmp dword [ebp - 0x858], 2
jge 0x47da1b
mov eax, dword [ebp - 0x858]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47d9fd
mov eax, dword [ebp - 0x858]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47da0d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x858]
mov dword [ebp - 0x1c], edx
jmp 0x47da19
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x858]
mov dword [ebp - 0x1c], eax
jmp 0x47d9bf
mov ecx, 1
test ecx, ecx
je 0x47da55
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 0x47da47
jmp 0x47da55
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], edx
jmp 0x47da1b
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x860], 0
jmp 0x47da79
mov ecx, dword [ebp - 0x860]
add ecx, 1
mov dword [ebp - 0x860], ecx
cmp dword [ebp - 0x860], 6
jge 0x47dac6
mov eax, dword [ebp - 0x860]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47daa8
mov eax, dword [ebp - 0x860]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47dab8
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x860]
mov dword [ebp - 0x1c], edx
jmp 0x47dac4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x860]
mov dword [ebp - 0x1c], eax
jmp 0x47da6a
mov dword [ebp - 0x864], 0
jmp 0x47dae1
mov ecx, dword [ebp - 0x864]
add ecx, 1
mov dword [ebp - 0x864], ecx
cmp dword [ebp - 0x864], 0
jge 0x47daf8
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x864]
mov dword [ebp - 0x1c], edx
jmp 0x47dad2
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47db0a
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 0x47db22
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x868], 0xffffffff
mov dword [ebp - 0x86c], 0
jmp 0x47db4e
mov edx, dword [ebp - 0x86c]
add edx, 1
mov dword [ebp - 0x86c], edx
cmp dword [ebp - 0x86c], 3
jge 0x47db80
mov eax, dword [ebp - 0x86c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x47db75
mov edx, dword [ebp - 0x868]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x47db3f
mov dword [ebp - 4], 0xfffffffe
jmp 0x47dba0
mov edx, 1
test edx, edx
je 0x47dbda
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x870], eax
mov eax, dword [ebp - 0x870]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47dbcc
jmp 0x47dbda
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x870]
mov dword [ebp - 0x1c], edx
jmp 0x47dba0
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x874], 0
jmp 0x47dbfe
mov ecx, dword [ebp - 0x874]
add ecx, 1
mov dword [ebp - 0x874], ecx
cmp dword [ebp - 0x874], 0
jge 0x47dc15
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x874]
mov dword [ebp - 0x1c], edx
jmp 0x47dbef
cmp dword [ebp - 0x1c], 0
jge 0x47dc23
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 0x47dc3b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x878], 0
jmp 0x47dc56
mov edx, dword [ebp - 0x878]
add edx, 1
mov dword [ebp - 0x878], edx
cmp dword [ebp - 0x878], 6
jge 0x47dc6d
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x878]
mov dword [ebp - 0x1c], eax
jmp 0x47dc47
cmp dword [ebp - 0x1c], 0
jge 0x47dc7b
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 0x47dc93
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x87c], 0
jmp 0x47dcae
mov edx, dword [ebp - 0x87c]
add edx, 1
mov dword [ebp - 0x87c], edx
cmp dword [ebp - 0x87c], 2
jge 0x47dcef
cmp dword [ebp - 0x1c], 0
jge 0x47dcc5
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 0x47dcdb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa78]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47dc9f
mov dword [ebp - 0xa7c], 0
jmp 0x47dd0a
mov eax, dword [ebp - 0xa7c]
add eax, 1
mov dword [ebp - 0xa7c], eax
cmp dword [ebp - 0xa7c], 2
jge 0x47dd57
cmp dword [ebp - 0x1c], 0
jge 0x47dd21
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 0x47dd37
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa80], 0xfa
lea edx, [ebp - 0xa80]
push edx
lea eax, [ebp - 0xc78]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47dcfb
mov dword [ebp - 0xc7c], 0
jmp 0x47dd72
mov ecx, dword [ebp - 0xc7c]
add ecx, 1
mov dword [ebp - 0xc7c], ecx
cmp dword [ebp - 0xc7c], 1
jge 0x47ddb3
cmp dword [ebp - 0x1c], 0
jge 0x47dd89
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 0x47dd9f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe78]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47dd63
mov dword [ebp - 4], 4
mov dword [ebp - 0xe7c], 0xffffffff
mov dword [ebp - 0xe80], 0
jmp 0x47dddf
mov eax, dword [ebp - 0xe80]
add eax, 1
mov dword [ebp - 0xe80], eax
cmp dword [ebp - 0xe80], 5
jge 0x47de11
mov eax, dword [ebp - 0xe80]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x47de06
mov edx, dword [ebp - 0xe7c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x47ddd0
mov dword [ebp - 4], 0xfffffffe
jmp 0x47de31
mov dword [ebp - 0xe84], 0
jmp 0x47de4c
mov edx, dword [ebp - 0xe84]
add edx, 1
mov dword [ebp - 0xe84], edx
cmp dword [ebp - 0xe84], 2
jge 0x47de63
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe84]
mov dword [ebp - 0x1c], eax
jmp 0x47de3d
cmp dword [ebp - 0x1c], 0
jge 0x47de71
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 0x47de89
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0xe88], 0xffffffff
mov dword [ebp - 0xe8c], 0
jmp 0x47deb5
mov edx, dword [ebp - 0xe8c]
add edx, 1
mov dword [ebp - 0xe8c], edx
cmp dword [ebp - 0xe8c], 2
jge 0x47dee7
mov eax, dword [ebp - 0xe8c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x47dedc
mov edx, dword [ebp - 0xe88]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x47dea6
mov dword [ebp - 4], 0xfffffffe
jmp 0x47df07
mov dword [ebp - 0xe90], 0
jmp 0x47df22
mov edx, dword [ebp - 0xe90]
add edx, 1
mov dword [ebp - 0xe90], edx
cmp dword [ebp - 0xe90], 4
jge 0x47df6f
cmp dword [ebp - 0x1c], 0
jge 0x47df39
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 0x47df4f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe94], 0xfa
lea edx, [ebp - 0xe94]
push edx
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47df13
mov dword [ebp - 4], 6
mov dword [ebp - 0x1094], 0xffffffff
mov dword [ebp - 0x1098], 0
jmp 0x47df9b
mov ecx, dword [ebp - 0x1098]
add ecx, 1
mov dword [ebp - 0x1098], ecx
cmp dword [ebp - 0x1098], 4
jge 0x47dfcd
mov eax, dword [ebp - 0x1098]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x47dfc2
mov edx, dword [ebp - 0x1094]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x47df8c
mov dword [ebp - 4], 0xfffffffe
jmp 0x47dfed
mov dword [ebp - 0x109c], 0
jmp 0x47e008
mov edx, dword [ebp - 0x109c]
add edx, 1
mov dword [ebp - 0x109c], edx
cmp dword [ebp - 0x109c], 3
jge 0x47e055
mov eax, dword [ebp - 0x109c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47e037
mov eax, dword [ebp - 0x109c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47e047
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], edx
jmp 0x47e053
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], eax
jmp 0x47dff9
mov dword [ebp - 0x10a0], 0
jmp 0x47e070
mov ecx, dword [ebp - 0x10a0]
add ecx, 1
mov dword [ebp - 0x10a0], ecx
cmp dword [ebp - 0x10a0], 2
jge 0x47e0bd
cmp dword [ebp - 0x1c], 0
jge 0x47e087
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 0x47e09d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10a4], 0xfa
lea edx, [ebp - 0x10a4]
push edx
lea eax, [ebp - 0x12a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47e061
mov dword [ebp - 0x12a4], 0
jmp 0x47e0d8
mov ecx, dword [ebp - 0x12a4]
add ecx, 1
mov dword [ebp - 0x12a4], ecx
cmp dword [ebp - 0x12a4], 4
jge 0x47e0ef
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], edx
jmp 0x47e0c9
cmp dword [ebp - 0x1c], 0
jge 0x47e0fd
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 0x47e115
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12a8], 0
jmp 0x47e130
mov edx, dword [ebp - 0x12a8]
add edx, 1
mov dword [ebp - 0x12a8], edx
cmp dword [ebp - 0x12a8], 3
jge 0x47e147
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x12a8]
mov dword [ebp - 0x1c], eax
jmp 0x47e121
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47e159
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 0x47e171
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12ac], 0
jmp 0x47e18c
mov edx, dword [ebp - 0x12ac]
add edx, 1
mov dword [ebp - 0x12ac], edx
cmp dword [ebp - 0x12ac], 4
jge 0x47e1cd
cmp dword [ebp - 0x1c], 0
jge 0x47e1a3
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 0x47e1b9
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x14a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47e17d
mov dword [ebp - 0x14ac], 0
jmp 0x47e1e8
mov eax, dword [ebp - 0x14ac]
add eax, 1
mov dword [ebp - 0x14ac], eax
cmp dword [ebp - 0x14ac], 2
jge 0x47e235
cmp dword [ebp - 0x1c], 0
jge 0x47e1ff
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 0x47e215
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14b0], 0xfa
lea edx, [ebp - 0x14b0]
push edx
lea eax, [ebp - 0x16a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47e1d9
mov dword [ebp - 0x16ac], 0
jmp 0x47e250
mov ecx, dword [ebp - 0x16ac]
add ecx, 1
mov dword [ebp - 0x16ac], ecx
cmp dword [ebp - 0x16ac], 1
jge 0x47e267
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16ac]
mov dword [ebp - 0x1c], edx
jmp 0x47e241
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47e279
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 0x47e291
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b0], 0
jmp 0x47e2ac
mov edx, dword [ebp - 0x16b0]
add edx, 1
mov dword [ebp - 0x16b0], edx
cmp dword [ebp - 0x16b0], 1
jge 0x47e2ed
cmp dword [ebp - 0x1c], 0
jge 0x47e2c3
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 0x47e2d9
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47e29d
mov dword [ebp - 0x18ac], 0
jmp 0x47e308
mov eax, dword [ebp - 0x18ac]
add eax, 1
mov dword [ebp - 0x18ac], eax
cmp dword [ebp - 0x18ac], 1
jge 0x47e31f
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x1c], ecx
jmp 0x47e2f9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47e331
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 0x47e349
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18b0], 0
jmp 0x47e364
mov edx, dword [ebp - 0x18b0]
add edx, 1
mov dword [ebp - 0x18b0], edx
cmp dword [ebp - 0x18b0], 2
jge 0x47e37b
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x18b0]
mov dword [ebp - 0x1c], eax
jmp 0x47e355
cmp dword [ebp - 0x1c], 0
jge 0x47e389
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 0x47e3a1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18b4], 0
jmp 0x47e3bc
mov edx, dword [ebp - 0x18b4]
add edx, 1
mov dword [ebp - 0x18b4], edx
cmp dword [ebp - 0x18b4], 3
jge 0x47e3fd
cmp dword [ebp - 0x1c], 0
jge 0x47e3d3
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 0x47e3e9
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ab0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47e3ad
mov dword [ebp - 0x1ab4], 0
jmp 0x47e418
mov eax, dword [ebp - 0x1ab4]
add eax, 1
mov dword [ebp - 0x1ab4], eax
cmp dword [ebp - 0x1ab4], 1
jge 0x47e465
mov eax, dword [ebp - 0x1ab4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47e447
mov eax, dword [ebp - 0x1ab4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47e457
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ab4]
mov dword [ebp - 0x1c], edx
jmp 0x47e463
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ab4]
mov dword [ebp - 0x1c], eax
jmp 0x47e409
mov dword [ebp - 0x1ab8], 0
jmp 0x47e480
mov ecx, dword [ebp - 0x1ab8]
add ecx, 1
mov dword [ebp - 0x1ab8], ecx
cmp dword [ebp - 0x1ab8], 2
jge 0x47e4cd
mov eax, dword [ebp - 0x1ab8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47e4af
mov eax, dword [ebp - 0x1ab8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47e4bf
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ab8]
mov dword [ebp - 0x1c], edx
jmp 0x47e4cb
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ab8]
mov dword [ebp - 0x1c], eax
jmp 0x47e471
mov dword [ebp - 0x1abc], 0
jmp 0x47e4e8
mov ecx, dword [ebp - 0x1abc]
add ecx, 1
mov dword [ebp - 0x1abc], ecx
cmp dword [ebp - 0x1abc], 4
jge 0x47e4ff
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1abc]
mov dword [ebp - 0x1c], edx
jmp 0x47e4d9
cmp dword [ebp - 0x1c], 0
jge 0x47e50d
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 0x47e525
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ac0], 0
jmp 0x47e540
mov edx, dword [ebp - 0x1ac0]
add edx, 1
mov dword [ebp - 0x1ac0], edx
cmp dword [ebp - 0x1ac0], 0
jge 0x47e581
cmp dword [ebp - 0x1c], 0
jge 0x47e557
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 0x47e56d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1cb8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47e531
mov dword [ebp - 0x1cbc], 0
jmp 0x47e59c
mov eax, dword [ebp - 0x1cbc]
add eax, 1
mov dword [ebp - 0x1cbc], eax
cmp dword [ebp - 0x1cbc], 1
jge 0x47e5b3
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1cbc]
mov dword [ebp - 0x1c], ecx
jmp 0x47e58d
cmp dword [ebp - 0x1c], 0
jge 0x47e5c1
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 0x47e5d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cc0], 0
jmp 0x47e5f4
mov edx, dword [ebp - 0x1cc0]
add edx, 1
mov dword [ebp - 0x1cc0], edx
cmp dword [ebp - 0x1cc0], 1
jge 0x47e60b
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1cc0]
mov dword [ebp - 0x1c], eax
jmp 0x47e5e5
cmp dword [ebp - 0x1c], 0
jge 0x47e619
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 0x47e631