Function at 0x406720
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e0
and dword [0x43d000], 0
call fcn.00419289
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0x25
jne 0x406495
mov dword [ebp - 4], 0x7d00
push dword [ebp - 4]
call fcn.0041a65d
pop ecx
mov dword [ebp - 0x10], eax
push str._nCurrent_redirections_:_n_n
call fcn.004083d1
pop ecx
lea eax, [ebp - 0x14]
push eax
push 0
push 0
push 0
push 1
call sub.MPR.dll_WNetOpenEnumA
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x406487
or dword [ebp - 0xc], 0xffffffff
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x10]
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x14]
call sub.MPR.dll_WNetEnumResourceA
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x40645e
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
jmp 0x406420
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
add eax, 0x20
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0xc], 0
je 0x406451
mov eax, dword [ebp - 0x18]
push dword [eax + 0x14]
mov eax, dword [ebp - 0x18]
push dword [eax + 0x10]
push str.___5s________s_n
push 0x44fa00
call fcn.0041e9c2
add esp, 0x10
push 0x44fa00
call fcn.004083d1
pop ecx
jmp 0x406410
push str._nEnd_of_list._n
call fcn.004083d1
pop ecx
jmp 0x40647f
cmp dword [ebp - 8], 0x103
jne 0x406474
push str.No_entries_in_list._n
call fcn.004083d1
pop ecx
jmp 0x40647f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x43d000], eax
push dword [ebp - 0x14]
call sub.MPR.dll_WNetCloseEnum
push dword [ebp - 0x10]
call fcn.0041efe8
pop ecx
jmp 0x406ccc
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0xfffffff1
je 0x406cbe
and dword [ebp - 0x25c], 0
and dword [ebp - 0x264], 0
and dword [ebp - 0x260], 0
and dword [ebp - 0x38], 0
and dword [ebp - 0x1c], 0
and dword [ebp - 0x34], 0
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [ebp - 0x258], 0
mov byte [ebp - 0x150], 0
push 0
call fcn.00415c5d
pop ecx
cmp dword [ebp - 0x25c], 0
jne 0x4068d9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2d0], eax
cmp dword [ebp - 0x2d0], 0xffffffd9
jg 0x40655e
cmp dword [ebp - 0x2d0], 0xffffffd9
je 0x4067c4
cmp dword [ebp - 0x2d0], 0xffffffc4
je 0x406796
cmp dword [ebp - 0x2d0], 0xffffffc5
je 0x4065a4
cmp dword [ebp - 0x2d0], 0xffffffc5
jle 0x40687f
cmp dword [ebp - 0x2d0], 0xffffffc7
jle 0x4067c4
cmp dword [ebp - 0x2d0], 0xffffffcd
je 0x4067c4
jmp 0x40687f
cmp dword [ebp - 0x2d0], 0xffffffde
jl 0x40687f
cmp dword [ebp - 0x2d0], 0xffffffe0
jle 0x4067c4
cmp dword [ebp - 0x2d0], 0xffffffe9
jle 0x40687f
cmp dword [ebp - 0x2d0], 0xffffffeb
jle 0x4067c4
cmp dword [ebp - 0x2d0], 0xffffffef
je 0x4067c4
jmp 0x40687f
call fcn.00419289
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2d4], eax
cmp dword [ebp - 0x2d4], 0xffffffde
je 0x4065e6
cmp dword [ebp - 0x2d4], 0xffffffef
je 0x4065e6
cmp dword [ebp - 0x2d4], 0xc
je 0x40677e
cmp dword [ebp - 0x2d4], 0x2e
je 0x40676a
jmp 0x406787
and dword [ebp - 0x268], 0
mov eax, dword [ebp + 8]
push dword [eax + 0x1c]
call fcn.0041ea20
pop ecx
mov dword [ebp - 0x26c], eax
push 0x3a
mov eax, dword [ebp + 8]
push dword [eax + 0x1c]
call fcn.0041f2e0
pop ecx
pop ecx
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0
je 0x40662f
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x268]
sub ecx, dword [eax + 0x1c]
mov dword [ebp - 0x26c], ecx
push dword [ebp - 0x26c]
push str.user
mov eax, dword [ebp + 8]
push dword [eax + 0x1c]
call fcn.0041f279
add esp, 0xc
test eax, eax
jne 0x4066a2
cmp dword [ebp - 0x268], 0
je 0x40668b
mov eax, dword [ebp - 0x268]
movsx eax, byte [eax + 1]
test eax, eax
je 0x40668b
mov word [ebp - 0x30], 8
mov eax, dword [ebp - 0x268]
inc eax
push eax
call fcn.0041ea20
pop ecx
push eax
mov eax, dword [ebp - 0x268]
inc eax
push eax
call dword [sym.imp.OLEAUT32.dll_DllRegisterServer]
mov dword [ebp - 0x28], eax
jmp 0x40669d
push 0
push 3
push 8
lea eax, [ebp - 0x30]
push eax
call fcn.00409b6d
add esp, 0x10
jmp 0x406768
push dword [ebp - 0x26c]
push 0x436f38
mov eax, dword [ebp + 8]
push dword [eax + 0x1c]
call fcn.0041f279
add esp, 0xc
test eax, eax
jne 0x406712
cmp dword [ebp - 0x268], 0
je 0x4066fe
mov eax, dword [ebp - 0x268]
movsx eax, byte [eax + 1]
test eax, eax
je 0x4066fe
mov word [ebp - 0x48], 8
mov eax, dword [ebp - 0x268]
inc eax
push eax
call fcn.0041ea20
pop ecx
push eax
mov eax, dword [ebp - 0x268]
inc eax
push eax
call dword [sym.imp.OLEAUT32.dll_DllRegisterServer]
mov dword [ebp - 0x40], eax
jmp 0x406710
push 0
push 3
push 8
lea eax, [ebp - 0x48]
push eax
call fcn.00409b6d
add esp, 0x10
jmp 0x406768
push dword [ebp - 0x26c]
push str.persistent
mov eax, dword [ebp + 8]
push dword [eax + 0x1c]
call fcn.0041f279
add esp, 0xc
test eax, eax
jne 0x406738
mov dword [ebp - 0x1c], 1
jmp 0x406768
push dword [ebp - 0x26c]
push str.delete
mov eax, dword [ebp + 8]
push dword [eax + 0x1c]
call fcn.0041f279
add esp, 0xc
test eax, eax
jne 0x40675e
mov dword [ebp - 0x34], 1
jmp 0x406768
mov dword [0x43d000], 0x57
jmp 0x406791
push 0
push 3
push 8
lea eax, [ebp - 0x48]
push eax
call fcn.00409b6d
add esp, 0x10
jmp 0x406791
mov dword [ebp - 0x34], 1
jmp 0x406791
mov dword [0x43d000], 0x57
jmp 0x406889
cmp dword [ebp - 0x260], 0
jne 0x4067b5
mov dword [ebp - 0x260], 1
mov dword [ebp - 0x264], 1
jmp 0x4067bf
mov dword [0x43d000], 0x57
jmp 0x406889
call fcn.00416b9c
push 0
push 3
push 8
lea eax, [ebp - 0x280]
push eax
call fcn.00409b6d
add esp, 0x10
mov eax, dword [ebp - 0x278]
movzx eax, byte [eax]
cmp eax, 0x5c
jne 0x40681b
cmp dword [ebp - 0x38], 0
jne 0x40680f
push dword [ebp - 0x278]
lea eax, [ebp - 0x150]
push eax
call fcn.0041eab0
pop ecx
pop ecx
mov dword [ebp - 0x38], 1
jmp 0x406819
mov dword [0x43d000], 0x57
jmp 0x406870
cmp dword [ebp - 0x260], 0
jne 0x406866
mov dword [ebp - 0x260], 1
push 0x436f58
push dword [ebp - 0x278]
call fcn.0041eba8
pop ecx
pop ecx
test eax, eax
jne 0x406850
mov dword [ebp - 0x264], 1
jmp 0x406864
push dword [ebp - 0x278]
lea eax, [ebp - 0x258]
push eax
call fcn.0041eab0
pop ecx
pop ecx
jmp 0x406870
mov dword [0x43d000], 0x57
lea eax, [ebp - 0x280]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x406889
mov dword [ebp - 0x25c], 1
cmp dword [ebp - 0x25c], 0
jne 0x4068d4
call fcn.00419289
cmp dword [ebp - 0x38], 1
jne 0x4068b2
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0xffffffc5
je 0x4068b2
mov dword [ebp - 0x25c], 1
jmp 0x4068d4
cmp dword [ebp - 0x260], 1
jne 0x4068d4
cmp dword [ebp - 0x34], 1
jne 0x4068d4
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0xffffffc5
je 0x4068d4
mov dword [ebp - 0x25c], 1
jmp 0x4064ed
call fcn.00416b9c
cmp dword [0x43d000], 0
jne 0x406c9a
cmp dword [ebp - 0x34], 1
jne 0x406b0d
cmp dword [ebp - 0x264], 1
jne 0x406abf
mov dword [ebp - 0x284], 0x7d00
push dword [ebp - 0x284]
call fcn.0041a65d
pop ecx
mov dword [ebp - 0x290], eax
lea eax, [ebp - 0x294]
push eax
push 0
push 0
push 0
push 1
call sub.MPR.dll_WNetOpenEnumA
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0
jne 0x406aa6
or dword [ebp - 0x28c], 0xffffffff
lea eax, [ebp - 0x284]
push eax
push dword [ebp - 0x290]
lea eax, [ebp - 0x28c]
push eax
push dword [ebp - 0x294]
call sub.MPR.dll_WNetEnumResourceA
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0
jne 0x406a82
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x29c], eax
jmp 0x4069a8
mov eax, dword [ebp - 0x28c]
dec eax
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x29c]
add eax, 0x20
mov dword [ebp - 0x29c], eax
cmp dword [ebp - 0x28c], 0
je 0x406a80
push 0x5c
mov eax, dword [ebp - 0x29c]
push dword [eax + 0x14]
call fcn.0041f3a0
pop ecx
pop ecx
mov dword [ebp - 0x298], eax
push str.netlogon
mov eax, dword [ebp - 0x298]
inc eax
push eax
call fcn.0041eba8
pop ecx
pop ecx
test eax, eax
je 0x406a7b
push str.ipc_
mov eax, dword [ebp - 0x298]
inc eax
push eax
call fcn.0041eba8
pop ecx
pop ecx
test eax, eax
je 0x406a7b
mov eax, dword [ebp - 0x29c]
cmp dword [eax + 0x10], 0
je 0x406a29
push 2
push 0x457800
mov eax, dword [ebp - 0x29c]
push dword [eax + 0x10]
call fcn.0041f279
add esp, 0xc
test eax, eax
je 0x406a7b
mov eax, dword [ebp - 0x29c]
cmp dword [eax + 0x10], 0
je 0x406a46
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x2d8], eax
jmp 0x406a55
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2d8], eax
push 1
xor eax, eax
cmp dword [ebp - 0x1c], 1
sete al
push eax
push dword [ebp - 0x2d8]
call sub.MPR.dll_WNetCancelConnection2A
test eax, eax
je 0x406a7b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x43d000], eax
jmp 0x40698c
jmp 0x406a99
cmp dword [ebp - 0x288], 0x103
je 0x406a99
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x43d000], eax
push dword [ebp - 0x294]
call sub.MPR.dll_WNetCloseEnum
jmp 0x406ab1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x43d000], eax
push dword [ebp - 0x290]
call fcn.0041efe8
pop ecx
jmp 0x406b08
cmp dword [ebp - 0x260], 1
jne 0x406ad6
lea eax, [ebp - 0x258]
mov dword [ebp - 0x2dc], eax
jmp 0x406ae2
lea eax, [ebp - 0x150]
mov dword [ebp - 0x2dc], eax
push 1
xor eax, eax
cmp dword [ebp - 0x1c], 1
sete al
push eax
push dword [ebp - 0x2dc]
call sub.MPR.dll_WNetCancelConnection2A
test eax, eax
je 0x406b08
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x43d000], eax
jmp 0x406c98
and dword [ebp - 0x2cc], 0
and dword [ebp - 0x2a0], 0
and dword [ebp - 0x2c8], 0
and dword [ebp - 0x2c4], 0
lea eax, [ebp - 0x150]
test eax, eax
je 0x406b49
lea eax, [ebp - 0x150]
push eax
call fcn.0041ea20
pop ecx
inc eax
mov dword [ebp - 0x2e0], eax
jmp 0x406b53
mov dword [ebp - 0x2e0], 0x40
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2a0], eax
push dword [ebp - 0x2a0]
call fcn.0041a65d
pop ecx
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x264], 1
jne 0x406b97
mov dword [ebp - 0x2cc], 0x80
and dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2bc], 1
jmp 0x406c07
lea eax, [ebp - 0x258]
mov dword [ebp - 0x2b0], eax
lea eax, [ebp - 0x258]
push eax
call fcn.0041ea20
pop ecx
test eax, eax
jne 0x406bbd
and dword [ebp - 0x2bc], 0
jmp 0x406c07
push 3
push 0x436f70
lea eax, [ebp - 0x258]
push eax
call fcn.0041f279
add esp, 0xc
test eax, eax
je 0x406bf1
push 3
push 0x436f74
lea eax, [ebp - 0x258]
push eax
call fcn.0041f279
add esp, 0xc
test eax, eax
jne 0x406bfd
mov dword [ebp - 0x2bc], 2
jmp 0x406c07
mov dword [ebp - 0x2bc], 1
cmp dword [ebp - 0x1c], 1
jne 0x406c1c
mov eax, dword [ebp - 0x2cc]
or eax, 1
mov dword [ebp - 0x2cc], eax
lea eax, [ebp - 0x150]
mov dword [ebp - 0x2ac], eax
and dword [ebp - 0x2a4], 0
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x2a0]
push eax
push dword [ebp - 0x2c4]
push dword [ebp - 0x2cc]
movzx eax, word [ebp - 0x30]
neg eax
sbb eax, eax
and eax, dword [ebp - 0x28]
push eax
movzx eax, word [ebp - 0x48]
neg eax
sbb eax, eax
and eax, dword [ebp - 0x40]
push eax
lea eax, [ebp - 0x2c0]
push eax
push 0
call sub.MPR.dll_WNetUseConnectionA
test eax, eax
je 0x406c80
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x43d000], eax
jmp 0x406c8c
push dword [ebp - 0x2c4]
call fcn.00415c5d
pop ecx
push dword [ebp - 0x2c4]
call fcn.0041efe8
pop ecx
jmp 0x406ca8
push 0x436f78
push 1
call fcn.0041aa80
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x406ccc
push str.error_in_USE_statement
push 1
call fcn.0041aa80
pop ecx
pop ecx
leave
ret