Function at 0x40fb40
Capabilities:
Check http status code
Check if file exists
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x42b4e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor ebp, ebp
lea ecx, [esp + 0x44]
mov dword [esp + 0x84], ebp
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x48]
mov byte [esp + 0x84], 1
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x44]
mov byte [esp + 0x84], 2
call fcn.0041f5c0
push ebp
lea ecx, [esp + 0x48]
call fcn.0041dd40
lea ecx, [esp + 0x14]
mov byte [esp + 0x84], 3
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x84], 4
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 5
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x10]
mov byte [esp + 0x84], 6
mov edi, 1
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x30]
mov byte [esp + 0x84], 7
call sub.MFC42.DLL_CStringArray::CStringArray
push ecx
mov bl, 8
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x43770c
mov byte [esp + 0x8c], bl
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x34]
lea edx, [esp + 0x90]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov byte [esp + 0x94], 9
call fcn.00428f24
lea ecx, [esi + 0x148]
mov byte [esp + 0x90], bl
call fcn.00402620
lea eax, [esp + 0x20]
push edi
push eax
lea ecx, [esp + 0x38]
call fcn.004085a0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x88], 0xa
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x20]
mov byte [esp + 0x84], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
push 2
push ecx
lea ecx, [esp + 0x38]
call fcn.004085a0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x88], 0xb
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x20]
mov byte [esp + 0x84], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x20]
push 3
push edx
lea ecx, [esp + 0x38]
call fcn.004085a0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x88], 0xc
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x20]
mov byte [esp + 0x84], bl
call sub.MFC42.DLL_CString::CString
mov eax, dword [esi + 0xbc8]
lea ecx, [esp + 0x10]
push eax
push str._slocallist.xml
push ecx
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x9c]
add esp, 0xc
cmp eax, edi
jne 0x41031f
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x40fed8
push str.__xml_version_1.0__encoding_GB2312___
lea ecx, [esp + 0x48]
call fcn.0041dd40
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x98], esp
push ebp
call fcn.00408590
push ecx
mov ecx, esp
mov dword [esp + 0x9c], esp
push str.root
call fcn.00408590
lea ecx, [esp + 0x50]
call fcn.0040dd00
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x98], esp
push ebp
call fcn.00408590
push ecx
mov ecx, esp
mov dword [esp + 0x9c], esp
push str.item
call fcn.00408590
lea ecx, [esp + 0x50]
call fcn.0040dd40
lea ecx, [esp + 0x44]
call fcn.0041f520
push ebp
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x98], esp
push eax
call fcn.0040dcd0
push ecx
mov ecx, esp
mov dword [esp + 0x9c], esp
push 0x4377a0
call fcn.00408590
lea ecx, [esp + 0x50]
call fcn.0040dd40
push ebp
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x98], esp
push edx
call fcn.0040dcd0
push ecx
mov ecx, esp
mov dword [esp + 0x9c], esp
push str.title
call fcn.00408590
lea ecx, [esp + 0x50]
call fcn.0040dd40
push ebp
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x98], esp
push eax
call fcn.0040dcd0
push ecx
mov ecx, esp
mov dword [esp + 0x9c], esp
push str.path
call fcn.00408590
lea ecx, [esp + 0x50]
call fcn.0040dd40
lea ecx, [esp + 0x14]
push 0x43770c
lea edx, [esp + 0x2c]
push ecx
push edx
call sub.MFC42.DLL_operator_2
mov byte [esp + 0x84], 0xd
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x24]
push ecx
push eax
push edx
call sub.MFC42.DLL_operator
push 0x43770c
push eax
lea eax, [esp + 0x28]
mov byte [esp + 0x8c], 0xe
push eax
call sub.MFC42.DLL_operator_2
lea ecx, [esp + 0x18]
lea edx, [esp + 0x90]
push ecx
push eax
push edx
mov byte [esp + 0x90], 0xf
call sub.MFC42.DLL_operator
push edi
push eax
push ebp
lea ecx, [esi + 0xba8]
mov byte [esp + 0x90], 0x10
call sub.MFC42.DLL_CStringArray::InsertAt
lea ecx, [esp + 0x90]
mov byte [esp + 0x84], 0xf
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x84], 0xe
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x84], 0xd
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0x84], bl
lea ecx, [esp + 0x28]
jmp 0x410305
push ecx
mov ecx, dword [esp + 0x14]
mov eax, esp
mov dword [esp + 0x94], esp
mov dword [eax], ecx
lea ecx, [esp + 0x48]
call fcn.0041de90
test al, al
jne 0x40ff0d
push 0x10
push 0x437108
push 0x437774
mov ecx, esi
call sub.MFC42.DLL_CWnd::MessageBoxA
jmp 0x41049e
push ecx
lea ecx, [esp + 0x48]
mov eax, esp
mov dword [esp + 0x30], esp
mov dword [eax], str.item
call fcn.0041e620
test al, al
je 0x410136
lea ecx, [esp + 0x44]
call fcn.0041f520
push ecx
lea ecx, [esp + 0x48]
mov eax, esp
mov dword [esp + 0x30], esp
mov dword [eax], 0x4377a0
call fcn.0041e620
lea edx, [esp + 0x90]
lea ecx, [esp + 0x44]
push edx
call fcn.0040dce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x90]
push eax
push ecx
mov byte [esp + 0x8c], 0x11
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x40ffd8
inc ebp
cmp ebp, 0xc8
jl 0x40ffb7
lea ecx, [esp + 0x44]
call fcn.0041f580
mov edx, dword [esp + 0x10]
push ecx
mov eax, esp
lea ecx, [esp + 0x48]
mov dword [esp + 0x30], esp
mov dword [eax], edx
call fcn.0041e2c0
test al, al
je 0x40ffb7
push 1
push ebp
lea ecx, [esi + 0xba8]
call sub.MFC42.DLL_CStringArray::RemoveAt
lea ecx, [esp + 0x44]
call fcn.0041f540
lea ecx, [esp + 0x90]
mov byte [esp + 0x84], bl
call sub.MFC42.DLL_CString::CString
jmp 0x40ff0d
push 0
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.0040dcd0
lea ecx, [esp + 0x4c]
call fcn.0040dd60
push ecx
lea ecx, [esp + 0x48]
mov eax, esp
mov dword [esp + 0x30], esp
mov dword [eax], str.title
call fcn.0041e620
push 0
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.0040dcd0
lea ecx, [esp + 0x4c]
call fcn.0040dd60
push ecx
lea ecx, [esp + 0x48]
mov eax, esp
mov dword [esp + 0x30], esp
mov dword [eax], str.path
call fcn.0041e620
push 0
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.0040dcd0
lea ecx, [esp + 0x4c]
call fcn.0040dd60
lea edi, [esi + 0xba8]
push 1
push ebp
mov ecx, edi
call sub.MFC42.DLL_CStringArray::RemoveAt
lea ecx, [esp + 0x14]
push 0x43770c
lea edx, [esp + 0x30]
push ecx
push edx
mov dword [esi + 0xb80], ebp
call sub.MFC42.DLL_operator_2
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x20]
push ecx
push eax
push edx
mov byte [esp + 0x90], 0x12
call sub.MFC42.DLL_operator
push 0x43770c
push eax
lea eax, [esp + 0x2c]
mov byte [esp + 0x8c], 0x13
push eax
call sub.MFC42.DLL_operator_2
lea ecx, [esp + 0x18]
lea edx, [esp + 0x28]
push ecx
push eax
push edx
mov byte [esp + 0x90], 0x14
call sub.MFC42.DLL_operator
push 1
push eax
push ebp
mov ecx, edi
mov byte [esp + 0x90], 0x15
call sub.MFC42.DLL_CStringArray::InsertAt
lea ecx, [esp + 0x28]
mov byte [esp + 0x84], 0x14
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x84], 0x13
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x84], 0x12
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x84], 0x11
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x90]
xor edi, edi
mov byte [esp + 0x84], bl
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x4c]
push 0
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.0041f610
test edi, edi
je 0x41030a
push ecx
lea ecx, [esp + 0x48]
mov eax, esp
mov dword [esp + 0x94], esp
mov dword [eax], str.root
call fcn.0041e580
lea ecx, [esp + 0x44]
call fcn.0041f520
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x98], esp
push 0
call fcn.00408590
push ecx
mov ecx, esp
mov dword [esp + 0x9c], esp
push str.item
call fcn.00408590
lea ecx, [esp + 0x50]
call fcn.0040dd20
lea ecx, [esp + 0x44]
call fcn.0041f520
push 0
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x98], esp
push edx
call fcn.0040dcd0
push ecx
mov ecx, esp
mov dword [esp + 0x9c], esp
push 0x4377a0
call fcn.00408590
lea ecx, [esp + 0x50]
call fcn.0040dd00
push 0
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x98], esp
push eax
call fcn.0040dcd0
push ecx
mov ecx, esp
mov dword [esp + 0x9c], esp
push str.title
call fcn.00408590
lea ecx, [esp + 0x50]
call fcn.0040dd00
push 0
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x98], esp
push edx
call fcn.0040dcd0
push ecx
mov ecx, esp
mov dword [esp + 0x9c], esp
push str.path
call fcn.00408590
lea ecx, [esp + 0x50]
call fcn.0040dd00
lea ecx, [esp + 0x44]
call fcn.0041f540
lea eax, [esp + 0x14]
push 0x43770c
lea ecx, [esp + 0x28]
push eax
push ecx
call sub.MFC42.DLL_operator_2
lea edx, [esp + 0x1c]
mov byte [esp + 0x84], 0x16
push edx
push eax
lea eax, [esp + 0x30]
push eax
call sub.MFC42.DLL_operator
push 0x43770c
lea ecx, [esp + 0x30]
push eax
push ecx
mov byte [esp + 0x90], 0x17
call sub.MFC42.DLL_operator_2
lea edx, [esp + 0x18]
mov byte [esp + 0x84], 0x18
push edx
push eax
lea eax, [esp + 0x98]
push eax
call sub.MFC42.DLL_operator
push 1
push eax
push 0
lea ecx, [esi + 0xba8]
mov byte [esp + 0x90], 0x19
call sub.MFC42.DLL_CStringArray::InsertAt
lea ecx, [esp + 0x90]
mov byte [esp + 0x84], 0x18
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x84], 0x17
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x84], 0x16
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0x84], bl
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
push ecx
mov ecx, dword [esp + 0x14]
mov eax, esp
mov dword [esp + 0x94], esp
mov dword [eax], ecx
jmp 0x410495
cmp eax, 2
jne 0x41041b
mov edx, dword [esp + 0x10]
push ecx
mov eax, esp
lea ecx, [esp + 0x48]
mov dword [esp + 0x94], esp
mov dword [eax], edx
call fcn.0041de90
test al, al
je 0x410406
mov edi, dword [sym.imp.MSVCRT.dll__mbscmp]
push ecx
lea ecx, [esp + 0x48]
mov eax, esp
mov dword [esp + 0x30], esp
mov dword [eax], str.item
call fcn.0041e620
test al, al
je 0x410406
lea ecx, [esp + 0x44]
call fcn.0041f520
push ecx
lea ecx, [esp + 0x48]
mov eax, esp
mov dword [esp + 0x30], esp
mov dword [eax], 0x4377a0
call fcn.0041e620
lea eax, [esp + 0x90]
lea ecx, [esp + 0x44]
push eax
call fcn.0040dce0
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
push ecx
push eax
call edi
add esp, 8
lea ecx, [esp + 0x90]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
jne 0x4103cb
lea ecx, [esp + 0x44]
inc ebp
call fcn.0041f540
jmp 0x41034f
lea ecx, [esp + 0x44]
call fcn.0041f580
mov edx, dword [esp + 0x10]
push ecx
mov eax, esp
lea ecx, [esp + 0x48]
mov dword [esp + 0x30], esp
mov dword [eax], edx
call fcn.0041e2c0
lea ecx, [esp + 0x44]
call fcn.0041f540
push 1
push ebp
lea ecx, [esi + 0xba8]
call sub.MFC42.DLL_CStringArray::RemoveAt
jmp 0x41049e
push 0
push 0
push 0x437840
mov ecx, esi
call sub.MFC42.DLL_CWnd::MessageBoxA
jmp 0x41049e
cmp eax, 3
jne 0x41049e
push ecx
mov ecx, dword [esp + 0x14]
mov eax, esp
mov dword [esp + 0x94], esp
mov dword [eax], ecx
lea ecx, [esp + 0x48]
call fcn.0041de90
test al, al
je 0x41049e
push ecx
lea ecx, [esp + 0x48]
mov eax, esp
mov dword [esp + 0x94], esp
mov dword [eax], str.item
call fcn.0041e620
test al, al
je 0x410477
lea ecx, [esp + 0x44]
call fcn.0041f520
lea ecx, [esp + 0x44]
call fcn.0041f580
lea ecx, [esp + 0x44]
call fcn.0041f540
jmp 0x41043d
push 0xffffffffffffffff
push ebp
lea ecx, [esi + 0xba8]
call sub.MFC42.DLL_CStringArray::SetSize
mov edx, dword [esp + 0x10]
push ecx
mov eax, esp
mov dword [esp + 0x94], esp
mov dword [eax], edx
lea ecx, [esp + 0x48]
call fcn.0041e2c0
lea ecx, [esp + 0x30]
mov byte [esp + 0x84], 7
call fcn.00429200
lea ecx, [esp + 0x10]
mov byte [esp + 0x84], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x84], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x84], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x44]
mov byte [esp + 0x84], 0
call fcn.0041dc00
lea ecx, [esp + 0x8c]
mov dword [esp + 0x84], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x78
ret 8