Function at 0x41b150
Capabilities:
Connect to http server
Create http request
Parse url
Read .ini file
Read and send data from client to server
Resolve function by parsing pe exports
Send data
Send http request

Disassembly:
push 0xffffffffffffffff
push 0x41fb3f
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push ebp
push esi
push edi
mov eax, dword [0x42b75c]
xor eax, esp
push eax
lea eax, [esp + 0x7c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x8c]
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_310]
xor ebx, ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x84], ebx
call dword [sym.imp.mfc90.dll_Ordinal_316]
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_316]
push str.c:MorpheusMarsDebug.ini
push 1
push str.InternetConnected
push str.MagicNumber
mov byte [esp + 0x94], 2
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
je 0x41b323
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x28]
call dword [sym.imp.mfc90.dll_Ordinal_300]
lea ecx, [esp + 0x24]
mov byte [esp + 0x84], 3
call dword [sym.imp.mfc90.dll_Ordinal_6676]
lea edx, [esp + 0x40]
push edx
push ebx
push ebx
lea ecx, [esp + 0x30]
mov dword [esp + 0x4c], 0x3c
mov dword [esp + 0x50], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x84], ebx
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
cmp eax, ebx
jne 0x41b258
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x1c], 0x1bb
jmp 0x41b261
movzx eax, word [esp + 0x58]
mov dword [esp + 0x1c], eax
push ebx
push 0x2f
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_2480]
mov esi, eax
lea edi, [esi + 2]
push edi
push 0x2f
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_2480]
mov ebp, eax
mov ecx, ebp
sub ecx, esi
sub ecx, 2
push ecx
push edi
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_4507]
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x88], 4
call dword [sym.imp.mfc90.dll_Ordinal_817]
lea ecx, [esp + 0x30]
mov byte [esp + 0x84], 3
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_3178]
sub eax, ebp
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_5997]
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x88], 5
call dword [sym.imp.mfc90.dll_Ordinal_817]
lea ecx, [esp + 0x30]
mov byte [esp + 0x84], 3
call dword [sym.imp.mfc90.dll_Ordinal_601]
push ebx
push ebx
push ebx
push ebx
push str.HPWinMars750
call dword [sym.imp.WININET.dll_InternetOpenA]
mov esi, eax
mov dword [esp + 0x3c], esi
cmp esi, ebx
jne 0x41b357
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_601]
xor al, al
mov ecx, dword [esp + 0x7c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret
mov edi, dword [esp + 0x1c]
push ebx
push ebx
push 3
push ebx
push ebx
push edi
lea ecx, [esp + 0x38]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetConnectA]
mov esi, eax
mov dword [esp + 0x38], esi
cmp esi, ebx
jne 0x41b38b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x41b319
mov ecx, 0x1bb
cmp cx, di
je 0x41b3a8
mov edx, 0x50
cmp dx, di
jne 0x41b3a8
push 2
push 0x84200000
jmp 0x41b3af
push 2
push 0x84a03000
push ebx
push ebx
push ebx
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
push 0x422e98
push esi
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov edi, eax
cmp edi, ebx
jne 0x41b3e0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x41b319
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x2c]
push ecx
push 0x1f
push edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x44], 4
call dword [sym.imp.WININET.dll_InternetQueryOptionA]
or dword [esp + 0x28], 0x2180
push 4
lea edx, [esp + 0x2c]
push edx
push 0x1f
push edi
call dword [sym.imp.WININET.dll_InternetSetOptionA]
push ebx
push ebx
push ebx
push ebx
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
je 0x41b319
mov esi, dword [sym.imp.WININET.dll_HttpQueryInfoA]
push ebx
lea eax, [esp + 0x30]
push eax
push ebx
push 0x16
push edi
mov dword [esp + 0x40], ebx
call esi
mov ebp, dword [esp + 0x94]
test eax, eax
jne 0x41b55a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x41b55a
mov ecx, dword [esp + 0x2c]
push ecx
call sub.mfc90.dll_Ordinal_265
add esp, 4
push ebx
lea edx, [esp + 0x30]
push edx
push eax
push 0x16
push edi
mov dword [esp + 0x44], eax
call esi
test eax, eax
je 0x41b54d
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_310]
push ebx
push str.Location:
lea ecx, [esp + 0x24]
mov byte [esp + 0x8c], 6
call dword [sym.imp.mfc90.dll_Ordinal_2481]
mov esi, eax
cmp esi, 0xffffffff
je 0x41b543
mov ecx, ebp
call dword [sym.imp.mfc90.dll_Ordinal_2327]
add esi, 9
push esi
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_899]
mov ebx, dword [sym.imp.MSVCR90.dll_isspace]
movsx ecx, al
push ecx
call ebx
add esp, 4
test eax, eax
je 0x41b4f9
mov edi, edi
inc esi
push esi
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_899]
movsx edx, al
push edx
call ebx
add esp, 4
test eax, eax
jne 0x41b4e0
push esi
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_899]
cmp al, 0xd
je 0x41b543
jmp 0x41b510
push esi
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_899]
cmp al, 0xa
je 0x41b543
push esi
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_899]
mov ecx, ebp
push eax
call dword [sym.imp.mfc90.dll_Ordinal_942]
inc esi
push esi
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_899]
cmp al, 0xd
jne 0x41b510
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov eax, dword [esp + 0x30]
push eax
call sub.mfc90.dll_Ordinal_266
add esp, 4
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call esi
mov ecx, dword [esp + 0x38]
push ecx
call esi
mov edx, dword [esp + 0x3c]
push edx
call esi
mov ecx, ebp
call dword [sym.imp.mfc90.dll_Ordinal_4311]
test al, al
lea ecx, [esp + 0x24]
sete bl
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov al, bl
mov ecx, dword [esp + 0x7c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret