Function at 0x404b30
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x406ca0
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.00406264
push 0x409e74
lea ecx, [esp + 0x14]
mov dword [esp + 0x3c], 0
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [0x409d34]
mov ecx, dword [0x409d08]
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 0x404bef
push 0x409d08
lea eax, [esp + 0x1c]
push str.ClientUID:_
push eax
call sub.MFC42.DLL_operator_2
push 0x409890
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.004062e8
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 0x409d2c
lea eax, [esp + 0x18]
push str.version:_
push eax
call sub.MFC42.DLL_operator_2
push 0x409890
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.004062e8
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 [0x409d30]
mov ecx, dword [0x409cd8]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x404cc7
push 0x409cd8
lea eax, [esp + 0x18]
push str.referrer:_
push eax
call sub.MFC42.DLL_operator_2
push 0x409890
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.004062e8
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 [0x409d50]
mov ecx, dword [0x409d24]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x404d3e
push 0x409d24
lea eax, [esp + 0x18]
push str.ftp:_
push eax
call sub.MFC42.DLL_operator_2
push 0x409890
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.004062e8
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 [0x409d3c]
mov ecx, dword [0x409d10]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x404db5
push 0x409d10
lea eax, [esp + 0x18]
push str.timer:_
push eax
call sub.MFC42.DLL_operator_2
push 0x409890
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.004062e8
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 [0x409d38]
mov ecx, dword [0x409d0c]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x404e2c
push 0x409d0c
lea eax, [esp + 0x18]
push str.runonce:_
push eax
call sub.MFC42.DLL_operator_2
push 0x409890
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.004062e8
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 [0x409d40]
mov ecx, dword [0x409d14]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x404ea3
push 0x409d14
lea eax, [esp + 0x18]
push str.file:_
push eax
call sub.MFC42.DLL_operator_2
push 0x409890
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.004062e8
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 [0x409d4c]
mov ecx, dword [0x409d20]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x404f1a
push 0x409d20
lea eax, [esp + 0x18]
push str.usn:_
push eax
call sub.MFC42.DLL_operator_2
push 0x409890
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.004062e8
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 [0x409d48]
mov ecx, dword [0x409d1c]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x404f91
push 0x409d1c
lea eax, [esp + 0x18]
push str.pwd:_
push eax
call sub.MFC42.DLL_operator_2
push 0x409890
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.004062e8
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 [0x409d44]
mov ecx, dword [0x409d18]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x405008
push 0x409d18
lea eax, [esp + 0x18]
push str.InstrURL:_
push eax
call sub.MFC42.DLL_operator_2
push 0x409890
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.004062e8
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 0x40510e
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CFile::CFile
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 0x16
call fcn.00406264
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 0x17
call fcn.00406264
mov ecx, dword [0x409cfc]
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 0x4050b2
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.004046e0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 0x19
call fcn.004062e8
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.0040628e
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