Function at 0x405060
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4073e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0xc]
call fcn.00406994
push 0x40ae74
lea ecx, [esp + 0x14]
mov dword [esp + 0x3c], 0
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [0x40ad34]
mov ecx, dword [0x40ad08]
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
mov bl, 1
push eax
push ecx
mov byte [esp + 0x40], bl
call esi
add esp, 8
test eax, eax
je 0x40511f
push 0x40ad08
lea eax, [esp + 0x1c]
push str.ClientUID:_
push eax
call sub.MFC42.DLL_operator_2
push 0x40a898
lea ecx, [esp + 0x18]
push eax
push ecx
mov byte [esp + 0x44], 2
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], 3
call fcn.00406a18
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0xc]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::operator
push 0x40ad2c
lea eax, [esp + 0x18]
push str.version:_
push eax
call sub.MFC42.DLL_operator_2
push 0x40a898
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x44], 4
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], 5
call fcn.00406a18
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0xc]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::operator
mov eax, dword [0x40ad30]
mov ecx, dword [0x40acd8]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x4051f7
push 0x40acd8
lea eax, [esp + 0x18]
push str.referrer:_
push eax
call sub.MFC42.DLL_operator_2
push 0x40a898
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x44], 6
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], 7
call fcn.00406a18
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0xc]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::operator
mov eax, dword [0x40ad50]
mov ecx, dword [0x40ad24]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x40526e
push 0x40ad24
lea eax, [esp + 0x18]
push str.ftp:_
push eax
call sub.MFC42.DLL_operator_2
push 0x40a898
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x44], 8
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], 9
call fcn.00406a18
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 8
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0xc]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::operator
mov eax, dword [0x40ad3c]
mov ecx, dword [0x40ad10]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x4052e5
push 0x40ad10
lea eax, [esp + 0x18]
push str.timer:_
push eax
call sub.MFC42.DLL_operator_2
push 0x40a898
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x44], 0xa
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], 0xb
call fcn.00406a18
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0xc]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::operator
mov eax, dword [0x40ad38]
mov ecx, dword [0x40ad0c]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x40535c
push 0x40ad0c
lea eax, [esp + 0x18]
push str.runonce:_
push eax
call sub.MFC42.DLL_operator_2
push 0x40a898
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x44], 0xc
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], 0xd
call fcn.00406a18
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 0xc
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0xc]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::operator
mov eax, dword [0x40ad40]
mov ecx, dword [0x40ad14]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x4053d3
push 0x40ad14
lea eax, [esp + 0x18]
push str.file:_
push eax
call sub.MFC42.DLL_operator_2
push 0x40a898
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x44], 0xe
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], 0xf
call fcn.00406a18
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 0xe
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0xc]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::operator
mov eax, dword [0x40ad4c]
mov ecx, dword [0x40ad20]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x40544a
push 0x40ad20
lea eax, [esp + 0x18]
push str.usn:_
push eax
call sub.MFC42.DLL_operator_2
push 0x40a898
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x44], 0x10
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], 0x11
call fcn.00406a18
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 0x10
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0xc]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::operator
mov eax, dword [0x40ad48]
mov ecx, dword [0x40ad1c]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x4054c1
push 0x40ad1c
lea eax, [esp + 0x18]
push str.pwd:_
push eax
call sub.MFC42.DLL_operator_2
push 0x40a898
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x44], 0x12
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], 0x13
call fcn.00406a18
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 0x12
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0xc]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::operator
mov eax, dword [0x40ad44]
mov ecx, dword [0x40ad18]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x405538
push 0x40ad18
lea eax, [esp + 0x18]
push str.InstrURL:_
push eax
call sub.MFC42.DLL_operator_2
push 0x40a898
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x44], 0x14
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], 0x15
call fcn.00406a18
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 0x14
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0xc]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
jle 0x40563e
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CFile::CFile
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 0x16
call fcn.00406994
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 0x17
call fcn.00406994
mov ecx, dword [0x40acfc]
push 0
push 0x1001
push ecx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x44], 0x18
call sub.MFC42.DLL_CFile::Open
test eax, eax
je 0x4055e2
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
call fcn.00404c10
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 0x19
call fcn.00406a18
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 0x18
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x14]
push eax
push eax
call sub.MFC42.DLL_CString::GetBufferSetLength
push eax
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CFile::Write
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 0x17
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 0x16
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x38], bl
call fcn.004069be
lea ecx, [esp + 0x10]
mov byte [esp + 0x38], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x38], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov al, bl
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x30
ret
lea ecx, [esp + 0x10]
mov byte [esp + 0x38], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x38], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x30]
pop edi
pop esi
xor al, al
mov dword fs:[0], ecx
pop ebx
add esp, 0x30
ret