Function at 0x6a7ca630
Capabilities:
Check http status code

Disassembly:
push ebp
push edi
mov edi, ecx
push esi
mov esi, edx
push ebx
sub esp, 0x85c
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x87c]
mov ebp, dword [sym.imp.ucrtbase.dll_wcslen]
mov dword [ecx], 0
mov dword [esp], eax
call ebp
mov dword [esp + 0x30], esi
lea ebx, [eax + eax + 0x143]
lea eax, [esi + edi*8]
mov dword [esp + 0x2c], eax
lea esi, [esi]
mov eax, dword [esi]
add esi, 8
mov dword [esp], eax
call ebp
mov edi, eax
mov eax, dword [esi - 4]
mov dword [esp], eax
call ebp
lea eax, [eax + edi*2 + 0xd]
add ebx, eax
cmp dword [esp + 0x2c], esi
jne 0x6a7ca670
mov dword [esp], ebx
mov eax, dword [sym.imp.ucrtbase.dll_malloc]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
call eax
mov dword [esp + 0x30], eax
test eax, eax
je 0x6a7caab4
xor eax, eax
xor edx, edx
mov dword [esp + 0x18], eax
mov eax, str.POST
xor ecx, ecx
mov dword [esp + 4], eax
mov eax, dword [0x6a7df26c]
xor edi, edi
mov dword [esp + 0x14], edx
mov ebp, 0x6a7df370
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebp
mov dword [esp], eax
call dword [0x6a7e32f4]
sub esp, 0x1c
test eax, eax
mov dword [esp + 0x34], eax
je 0x6a7ca870
mov dword [esp + 4], ebx
mov eax, dword [0x6a7df570]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov eax, str.__xml_version_1.0____r_n_SOAP_ENV:Envelope_xmlns:SOAP_ENV_http:__schemas.xmlsoap.org_soap_envelope___SOAP_ENV:encodingStyle_http:__schemas.xmlsoap.org_soap_encoding____r_n___SOAP_ENV:Body__r_n_____m:_S_xmlns:m_urn:schemas_upnp_org:service:WANIPConnection:_u___r_n
mov dword [esp + 8], eax
call sym._snprintf
mov ecx, edi
mov edx, dword [ecx]
add ecx, 4
lea eax, [edx - 0x1010101]
not edx
and eax, edx
and eax, 0x80808080
je 0x6a7ca721
mov edx, eax
mov edi, dword [sym.imp.ucrtbase.dll_strlen]
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea edx, [ecx + 2]
cmove ecx, edx
mov dl, al
add dl, al
mov eax, dword [esp + 0x30]
sbb ecx, 3
sub ecx, eax
lea ebp, [eax + ecx]
sub ebx, ecx
lea esi, [esi]
lea esi, [esi]
mov eax, dword [esi]
add esi, 8
mov dword [esp + 0x14], eax
mov ecx, dword [esi - 4]
mov dword [esp + 0xc], eax
mov eax, str.________S__S___S__r_n
mov dword [esp + 4], ebx
mov dword [esp], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
call sym._snprintf
mov dword [esp], ebp
call edi
add ebp, eax
sub ebx, eax
cmp dword [esp + 0x2c], esi
jne 0x6a7ca770
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x38]
mov dword [esp], ebp
mov dword [esp + 0xc], eax
mov eax, str.______m:_S__r_n____SOAP_ENV:Body__r_n__SOAP_ENV:Envelope__r_n
mov dword [esp + 8], eax
call sym._snprintf
mov ebx, dword [esp + 0x30]
mov edx, dword [ebx]
add ebx, 4
lea eax, [edx - 0x1010101]
not edx
and eax, edx
and eax, 0x80808080
je 0x6a7ca7c9
mov edx, eax
mov esi, 0x400
mov edi, dword [esp + 0x30]
mov dword [esp + 4], esi
shr edx, 0x10
test eax, 0x8080
lea esi, [esp + 0x50]
cmove eax, edx
mov dword [esp], esi
lea edx, [ebx + 2]
mov cl, al
cmove ebx, edx
add cl, al
mov eax, dword [esp + 0x38]
mov ecx, str.SOAPAction:__urn:schemas_upnp_org:service:WANIPConnection:_u_s__r_nContent_Type:_text_xml
sbb ebx, 3
mov dword [esp + 8], ecx
sub ebx, edi
xor ebp, ebp
mov dword [esp + 0x10], eax
mov eax, dword [0x6a7df570]
mov dword [esp + 0xc], eax
call sym._swprintf
mov eax, 0xffffffff
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [0x6a7e3304]
sub esp, 0x1c
test eax, eax
mov ebx, eax
jne 0x6a7ca8a8
test byte [0x6a7d6090], 4
jne 0x6a7ca980
xor ebx, ebx
xor esi, esi
mov dword [esp], esi
mov esi, dword [sym.imp.ucrtbase.dll_free]
call esi
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call esi
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dword [0x6a7e32e4]
sub esp, 4
add esp, 0x85c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dword [0x6a7e3300]
sub esp, 8
test eax, eax
mov ebx, eax
jne 0x6a7ca910
test byte [0x6a7d6090], 4
je 0x6a7ca870
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x10], eax
mov eax, str.Error_receiving_response__lu._n
mov dword [esp + 0xc], eax
mov dword [esp], 2
mov eax, str.request_service
xor esi, esi
mov dword [esp + 8], eax
mov eax, 0x6a7d6090
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7ca874
lea eax, [esp + 0x44]
xor edi, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x878]
xor ebp, ebp
mov dword [esp + 0x14], edi
mov esi, 4
mov dword [esp + 8], ebp
mov dword [esp + 0x44], esi
mov dword [esp + 0xc], eax
mov eax, 0x20000013
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dword [0x6a7e32f8]
sub esp, 0x18
test eax, eax
mov eax, dword [esp + 0x878]
mov eax, dword [eax]
je 0x6a7ca965
cmp eax, 0xc8
je 0x6a7ca9a0
cmp eax, 0x1f4
je 0x6a7ca9a0
mov ebx, 1
xor esi, esi
jmp 0x6a7ca874
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov edx, str.Error_sending_request__lu._n
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
jmp 0x6a7ca8e3
mov dword [esp], 0x400
mov eax, dword [esp + 0x3c]
call eax
test eax, eax
je 0x6a7ca870
mov ecx, 0x400
mov ebx, 0x3ff
mov dword [esp + 0x2c], ecx
xor edi, edi
mov ebp, eax
mov dword [esp + 0x38], ebx
lea esi, [esi]
nop
lea eax, [esp + 0x44]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
lea esi, [ebp + edi]
mov dword [esp + 4], esi
sub eax, edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dword [0x6a7e32fc]
sub esp, 0x10
test eax, eax
mov ebx, eax
je 0x6a7caa40
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6a7caa40
add edi, eax
lea eax, [edi + 1]
cmp eax, dword [esp + 0x2c]
jne 0x6a7ca9d0
shl dword [esp + 0x2c], 1
mov dword [esp], ebp
mov esi, dword [esp + 0x2c]
mov dword [esp + 4], esi
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x6a7caaad
mov ebp, eax
lea eax, [esi - 1]
mov dword [esp + 0x38], eax
jmp 0x6a7ca9d0
mov eax, dword [esp + 0x878]
mov edx, esi
mov esi, ebp
mov byte [edx], 0
cmp dword [eax], 0xc8
je 0x6a7caa91
xor edx, edx
mov eax, str.errorCode
mov dword [esp + 0x48], eax
mov ecx, 1
mov eax, ebp
mov dword [esp + 0x4c], edx
lea edx, [esp + 0x48]
call sym._get_xml_elements
test eax, eax
mov ebx, eax
je 0x6a7ca874
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x87c]
mov dword [ecx], eax
jmp 0x6a7ca874
mov ecx, dword [esp + 0x874]
mov eax, ebp
mov edx, dword [esp + 0x870]
call sym._get_xml_elements
mov ebx, eax
jmp 0x6a7ca874
mov esi, ebp
jmp 0x6a7ca874
xor ebx, ebx
jmp 0x6a7ca898