Function at 0x10003980
Capabilities:
Delete file
Download url
Get process heap force flags
Receive data

Disassembly:
push 0xffffffffffffffff
push 0x10005921
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x88
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x1c]
lea eax, [esi + 0x14]
push eax
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esi + 0x20]
mov dword [esp + 0xa0], 0
push ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_2
push 0x100082d8
lea ecx, [esp + 0x2c]
mov byte [esp + 0xa4], 1
call sub.MFC42.DLL_CString::CString
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0xa8], 2
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.100036c0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xa4], 3
call fcn.10004cfc
lea ecx, [esp + 0x24]
mov byte [esp + 0xa0], 2
call fcn.10004cf0
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.100036c0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xa4], 4
call fcn.10004cfc
lea ecx, [esp + 0x24]
mov byte [esp + 0xa0], 2
call fcn.10004cf0
call sub.MFC42.DLL_AfxGetModuleState
lea ecx, [esi + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_2
push 0x100082d8
lea ecx, [esp + 0x18]
mov byte [esp + 0xa4], 5
call sub.MFC42.DLL_CString::CString
push 0x100082d8
lea ecx, [esp + 0x30]
mov byte [esp + 0xa4], 6
call sub.MFC42.DLL_CString::CString
mov dl, byte [0x100082d8]
mov ecx, 0x18
xor eax, eax
lea edi, [esp + 0x35]
mov byte [esp + 0x34], dl
mov byte [esp + 0xa0], 7
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push str.ServerType.32
lea ecx, [esp + 0x1c]
xor edi, edi
call sub.MFC42.DLL_CString::operator_1
lea eax, [esi + 0xd0]
lea ecx, [esp + 0x10]
push eax
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1c]
mov bl, 8
push ecx
lea ecx, [esp + 0x14]
mov byte [esp + 0xa4], bl
call sub.MFC42.DLL_CString::operator
push str.x_serviceType
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_1
lea edx, [esp + 0x20]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::operator
push 0x100081cc
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_1
lea eax, [esp + 0x28]
lea ecx, [esp + 0x10]
push eax
call sub.MFC42.DLL_CString::operator
push 0x60
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0xa0], 9
je 0x10003b56
mov ecx, eax
call fcn.10004000
jmp 0x10003b58
xor eax, eax
push 0x28
push pe_nt_image_headers32
mov ecx, eax
mov byte [esp + 0xa8], bl
mov dword [esi + 0x24], eax
call fcn.10004080
mov ecx, dword [esi + 0x24]
push 0
call sub.MFC42.DLL_CWnd::CenterWindow
mov ecx, dword [esi + 0x24]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push 0
push 0
push edx
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
test eax, eax
je 0x10003bcd
inc edi
cmp edi, 3
jge 0x10003c62
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push 0
push 0
push ecx
push edx
push 0
call sub.urlmon.dll_URLDownloadToFileA
test eax, eax
jne 0x10003baa
mov eax, dword [esp + 0x18]
push 0x100080b4
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov edi, eax
add esp, 8
mov eax, dword [edi + 0xc]
test al, 0x10
jne 0x10003c4b
mov ebp, dword [sym.imp.MSVCRT.dll_fscanf]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpA]
test al, 0x20
jne 0x10003c4b
lea ecx, [esp + 0x34]
push ecx
push 0x100080b0
push edi
call ebp
add esp, 0xc
lea edx, [esp + 0x34]
lea ecx, [esp + 0x14]
push edx
call fcn.10004dbc
mov eax, dword [esp + 0x14]
push 0x100080a8
push eax
call ebx
test eax, eax
jne 0x10003c44
lea ecx, [esp + 0x34]
push ecx
push 0x100080b0
push edi
call ebp
add esp, 0xc
lea edx, [esp + 0x34]
lea ecx, [esi + 0xc]
push edx
call fcn.10004dbc
mov eax, dword [edi + 0xc]
test al, 0x10
je 0x10003bf5
push edi
call dword [sym.imp.MSVCRT.dll_fclose]
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x10003c70
push 0x100080ac
lea ecx, [esp + 0x18]
call fcn.10004dbc
mov eax, dword [esi + 0x24]
push 0
push 0
push 0x10
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
lea edx, [esp + 0x14]
lea ecx, [esi + 8]
push edx
mov dword [esi + 0x24], 0
call fcn.10004cfc
mov ecx, esi
call fcn.10003290
mov ecx, esi
call fcn.10003df0
mov eax, dword [esp + 0x14]
mov esi, 0x100080a8
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x10003cd6
test cl, cl
je 0x10003cd2
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x10003cd6
add eax, 2
add esi, 2
test cl, cl
jne 0x10003cae
xor eax, eax
jmp 0x10003cdb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov byte [esp + 0xa0], 7
lea ecx, [esp + 0x10]
jne 0x10003d5d
call fcn.10004cf0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xa0], 6
call fcn.10004cf0
lea ecx, [esp + 0x14]
mov byte [esp + 0xa0], 5
call fcn.10004cf0
lea ecx, [esp + 0x18]
mov byte [esp + 0xa0], 2
call fcn.10004cf0
lea ecx, [esp + 0x28]
mov byte [esp + 0xa0], 1
call fcn.10004cf0
lea ecx, [esp + 0x20]
mov byte [esp + 0xa0], 0
call fcn.10004cf0
lea ecx, [esp + 0x1c]
mov dword [esp + 0xa0], 0xffffffff
call fcn.10004cf0
mov al, 1
jmp 0x10003dcd
call fcn.10004cf0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xa0], 6
call fcn.10004cf0
lea ecx, [esp + 0x14]
mov byte [esp + 0xa0], 5
call fcn.10004cf0
lea ecx, [esp + 0x18]
mov byte [esp + 0xa0], 2
call fcn.10004cf0
lea ecx, [esp + 0x28]
mov byte [esp + 0xa0], 1
call fcn.10004cf0
lea ecx, [esp + 0x20]
mov byte [esp + 0xa0], 0
call fcn.10004cf0
lea ecx, [esp + 0x1c]
mov dword [esp + 0xa0], 0xffffffff
call fcn.10004cf0
xor al, al
mov ecx, dword [esp + 0x98]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x94
ret