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

Disassembly:
sub esp, 0x58
push ebx
mov ebx, dword [esp + 0x60]
push ebp
push esi
mov esi, dword [esp + 0x70]
xor ebp, ebp
mov edx, dword [ebx + 0x234]
push edi
mov edi, dword [ebx + 0x230]
mov eax, edi
or eax, edx
mov dword [esp + 0x34], ebp
mov byte [esp + 0x12], 0
mov dword [esp + 0x38], 0x64
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edx
jne 0x57790c
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c], getsockname
mov eax, dword [ebx + 0x8c8]
lea ecx, [esi + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x7c]
mov byte [eax], 0
mov eax, dword [esp + 0x80]
mov byte [eax], 0
lea eax, [esi + 0xc2]
mov dword [esp + 0x2c], eax
nop dword [eax]
nop dword [eax + eax]
mov edi, dword [esi + 4]
mov edx, dword [ebx + 0x4b8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], ecx
mov ecx, dword [esi]
mov eax, ecx
and eax, edi
cmp eax, 0xffffffff
je 0x57797a
mov eax, dword [esp + 0x2c]
cmp byte [eax], 0
jne 0x57797a
mov eax, dword [esp + 0x30]
sub ecx, dword [eax]
sbb edi, dword [eax + 4]
test edi, edi
jg 0x57797a
jl 0x577978
cmp ecx, edx
jae 0x57797a
mov edx, ecx
mov edi, dword [esp + 0x70]
test edx, edx
je 0x5779b4
lea eax, [esp + 0x14]
push eax
push edx
push dword [esp + 0x30]
push dword [edi + 0x200]
push ebx
call fcn.00571c20
mov ebp, eax
add esp, 0x14
cmp ebp, 0x51
je 0x577ecf
test ebp, ebp
jg 0x578013
mov ecx, dword [esp + 0x14]
jmp 0x5779ba
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
or eax, dword [edx + 4]
jne 0x5779f3
push 7
lea eax, [esp + 0x4c]
push ebx
push eax
call fcn.00580700
add esp, 0xc
cmp dword [esi + 0x78], 0
jle 0x5779ef
lea eax, [esp + 0x58]
push eax
call fcn.00568560
add esp, 4
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x68], xmm0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
or dword [eax], 1
test ecx, ecx
jne 0x577a0a
cmp dword [esi + 0x90], ecx
jne 0x577a0a
mov al, 1
jmp 0x577a0c
xor al, al
mov byte [esp + 0x6c], al
test ecx, ecx
jg 0x577a1c
test al, al
je 0x577ed6
mov eax, dword [esp + 0x28]
mov byte [ecx + eax], 0
mov dword [esi + 0x50], eax
mov eax, dword [edi + 0x1e8]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x577a59
lea ecx, [esp + 0x12]
push ecx
lea ecx, [esp + 0x18]
push ecx
push edi
push ebx
call eax
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x578013
cmp byte [esp + 0x12], al
jne 0x577fc6
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
cmp byte [eax], 0
je 0x577ad9
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
lea eax, [esp + 0x18]
push eax
push edi
push ebx
call fcn.0057d890
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x578013
mov eax, dword [edi + 0x1e8]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x577ace
cmp dword [esi + 0xc], ebp
jg 0x577ace
jl 0x577aa2
cmp dword [esi + 8], ebp
ja 0x577ace
cmp dword [esp + 0x14], 0
jle 0x577ace
lea ecx, [esp + 0x12]
push ecx
lea ecx, [esp + 0x18]
push ecx
push edi
push ebx
call eax
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x578013
cmp byte [esp + 0x12], al
jne 0x577fc6
cmp byte [esp + 0x13], 0
jne 0x577edf
cmp byte [esi + 0xc2], 0
mov cl, byte [esp + 0x6c]
jne 0x577e39
cmp dword [esp + 0x14], 0
jg 0x577af9
test cl, cl
je 0x577e39
cmp byte [ebx + 0x154], 0
jne 0x577f4a
cmp dword [esi + 0x90], 0
jne 0x577b47
test cl, cl
jne 0x577b47
mov eax, dword [edi + 0x1e8]
test dword [eax + 0x44], 0x40003
je 0x577b47
push dword [esp + 0x7c]
push edi
push ebx
call fcn.0057c790
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x578013
mov eax, dword [esp + 0x7c]
cmp byte [eax], 0
jne 0x578013
inc dword [esi + 0x90]
cmp byte [ebx + 0x6db], 0
je 0x577b99
cmp dword [esi + 0x48], 0
je 0x577b87
lea edi, [ebx + 0x8b8]
push edi
call fcn.005612a0
add esp, 4
push eax
push edi
call fcn.005612b0
add esp, 4
push eax
push 3
push ebx
call fcn.00571a10
add esp, 0x10
cmp dword [esi + 0x48], 1
jne 0x577b99
push dword [esp + 0x14]
push dword [esi + 0x50]
push 3
push ebx
call fcn.00571a10
add esp, 0x10
cmp byte [esi + 0xc7], 0
lea edi, [esi + 0xc7]
mov dword [esp + 0x18], edi
je 0x577c09
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1c]
push dword [esi + 0x50]
push ebx
call fcn.005a0c90
add esp, 0x14
test eax, eax
jg 0x577f05
mov dword [esp + 0x18], edi
cmp eax, 0xffffffff
jne 0x577c09
mov eax, dword [esp + 0x70]
and dword [esi + 0x64], 0xfffffffe
mov dword [esp + 0x18], edi
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
mov eax, edx
or eax, ecx
je 0x577c09
push ecx
push edx
push str.Leftovers_after_chunking:___I64du_bytes
push ebx
call fcn.00571b80
lea edi, [esi + 0xc7]
add esp, 0x10
mov dword [esp + 0x18], edi
cmp dword [esi + 0x48], 1
lea eax, [esi + 0x48]
mov dword [esp + 0x24], eax
mov edx, eax
jne 0x577c3e
cmp byte [esi + 0xc5], 0
jne 0x577c3e
lea eax, [ebx + 0x8b8]
push eax
call fcn.005612a0
add esp, 4
lea edx, [esi + 0x48]
xor ecx, ecx
add dword [esi + 0x10], eax
adc ecx, dword [esi + 0x14]
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 8]
cmp ecx, 0xffffffff
jne 0x577c4f
cmp dword [esi + 0xc], ecx
je 0x577ce1
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], edx
cdq
mov dword [esp + 0x18], edi
mov edi, eax
mov eax, dword [esi + 0x10]
add edi, eax
mov dword [esp + 0x3c], edi
adc edx, dword [esi + 0x14]
mov edi, dword [esi + 0xc]
cmp edx, edi
jl 0x577ce1
jg 0x577c79
cmp dword [esp + 0x3c], ecx
jb 0x577ce1
mov edx, eax
sub edx, ecx
add edx, dword [esp + 0x14]
mov dword [esp + 0x34], edx
je 0x577cb8
cmp byte [esi + 0xc5], 0
jne 0x577cb8
push dword [esi + 0x14]
push eax
push edi
push ecx
push dword [esi + 4]
push dword [esi]
push edx
push str.Excess_found_in_a_read:_excess___zu__size___I64d__maxdownload___I64d__bytecount___I64d
push ebx
call fcn.00571b80
push 1
push dword [esp + 0x98]
call fcn.00572850
add esp, 0x2c
mov eax, dword [esi + 8]
sub eax, dword [esi + 0x10]
mov dword [esp + 0x14], eax
jns 0x577ccc
mov dword [esp + 0x14], 0
and dword [esi + 0x64], 0xfffffffe
lea eax, [esi + 0xc7]
mov dword [esp + 0x18], eax
lea eax, [esi + 0x48]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x14]
cdq
mov edi, eax
add edi, dword [esi + 0x10]
mov dword [esi + 0x10], edi
adc ecx, edx
sub dword [esp + 0x20], eax
push ecx
sbb dword [esp + 0x20], edx
push edi
push ebx
mov dword [esi + 0x14], ecx
call fcn.00580460
mov ecx, dword [esp + 0x24]
add esp, 0xc
cmp byte [ecx], 0
jne 0x577e31
cmp dword [esp + 0x14], 0
mov eax, dword [esp + 0x24]
jne 0x577d32
cmp dword [eax], 0
jne 0x577d37
mov cl, byte [esp + 0x6c]
test cl, cl
je 0x577e2b
cmp dword [eax], 0
je 0x577d92
cmp byte [esi + 0xc5], 0
jne 0x577d92
lea eax, [ebx + 0x8b8]
push eax
call fcn.005612a0
mov edi, dword [esi + 8]
add esp, 4
mov edx, dword [esi + 0xc]
mov ecx, edi
and ecx, edx
cmp ecx, 0xffffffff
je 0x577d6a
xor ecx, ecx
cmp ecx, edx
jl 0x577d6a
jg 0x577d6c
cmp eax, edi
ja 0x577d6c
mov edi, eax
mov ecx, 0x8b8
mov eax, ebx
add eax, ecx
push eax
call fcn.005612b0
push edi
push eax
push 1
push ebx
call fcn.00571c10
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x578013
cmp dword [esi + 0x48], 2
jge 0x577dcc
cmp byte [ebx + 0x6e3], 0
jne 0x577de1
mov eax, dword [esi + 0x80]
test eax, eax
je 0x577de1
cmp byte [esi + 0xc5], 0
jne 0x577dcc
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x577dcc
push ecx
push dword [esi + 0x50]
push eax
push ebx
call fcn.00575e50
add esp, 0x10
mov ebp, eax
mov edi, dword [esp + 0x70]
mov dword [esi + 0x48], 0
test ebp, ebp
jne 0x578013
jmp 0x577e35
cmp byte [esi + 0xc5], 0
jne 0x577dcc
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x70]
test ecx, ecx
je 0x577dd0
mov eax, dword [edi + 0x1e8]
mov edx, dword [esi + 0x50]
test dword [eax + 0x44], 0xc000
je 0x577e17
push ecx
push edx
push ebx
call fcn.0058d4e0
add esp, 0xc
mov ebp, eax
jmp 0x577dd0
push dword [esp + 0x14]
push edx
push 1
push ebx
call fcn.00571c10
add esp, 0x10
mov ebp, eax
jmp 0x577dd0
mov edi, dword [esp + 0x70]
jmp 0x577e39
mov edi, dword [esp + 0x70]
mov cl, byte [esp + 0x6c]
mov eax, dword [edi + 0x1e8]
cmp dword [eax + 0x34], 0
je 0x577e51
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x577f6e
test cl, cl
je 0x577e59
and dword [esi + 0x64], 0xfffffffe
mov eax, dword [esi + 0x64]
test al, 0x10
jne 0x577fc6
test al, 1
je 0x577fc6
cmp dword [esp + 0x1c], 0
jl 0x577fc6
jg 0x577e84
cmp dword [esp + 0x20], 0
jbe 0x577fc6
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + 0x1e8]
mov eax, dword [eax + 0x44]
test al, 0xc
je 0x577e98
push 1
jmp 0x577e9e
test al, 0x30
jne 0x577eaf
push 0
push ebx
call fcn.00571380
add esp, 8
test al, al
je 0x577fc6
mov ecx, dword [esp + 0x38]
mov eax, ecx
dec ecx
mov dword [esp + 0x38], ecx
test eax, eax
je 0x577fc6
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
jmp 0x577940
xor ebp, ebp
jmp 0x577fc6
and dword [esi + 0x64], 0xfffffffe
jmp 0x577fc6
mov ecx, dword [esp + 0x14]
test ecx, ecx
jle 0x577fc6
push dword [ebx + 0xcb4]
push ecx
push str.Excess_found:_excess___zd_url___s__zero_length_body_
push ebx
call fcn.00571b80
add esp, 0x10
jmp 0x577fc6
cmp eax, 6
jne 0x577f26
push str.Failed_reading_the_chunked_encoded_stream
push ebx
call fcn.00571ab0
mov ebp, dword [esp + 0x4c]
add esp, 8
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
push eax
call fcn.005a0c00
push eax
push str._s_in_chunked_encoding
push ebx
call fcn.00571ab0
add esp, 0x10
mov ebp, 0x38
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
push 2
push edi
call fcn.00572850
mov eax, dword [esp + 0x84]
add esp, 8
mov ebp, 8
pop edi
pop esi
mov byte [eax], 1
mov eax, ebp
pop ebp
pop ebx
add esp, 0x58
ret
mov edx, dword [esi + 0x50]
add edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
add eax, edx
mov dword [esi + 0x50], edx
mov ebp, dword [ebx + 0x4b8]
add ecx, ebp
cmp eax, ecx
jbe 0x577f94
mov eax, ebp
sub eax, edx
add eax, dword [esp + 0x28]
jmp 0x577f98
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x12]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x1e8]
push ecx
lea ecx, [esp + 0x18]
push ecx
mov eax, dword [eax + 0x34]
push edi
push ebx
call eax
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x578013
cmp byte [esp + 0x12], al
je 0x577fc6
or dword [esi + 0x64], 1
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x577fde
cmp dword [esp + 0x1c], 0
jg 0x577fef
jl 0x577fde
cmp dword [esp + 0x20], 0
ja 0x577fef
mov eax, dword [esp + 0x80]
mov byte [ebx + 0xd5f], 1
mov byte [eax], 1
mov eax, dword [esi + 0x64]
and al, 3
cmp al, 2
jne 0x578013
cmp byte [edi + 0x1ce], 0
je 0x578013
push str.we_are_done_reading_and_this_is_set_to_close__stop_send
push ebx
call fcn.00571b80
add esp, 8
and dword [esi + 0x64], 0xfffffffd
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x58
ret