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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511b98
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x32d8
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 dword [ebp - 0x20], 0
jmp 0x46e5a9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 9
jge 0x46e5ba
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x46e5a0
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46e5cc
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 0x46e5e4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x46e5f6
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x20
jge 0x46e63a
cmp dword [ebp - 0x1c], 0
jge 0x46e60a
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 0x46e620
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 0x46e5ed
mov dword [ebp - 0x22c], 0
jmp 0x46e655
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x22c], 0x3c
jge 0x46e66c
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x46e646
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46e67e
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 0x46e696
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x46e6b1
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 3
jge 0x46e6f2
cmp dword [ebp - 0x1c], 0
jge 0x46e6c8
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 0x46e6de
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x428]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46e6a2
mov eax, 1
test eax, eax
je 0x46e72c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x42c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46e71e
jmp 0x46e72c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x42c]
mov dword [ebp - 0x1c], edx
jmp 0x46e6f2
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x430], 0
jmp 0x46e750
mov ecx, dword [ebp - 0x430]
add ecx, 1
mov dword [ebp - 0x430], ecx
cmp dword [ebp - 0x430], 1
jge 0x46e791
cmp dword [ebp - 0x1c], 0
jge 0x46e767
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 0x46e77d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x628]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46e741
mov dword [ebp - 0x62c], 0
jmp 0x46e7ac
mov eax, dword [ebp - 0x62c]
add eax, 1
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 0
jge 0x46e7f9
mov eax, dword [ebp - 0x62c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46e7db
mov eax, dword [ebp - 0x62c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46e7eb
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x62c]
mov dword [ebp - 0x1c], edx
jmp 0x46e7f7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x62c]
mov dword [ebp - 0x1c], eax
jmp 0x46e79d
mov ecx, 1
test ecx, ecx
je 0x46e833
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x630]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46e825
jmp 0x46e833
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x630]
mov dword [ebp - 0x1c], edx
jmp 0x46e7f9
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x634], 0xffffffff
mov dword [ebp - 0x638], 0
jmp 0x46e868
mov ecx, dword [ebp - 0x638]
add ecx, 1
mov dword [ebp - 0x638], ecx
cmp dword [ebp - 0x638], 5
jge 0x46e89a
mov eax, dword [ebp - 0x638]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46e88f
mov edx, dword [ebp - 0x634]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46e859
mov dword [ebp - 4], 0xfffffffe
jmp 0x46e8ba
mov dword [ebp - 4], 1
mov dword [ebp - 0x63c], 0xffffffff
mov dword [ebp - 0x640], 0
jmp 0x46e8e6
mov edx, dword [ebp - 0x640]
add edx, 1
mov dword [ebp - 0x640], edx
cmp dword [ebp - 0x640], 9
jge 0x46e918
mov eax, dword [ebp - 0x640]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46e90d
mov edx, dword [ebp - 0x63c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46e8d7
mov dword [ebp - 4], 0xfffffffe
jmp 0x46e938
mov dword [ebp - 0x644], 0
jmp 0x46e953
mov edx, dword [ebp - 0x644]
add edx, 1
mov dword [ebp - 0x644], edx
cmp dword [ebp - 0x644], 9
jge 0x46e9a0
cmp dword [ebp - 0x1c], 0
jge 0x46e96a
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 0x46e980
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 0x46e944
mov dword [ebp - 4], 2
mov dword [ebp - 0x844], 0xffffffff
mov dword [ebp - 0x848], 0
jmp 0x46e9cc
mov ecx, dword [ebp - 0x848]
add ecx, 1
mov dword [ebp - 0x848], ecx
cmp dword [ebp - 0x848], 3
jge 0x46e9fe
mov eax, dword [ebp - 0x848]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46e9f3
mov edx, dword [ebp - 0x844]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46e9bd
mov dword [ebp - 4], 0xfffffffe
jmp 0x46ea1e
mov dword [ebp - 0x84c], 0
jmp 0x46ea39
mov edx, dword [ebp - 0x84c]
add edx, 1
mov dword [ebp - 0x84c], edx
cmp dword [ebp - 0x84c], 5
jge 0x46ea50
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], eax
jmp 0x46ea2a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46ea62
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 0x46ea7a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x850], 0
jmp 0x46ea95
mov edx, dword [ebp - 0x850]
add edx, 1
mov dword [ebp - 0x850], edx
cmp dword [ebp - 0x850], 5
jge 0x46ead6
cmp dword [ebp - 0x1c], 0
jge 0x46eaac
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 0x46eac2
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46ea86
mov dword [ebp - 4], 3
mov dword [ebp - 0xa4c], 0xffffffff
mov dword [ebp - 0xa50], 0
jmp 0x46eb02
mov eax, dword [ebp - 0xa50]
add eax, 1
mov dword [ebp - 0xa50], eax
cmp dword [ebp - 0xa50], 9
jge 0x46eb34
mov eax, dword [ebp - 0xa50]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46eb29
mov edx, dword [ebp - 0xa4c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46eaf3
mov dword [ebp - 4], 0xfffffffe
jmp 0x46eb54
mov dword [ebp - 4], 4
mov dword [ebp - 0xa54], 0xffffffff
mov dword [ebp - 0xa58], 0
jmp 0x46eb80
mov edx, dword [ebp - 0xa58]
add edx, 1
mov dword [ebp - 0xa58], edx
cmp dword [ebp - 0xa58], 5
jge 0x46ebb2
mov eax, dword [ebp - 0xa58]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46eba7
mov edx, dword [ebp - 0xa54]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46eb71
mov dword [ebp - 4], 0xfffffffe
jmp 0x46ebd2
mov dword [ebp - 0xa5c], 0
jmp 0x46ebed
mov edx, dword [ebp - 0xa5c]
add edx, 1
mov dword [ebp - 0xa5c], edx
cmp dword [ebp - 0xa5c], 1
jge 0x46ec3a
mov eax, dword [ebp - 0xa5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46ec1c
mov eax, dword [ebp - 0xa5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46ec2c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], edx
jmp 0x46ec38
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], eax
jmp 0x46ebde
mov dword [ebp - 0xa60], 0
jmp 0x46ec55
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa60], ecx
cmp dword [ebp - 0xa60], 8
jge 0x46eca2
cmp dword [ebp - 0x1c], 0
jge 0x46ec6c
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 0x46ec82
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa64], 0xfa
lea edx, [ebp - 0xa64]
push edx
lea eax, [ebp - 0xc60]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46ec46
mov dword [ebp - 0xc64], 0
jmp 0x46ecbd
mov ecx, dword [ebp - 0xc64]
add ecx, 1
mov dword [ebp - 0xc64], ecx
cmp dword [ebp - 0xc64], 5
jge 0x46ed0a
cmp dword [ebp - 0x1c], 0
jge 0x46ecd4
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 0x46ecea
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc68], 0xfa
lea edx, [ebp - 0xc68]
push edx
lea eax, [ebp - 0xe60]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46ecae
mov dword [ebp - 0xe64], 0
jmp 0x46ed25
mov ecx, dword [ebp - 0xe64]
add ecx, 1
mov dword [ebp - 0xe64], ecx
cmp dword [ebp - 0xe64], 6
jge 0x46ed72
mov eax, dword [ebp - 0xe64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46ed54
mov eax, dword [ebp - 0xe64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46ed64
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe64]
mov dword [ebp - 0x1c], edx
jmp 0x46ed70
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe64]
mov dword [ebp - 0x1c], eax
jmp 0x46ed16
mov dword [ebp - 0xe68], 0
jmp 0x46ed8d
mov ecx, dword [ebp - 0xe68]
add ecx, 1
mov dword [ebp - 0xe68], ecx
cmp dword [ebp - 0xe68], 5
jge 0x46edda
mov eax, dword [ebp - 0xe68]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46edbc
mov eax, dword [ebp - 0xe68]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46edcc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe68]
mov dword [ebp - 0x1c], edx
jmp 0x46edd8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe68]
mov dword [ebp - 0x1c], eax
jmp 0x46ed7e
mov dword [ebp - 0xe6c], 0
jmp 0x46edf5
mov ecx, dword [ebp - 0xe6c]
add ecx, 1
mov dword [ebp - 0xe6c], ecx
cmp dword [ebp - 0xe6c], 6
jge 0x46ee36
cmp dword [ebp - 0x1c], 0
jge 0x46ee0c
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 0x46ee22
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1068]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46ede6
mov dword [ebp - 0x106c], 0
jmp 0x46ee51
mov eax, dword [ebp - 0x106c]
add eax, 1
mov dword [ebp - 0x106c], eax
cmp dword [ebp - 0x106c], 4
jge 0x46ee68
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x106c]
mov dword [ebp - 0x1c], ecx
jmp 0x46ee42
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46ee7a
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 0x46ee92
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1070], 0
jmp 0x46eead
mov edx, dword [ebp - 0x1070]
add edx, 1
mov dword [ebp - 0x1070], edx
cmp dword [ebp - 0x1070], 4
jge 0x46eefa
mov eax, dword [ebp - 0x1070]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46eedc
mov eax, dword [ebp - 0x1070]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46eeec
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1070]
mov dword [ebp - 0x1c], edx
jmp 0x46eef8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1070]
mov dword [ebp - 0x1c], eax
jmp 0x46ee9e
mov dword [ebp - 0x1074], 0
jmp 0x46ef15
mov ecx, dword [ebp - 0x1074]
add ecx, 1
mov dword [ebp - 0x1074], ecx
cmp dword [ebp - 0x1074], 7
jge 0x46ef56
cmp dword [ebp - 0x1c], 0
jge 0x46ef2c
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 0x46ef42
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1270]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46ef06
mov dword [ebp - 0x1274], 0
jmp 0x46ef71
mov eax, dword [ebp - 0x1274]
add eax, 1
mov dword [ebp - 0x1274], eax
cmp dword [ebp - 0x1274], 5
jge 0x46efbe
cmp dword [ebp - 0x1c], 0
jge 0x46ef88
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 0x46ef9e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1278], 0xfa
lea edx, [ebp - 0x1278]
push edx
lea eax, [ebp - 0x1470]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46ef62
mov ecx, 1
test ecx, ecx
je 0x46eff8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1474], eax
mov eax, dword [ebp - 0x1474]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46efea
jmp 0x46eff8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1474]
mov dword [ebp - 0x1c], edx
jmp 0x46efbe
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1478], 0
jmp 0x46f01c
mov ecx, dword [ebp - 0x1478]
add ecx, 1
mov dword [ebp - 0x1478], ecx
cmp dword [ebp - 0x1478], 7
jge 0x46f033
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1478]
mov dword [ebp - 0x1c], edx
jmp 0x46f00d
cmp dword [ebp - 0x1c], 0
jge 0x46f041
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 0x46f059
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x147c], 0
jmp 0x46f074
mov edx, dword [ebp - 0x147c]
add edx, 1
mov dword [ebp - 0x147c], edx
cmp dword [ebp - 0x147c], 7
jge 0x46f08b
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x147c]
mov dword [ebp - 0x1c], eax
jmp 0x46f065
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46f09d
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 0x46f0b5
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1480], 0
jmp 0x46f0d0
mov edx, dword [ebp - 0x1480]
add edx, 1
mov dword [ebp - 0x1480], edx
cmp dword [ebp - 0x1480], 1
jge 0x46f11d
cmp dword [ebp - 0x1c], 0
jge 0x46f0e7
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 0x46f0fd
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1484], 0xfa
lea edx, [ebp - 0x1484]
push edx
lea eax, [ebp - 0x1680]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46f0c1
mov ecx, 1
test ecx, ecx
je 0x46f157
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1684], eax
mov eax, dword [ebp - 0x1684]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46f149
jmp 0x46f157
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], edx
jmp 0x46f11d
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x1688], 0xffffffff
mov dword [ebp - 0x168c], 0
jmp 0x46f18c
mov ecx, dword [ebp - 0x168c]
add ecx, 1
mov dword [ebp - 0x168c], ecx
cmp dword [ebp - 0x168c], 1
jge 0x46f1be
mov eax, dword [ebp - 0x168c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46f1b3
mov edx, dword [ebp - 0x1688]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46f17d
mov dword [ebp - 4], 0xfffffffe
jmp 0x46f1de
mov dword [ebp - 0x1690], 0
jmp 0x46f1f9
mov edx, dword [ebp - 0x1690]
add edx, 1
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 0
jge 0x46f246
mov eax, dword [ebp - 0x1690]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46f228
mov eax, dword [ebp - 0x1690]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46f238
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1690]
mov dword [ebp - 0x1c], edx
jmp 0x46f244
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1690]
mov dword [ebp - 0x1c], eax
jmp 0x46f1ea
mov dword [ebp - 0x1694], 0
jmp 0x46f261
mov ecx, dword [ebp - 0x1694]
add ecx, 1
mov dword [ebp - 0x1694], ecx
cmp dword [ebp - 0x1694], 1
jge 0x46f278
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1694]
mov dword [ebp - 0x1c], edx
jmp 0x46f252
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46f28a
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 0x46f2a2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1698], 0
jmp 0x46f2bd
mov edx, dword [ebp - 0x1698]
add edx, 1
mov dword [ebp - 0x1698], edx
cmp dword [ebp - 0x1698], 6
jge 0x46f2fe
cmp dword [ebp - 0x1c], 0
jge 0x46f2d4
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 0x46f2ea
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1890]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46f2ae
mov dword [ebp - 4], 6
mov dword [ebp - 0x1894], 0xffffffff
mov dword [ebp - 0x1898], 0
jmp 0x46f32a
mov eax, dword [ebp - 0x1898]
add eax, 1
mov dword [ebp - 0x1898], eax
cmp dword [ebp - 0x1898], 0
jge 0x46f35c
mov eax, dword [ebp - 0x1898]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46f351
mov edx, dword [ebp - 0x1894]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46f31b
mov dword [ebp - 4], 0xfffffffe
jmp 0x46f37c
mov dword [ebp - 0x189c], 0
jmp 0x46f397
mov edx, dword [ebp - 0x189c]
add edx, 1
mov dword [ebp - 0x189c], edx
cmp dword [ebp - 0x189c], 3
jge 0x46f3e4
cmp dword [ebp - 0x1c], 0
jge 0x46f3ae
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 0x46f3c4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18a0], 0xfa
lea edx, [ebp - 0x18a0]
push edx
lea eax, [ebp - 0x1a98]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46f388
mov dword [ebp - 0x1a9c], 0
jmp 0x46f3ff
mov ecx, dword [ebp - 0x1a9c]
add ecx, 1
mov dword [ebp - 0x1a9c], ecx
cmp dword [ebp - 0x1a9c], 5
jge 0x46f44c
mov eax, dword [ebp - 0x1a9c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46f42e
mov eax, dword [ebp - 0x1a9c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46f43e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1a9c]
mov dword [ebp - 0x1c], edx
jmp 0x46f44a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1a9c]
mov dword [ebp - 0x1c], eax
jmp 0x46f3f0
mov dword [ebp - 0x1aa0], 0
jmp 0x46f467
mov ecx, dword [ebp - 0x1aa0]
add ecx, 1
mov dword [ebp - 0x1aa0], ecx
cmp dword [ebp - 0x1aa0], 3
jge 0x46f4b4
cmp dword [ebp - 0x1c], 0
jge 0x46f47e
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 0x46f494
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1aa4], 0xfa
lea edx, [ebp - 0x1aa4]
push edx
lea eax, [ebp - 0x1ca0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46f458
mov dword [ebp - 0x1ca4], 0
jmp 0x46f4cf
mov ecx, dword [ebp - 0x1ca4]
add ecx, 1
mov dword [ebp - 0x1ca4], ecx
cmp dword [ebp - 0x1ca4], 4
jge 0x46f4e6
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1ca4]
mov dword [ebp - 0x1c], edx
jmp 0x46f4c0
cmp dword [ebp - 0x1c], 0
jge 0x46f4f4
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 0x46f50c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ca8], 0
jmp 0x46f527
mov edx, dword [ebp - 0x1ca8]
add edx, 1
mov dword [ebp - 0x1ca8], edx
cmp dword [ebp - 0x1ca8], 2
jge 0x46f53e
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1ca8]
mov dword [ebp - 0x1c], eax
jmp 0x46f518
cmp dword [ebp - 0x1c], 0
jge 0x46f54c
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 0x46f564
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cac], 0
jmp 0x46f57f
mov edx, dword [ebp - 0x1cac]
add edx, 1
mov dword [ebp - 0x1cac], edx
cmp dword [ebp - 0x1cac], 2
jge 0x46f5cc
mov eax, dword [ebp - 0x1cac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46f5ae
mov eax, dword [ebp - 0x1cac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46f5be
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1cac]
mov dword [ebp - 0x1c], edx
jmp 0x46f5ca
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1cac]
mov dword [ebp - 0x1c], eax
jmp 0x46f570
mov dword [ebp - 0x1cb0], 0
jmp 0x46f5e7
mov ecx, dword [ebp - 0x1cb0]
add ecx, 1
mov dword [ebp - 0x1cb0], ecx
cmp dword [ebp - 0x1cb0], 4
jge 0x46f634
mov eax, dword [ebp - 0x1cb0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46f616
mov eax, dword [ebp - 0x1cb0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46f626
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1cb0]
mov dword [ebp - 0x1c], edx
jmp 0x46f632
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1cb0]
mov dword [ebp - 0x1c], eax
jmp 0x46f5d8
mov dword [ebp - 0x1cb4], 0
jmp 0x46f64f
mov ecx, dword [ebp - 0x1cb4]
add ecx, 1
mov dword [ebp - 0x1cb4], ecx
cmp dword [ebp - 0x1cb4], 2
jge 0x46f666
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1cb4]
mov dword [ebp - 0x1c], edx
jmp 0x46f640
cmp dword [ebp - 0x1c], 0
jge 0x46f674
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 0x46f68c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cb8], 0
jmp 0x46f6a7
mov edx, dword [ebp - 0x1cb8]
add edx, 1
mov dword [ebp - 0x1cb8], edx
cmp dword [ebp - 0x1cb8], 1
jge 0x46f6f4
cmp dword [ebp - 0x1c], 0
jge 0x46f6be
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 0x46f6d4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1cbc], 0xfa
lea edx, [ebp - 0x1cbc]
push edx
lea eax, [ebp - 0x1eb8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46f698
mov dword [ebp - 4], 7
mov dword [ebp - 0x1ebc], 0xffffffff
mov dword [ebp - 0x1ec0], 0
jmp 0x46f720
mov ecx, dword [ebp - 0x1ec0]
add ecx, 1
mov dword [ebp - 0x1ec0], ecx
cmp dword [ebp - 0x1ec0], 3
jge 0x46f752
mov eax, dword [ebp - 0x1ec0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46f747
mov edx, dword [ebp - 0x1ebc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46f711
mov dword [ebp - 4], 0xfffffffe
jmp 0x46f772
mov dword [ebp - 0x1ec4], 0
jmp 0x46f78d
mov edx, dword [ebp - 0x1ec4]
add edx, 1
mov dword [ebp - 0x1ec4], edx
cmp dword [ebp - 0x1ec4], 0
jge 0x46f7ce
cmp dword [ebp - 0x1c], 0
jge 0x46f7a4
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 0x46f7ba
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x20c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46f77e
mov dword [ebp - 0x20c4], 0
jmp 0x46f7e9
mov eax, dword [ebp - 0x20c4]
add eax, 1
mov dword [ebp - 0x20c4], eax
cmp dword [ebp - 0x20c4], 2
jge 0x46f82a
cmp dword [ebp - 0x1c], 0
jge 0x46f800
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 0x46f816
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x22c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46f7da
mov dword [ebp - 0x22c4], 0
jmp 0x46f845
mov eax, dword [ebp - 0x22c4]
add eax, 1
mov dword [ebp - 0x22c4], eax
cmp dword [ebp - 0x22c4], 0
jge 0x46f886
cmp dword [ebp - 0x1c], 0
jge 0x46f85c
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 0x46f872
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x24c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46f836
mov dword [ebp - 4], 8
mov dword [ebp - 0x24c4], 0xffffffff
mov dword [ebp - 0x24c8], 0
jmp 0x46f8b2
mov eax, dword [ebp - 0x24c8]
add eax, 1
mov dword [ebp - 0x24c8], eax
cmp dword [ebp - 0x24c8], 1
jge 0x46f8e4
mov eax, dword [ebp - 0x24c8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46f8d9
mov edx, dword [ebp - 0x24c4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46f8a3
mov dword [ebp - 4], 0xfffffffe
jmp 0x46f904
mov dword [ebp - 0x24cc], 0
jmp 0x46f91f
cmp dword [ebp - 0x24cc], 0
jge 0x46f960
cmp dword [ebp - 0x1c], 0
jge 0x46f936
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 0x46f94c
mov dword [ebp - 0x26cc], 0
jmp 0x46f97b
cmp dword [ebp - 0x26cc], 1
jge 0x46f9c8