Function at 0x411370
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x54
push ebx
push ebp
push esi
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xc], 0
mov ebp, dword [esi + 0x16c]
mov ebx, dword [esi]
push edi
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + 0x48]
lea edi, [ebx + 0x2f0]
test eax, eax
jne 0x411443
cmp ecx, 0xe5
jne 0x411443
push 0x28
push edi
call fcn.00420500
mov edi, eax
add esp, 8
test edi, edi
je 0x411428
lea eax, [esp + 0x6f]
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x72]
push ecx
lea eax, [esp + 0x75]
push edx
lea ecx, [esp + 0x78]
push eax
inc edi
push ecx
push str._c_c_c_u_c
push edi
call fcn.004208fd
add esp, 0x1c
cmp eax, 5
jne 0x411428
mov cl, byte [esp + 0x6c]
mov eax, 1
cmp byte [esp + eax + 0x6c], cl
jne 0x411428
inc eax
cmp eax, 4
jl 0x4113f7
test edi, edi
je 0x411428
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x18]
push edx
push 0x440f18
lea eax, [esp + 0x3c]
push 0x30
push eax
call sym.SportLauncher.exe_curl_msnprintf
add esp, 0x10
jmp 0x411532
push str.Weirdly_formatted_EPSV_reply
push ebx
call fcn.0040dc60
add esp, 8
mov eax, 0xd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
cmp eax, 1
jne 0x41167e
cmp ecx, 0xe3
jne 0x41167e
cmp byte [edi], 0
je 0x41149b
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x34]
push edx
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x34]
push ecx
lea eax, [esp + 0x34]
push edx
push eax
push str._d__d__d__d__d__d
push edi
call fcn.004208fd
add esp, 0x20
cmp eax, 6
je 0x411496
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41145d
cmp byte [edi], 0
jne 0x4114b6
push str.Couldnt_interpret_the_227_response
push ebx
call fcn.0040dc60
add esp, 8
mov eax, 0xe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
mov al, byte [ebx + 0x1b4]
test al, al
je 0x4114fd
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
push edx
push str.Skips__d._d._d._d_for_data_connection__uses__s_instead_n
push ebx
call fcn.0040dbf0
mov eax, dword [esi + 0x14]
lea ecx, [esp + 0x50]
push eax
push 0x440f18
push 0x30
push ecx
call sym.SportLauncher.exe_curl_msnprintf
add esp, 0x2c
jmp 0x411525
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
push edx
push str._d._d._d._d
lea eax, [esp + 0x48]
push 0x30
push eax
call sym.SportLauncher.exe_curl_msnprintf
add esp, 0x1c
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
shl ebp, 8
add ebp, eax
mov eax, dword [ebx + 0x1c0]
test eax, eax
je 0x411570
cmp byte [eax], 0
je 0x411570
mov edx, dword [esi + 0x54]
mov eax, dword [esi + 0x44]
lea ecx, [esp + 0x10]
push ecx
push edx
push eax
push esi
call fcn.00403260
add esp, 0x10
cmp eax, 1
jne 0x41156a
lea ecx, [esp + 0x10]
push ecx
push esi
call fcn.0040cad0
add esp, 8
mov bx, word [esi + 0x54]
jmp 0x4115ca
mov edi, ebp
lea edx, [esp + 0x10]
and edi, 0xffff
push edx
lea eax, [esp + 0x38]
push edi
push eax
push esi
call fcn.00403260
add esp, 0x10
cmp eax, 1
jne 0x41159f
lea ecx, [esp + 0x10]
push ecx
push esi
call fcn.0040cad0
add esp, 8
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4115c8
lea edx, [esp + 0x34]
push edi
push edx
push str.Cant_resolve_new_host__s:_d
push ebx
call fcn.0040dc60
add esp, 0x10
mov eax, 0xf
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
mov ebx, ebp
lea eax, [esp + 0x68]
lea ecx, [esp + 0x20]
push eax
mov eax, dword [esp + 0x14]
lea edx, [esi + 0xa4]
push ecx
push edx
push eax
push esi
call fcn.0041a0d0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
push ecx
push edx
mov edi, eax
call fcn.00403420
add esp, 0x1c
test edi, edi
je 0x411608
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
mov al, byte [esp + 0x68]
mov ecx, dword [esp + 0x14]
mov byte [esi + 0xf2], al
mov al, byte [ecx + 0x1a0]
test al, al
je 0x41163a
mov eax, dword [esp + 0x20]
and ebx, 0xffff
lea edx, [esp + 0x34]
push ebx
push edx
push eax
push esi
call fcn.00412a60
add esp, 0x10
mov al, byte [esi + 0xf6]
test al, al
je 0x411669
and ebp, 0xffff
lea ecx, [esp + 0x34]
push ebp
push ecx
push 1
push esi
call fcn.00417460
mov edi, eax
add esp, 0x10
test edi, edi
je 0x411669
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
push 0
push esi
call fcn.004109e0
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
test eax, eax
jne 0x4116b8
push str.disabling_EPSV_usage_n
push ebx
mov byte [esi + 0xf9], al
call fcn.0040dbf0
push 0
push str.PASV
push esi
call fcn.00412d10
add esp, 0x14
test eax, eax
jne 0x4116cc
mov eax, dword [ebp + 0x48]
pop edi
inc eax
pop esi
mov dword [ebp + 0x48], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret
push ecx
push str.Bad_PASV_EPSV_response:__03d
push ebx
call fcn.0040dc60
add esp, 0xc
mov eax, 0xd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret