Function at 0x6a7d0330
Capabilities:
Check http status code

Disassembly:
push ebp
mov ecx, 0x3e8
push edi
push esi
mov esi, 2
push ebx
mov ebx, 0x11
sub esp, 0xcbc
mov dword [esp], 0x202
lea eax, [esp + 0x120]
mov dword [esp + 4], eax
mov dword [esp + 0x40], ecx
call dword [0x6a7e3330]
mov dword [0x6a7df064], eax
sub esp, 8
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], 2
call dword [0x6a7e3328]
sub esp, 0xc
cmp eax, 0xffffffff
je 0x6a7d04f0
mov ebx, eax
mov eax, 4
mov dword [esp + 0x10], eax
lea eax, [esp + 0x40]
mov dword [esp + 0xc], eax
mov eax, 0x1006
mov dword [esp + 8], eax
mov eax, 0xffff
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [0x6a7e3324]
sub esp, 0x14
inc eax
je 0x6a7d04c0
mov dword [esp], str.239.255.255.250
mov eax, 0x6c070002
mov dword [esp + 0x54], eax
call dword [0x6a7e3318]
mov edx, 0x61
mov ecx, str.M_SEARCH__HTTP_1.1_r_nHOST:239.255.255.250:1900_r_nST:upnp:rootdevice_r_nMX:2_r_nMAN:_ssdp:discover__r_n_r_n
sub esp, 4
mov dword [esp + 0x58], eax
lea esi, [esp + 0x54]
mov eax, 0x10
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], ebx
call dword [0x6a7e3320]
sub esp, 0x18
inc eax
je 0x6a7d0870
test byte [0x6a7d6090], 1
jne 0x6a7d0840
lea ebp, [esp + 0x44]
mov eax, 2
mov dword [esp + 0x28], eax
lea edi, [esp + 0x4b0]
mov dword [esp + 0x14], ebp
mov eax, 0x10
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0xc], eax
mov eax, 0x7ff
mov dword [esp + 0x10], esi
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], ebx
call dword [0x6a7e331c]
sub esp, 0x18
cmp eax, 0xffffffff
jne 0x6a7d0550
call dword [0x6a7e332c]
cmp eax, 0x274c
jne 0x6a7d0cc8
cmp dword [esp + 0x28], 1
jne 0x6a7d0540
mov dword [esp], ebx
call dword [0x6a7e3314]
sub esp, 4
test byte [0x6a7d6090], 8
jne 0x6a7d08b8
nop
xor ebp, ebp
add esp, 0xcbc
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [0x6a7d6090], 2
jne 0x6a7d0800
mov dword [esp], ebx
xor ebp, ebp
call dword [0x6a7e3314]
sub esp, 4
add esp, 0xcbc
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [0x6a7d6090], 2
je 0x6a7d04b0
call dword [0x6a7e332c]
mov edx, 0x6a7d6090
xor ebp, ebp
mov dword [esp + 4], edx
mov dword [esp], 1
mov dword [esp + 0x10], eax
mov eax, str.Failed_to_create_socket__error__u._n
mov dword [esp + 0xc], eax
mov eax, str.init_gateway_connection
mov dword [esp + 8], eax
call sym._wine_dbg_log.constprop.0_4
add esp, 0xcbc
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 1
mov dword [esp + 0x28], eax
jmp 0x6a7d0440
mov dword [esp], ebx
mov dword [esp + 0x28], eax
call dword [0x6a7e3314]
sub esp, 4
test byte [0x6a7d6090], 8
mov edx, dword [esp + 0x28]
jne 0x6a7d0740
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x2b0], ebx
lea ebx, [esp + 0x2b0]
mov esi, 0x6a7da742
mov byte [esp + edx + 0x4b0], cl
mov dword [esp + 4], esi
mov esi, dword [sym.imp.ucrtbase.dll_strtok_s]
mov dword [esp + 8], ebx
mov dword [esp], edi
call esi
test eax, eax
je 0x6a7d07c0
mov dword [esp], eax
mov edx, 0x6a7da744
mov edi, dword [sym.imp.ucrtbase.dll_strtok]
mov dword [esp + 4], edx
call edi
test eax, eax
je 0x6a7d07c0
mov dword [esp], 0
mov ebp, 0x6a7da744
mov dword [esp + 4], ebp
call edi
test eax, eax
je 0x6a7d07c0
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_atoi]
mov ebp, dword [sym.imp.ucrtbase.dll__stricmp]
cmp eax, 0xc8
jne 0x6a7d0780
lea esi, [esi]
mov dword [esp + 8], ebx
mov ecx, 0x6a7da742
mov dword [esp + 4], ecx
mov dword [esp], 0
call esi
test eax, eax
je 0x6a7d07c0
mov dword [esp], eax
mov ecx, 0x6a7da744
mov dword [esp + 4], ecx
call edi
test eax, eax
je 0x6a7d0600
mov dword [esp], eax
mov edx, str.LOCATION:
mov dword [esp + 4], edx
call ebp
test eax, eax
jne 0x6a7d0600
mov dword [esp], 0
mov eax, 0x6a7da75c
mov dword [esp + 4], eax
call edi
test eax, eax
je 0x6a7d0f75
mov dword [esp + 8], eax
mov esi, 0x100
xor eax, eax
mov dword [esp + 0x14], esi
mov edi, 0x6a7df068
mov ebp, 0xffffffff
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 4], eax
mov dword [esp], 0xfde9
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
sub esp, 0x18
test eax, eax
je 0x6a7d07c0
test byte [0x6a7d6090], 8
jne 0x6a7d0a60
xor edx, edx
xor eax, eax
mov dword [esp + eax + 0x68], edx
mov dword [esp + eax + 0x6c], edx
add eax, 8
cmp eax, 0x38
jb 0x6a7d06aa
mov eax, 0x3c
xor ebp, ebp
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
mov edx, 0x40
mov dword [esp + 0xc], eax
xor eax, eax
mov ecx, 0x6a7df270
mov dword [esp + 8], ebp
lea edi, [esp + 0xa0]
mov esi, pe_nt_image_headers32
mov dword [esp + 4], eax
mov dword [esp], 0x6a7df068
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], esi
call dword [0x6a7e32ec]
sub esp, 0x10
test eax, eax
jne 0x6a7d08f0
test byte [0x6a7d6090], 4
je 0x6a7d04b0
mov eax, str.Error_opening_gateway_connection._n
mov dword [esp + 0xc], eax
jmp 0x6a7d07d6
mov dword [esp + 0x10], edx
mov eax, str.init_gateway_connection
mov ebp, str.Received_reply_from_gateway__len__d._n
mov dword [esp + 8], eax
mov eax, 0x6a7d6090
mov dword [esp + 0xc], ebp
mov dword [esp + 4], eax
mov dword [esp], 3
mov dword [esp + 0x28], edx
call sym._wine_dbg_log.constprop.0_4
mov edx, dword [esp + 0x28]
jmp 0x6a7d0571
test byte [0x6a7d6090], 4
je 0x6a7d04b0
mov ebx, str.status__u._n
mov esi, str.parse_search_response
mov dword [esp + 0x10], eax
mov edi, 0x6a7d6090
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
lea esi, [esi]
nop
test byte [0x6a7d6090], 4
je 0x6a7d04b0
mov edx, str.Error_parsing_response._n
mov dword [esp + 0xc], edx
mov dword [esp], 2
mov eax, str.init_gateway_connection
xor ebp, ebp
mov dword [esp + 8], eax
mov eax, 0x6a7d6090
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d04b2
call dword [0x6a7e332c]
mov esi, str.setsockopt_SO_RCVTIME0__failed__error__u._n
mov edi, str.init_gateway_connection
mov dword [esp + 0xc], esi
mov ebp, 0x6a7d6090
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
mov dword [esp], 1
mov dword [esp + 0x10], eax
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d04cd
mov edx, str.Waiting_for_reply_from_router._n
mov ecx, str.init_gateway_connection
mov dword [esp + 0xc], edx
mov edi, 0x6a7d6090
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d042c
test byte [0x6a7d6090], 2
je 0x6a7d04cd
call dword [0x6a7e332c]
mov ebp, str.sendto_failed__error__u_n
mov dword [esp + 0xc], ebp
mov dword [esp], 1
mov dword [esp + 0x10], eax
mov eax, str.init_gateway_connection
mov dword [esp + 8], eax
mov eax, 0x6a7d6090
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d04cd
mov dword [esp], 3
mov eax, str.No_reply_from_router._n
xor ebp, ebp
mov dword [esp + 0xc], eax
mov eax, str.init_gateway_connection
mov dword [esp + 8], eax
mov eax, 0x6a7d6090
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d04db
mov dword [esp], str.hnetcfg
xor eax, eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call dword [0x6a7e32f0]
mov dword [0x6a7df268], eax
sub esp, 0x14
test eax, eax
je 0x6a7d071b
mov edx, 0xbb8
mov ecx, 0xbb8
mov dword [esp + 0x10], edx
mov esi, 0xbb8
mov ebp, 0xbb8
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov dword [esp], eax
call dword [0x6a7e3308]
sub esp, 0x14
test eax, eax
je 0x6a7d071b
test byte [0x6a7d6090], 8
movzx ebp, word [esp + 0x7c]
jne 0x6a7d0e60
mov dword [esp + 8], ebp
mov eax, dword [0x6a7df268]
xor esi, esi
mov dword [esp + 0xc], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [0x6a7e32e8]
mov dword [0x6a7df26c], eax
sub esp, 0x10
test eax, eax
je 0x6a7d1035
test byte [0x6a7d6090], 8
jne 0x6a7d0bb0
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x4c], edx
mov esi, 0x6a7d6088
xor edx, edx
mov dword [esp + 0x18], ecx
xor ebp, ebp
mov ecx, 0x6a7df270
mov dword [esp + 0x14], esi
xor esi, esi
mov dword [esp + 4], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [0x6a7e32f4]
sub esp, 0x1c
test eax, eax
mov esi, eax
je 0x6a7d0a3e
mov dword [esp], esi
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0x18], ebp
mov dword [esp + 4], eax
call dword [0x6a7e3304]
sub esp, 0x1c
test eax, eax
jne 0x6a7d0b50
test byte [0x6a7d6090], 4
jne 0x6a7d0de0
mov dword [esp], esi
call dword [0x6a7e32e4]
sub esp, 4
test byte [0x6a7d6090], 4
jne 0x6a7d0e30
call sym._gateway_connection_cleanup
xor ebp, ebp
jmp 0x6a7d04b2
mov eax, 0x6a7df068
mov ecx, eax
shr ecx, 0x10
je 0x6a7d0d10
mov dword [esp], 0x6a7df068
mov eax, 0xffffffff
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x6a7d0e20
cmp word [0x6a7df068], 0
je 0x6a7d0f50
nop
mov edx, eax
cmp word [edx + edx + 0x6a7df06a], 0
lea eax, [eax + 1]
jne 0x6a7d0aa0
mov ecx, 0x224c
mov esi, 0x6a7df068
mov word [esp + 0x2b0], cx
lea edi, [esp + 0x3d2]
mov dword [esp + 0x28], edx
lea ecx, [esp + 0x2b2]
jmp 0x6a7d0b1b
cmp eax, 9
je 0x6a7d0be8
cmp eax, 0xa
jne 0x6a7d0c12
mov word [ecx], 0x6e5c
add ecx, 2
lea esi, [esi]
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
test edx, edx
jle 0x6a7d0c70
cmp ecx, edi
ja 0x6a7d0c70
mov dword [esp + 0x28], eax
movzx eax, word [esi]
add esi, 2
cmp eax, 0xd
je 0x6a7d0bf8
jbe 0x6a7d0ae0
cmp eax, 0x22
je 0x6a7d0c60
cmp eax, 0x5c
jne 0x6a7d0c05
mov word [ecx], 0x5c5c
add ecx, 2
jmp 0x6a7d0b00
mov dword [esp], esi
xor eax, eax
mov dword [esp + 4], eax
call dword [0x6a7e3300]
sub esp, 8
test eax, eax
jne 0x6a7d0d30
test byte [0x6a7d6090], 4
je 0x6a7d0a32
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], 2
mov dword [esp + 0x10], eax
mov eax, str.Error_receiving_response__lu._n
mov dword [esp + 0xc], eax
mov eax, str.get_control_url
mov dword [esp + 8], eax
mov eax, 0x6a7d6090
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d0a32
mov dword [esp], 3
mov eax, str.init_gateway_connection
mov ebp, str.Opened_gateway_connection._n
mov dword [esp + 8], eax
mov eax, 0x6a7d6090
mov dword [esp + 0xc], ebp
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_4
mov eax, dword [0x6a7df26c]
jmp 0x6a7d09ab
mov word [ecx], 0x745c
add ecx, 2
jmp 0x6a7d0b00
mov word [ecx], 0x725c
add ecx, 2
jmp 0x6a7d0b00
lea ebp, [eax - 0x20]
cmp bp, 0x5e
jbe 0x6a7d0dd0
mov byte [ecx], 0x5c
mov ebp, eax
add ecx, 5
shr ebp, 0xc
movzx edx, byte [ebp + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov ebp, eax
shr ebp, 8
and ebp, 0xf
mov byte [ecx - 4], dl
movzx edx, byte [ebp + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov ebp, eax
shr ebp, 4
and eax, 0xf
and ebp, 0xf
movzx eax, byte [eax + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov byte [ecx - 3], dl
movzx edx, byte [ebp + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov byte [ecx - 1], al
mov byte [ecx - 2], dl
jmp 0x6a7d0b00
mov word [ecx], 0x225c
add ecx, 2
jmp 0x6a7d0b00
mov byte [ecx], 0x22
test eax, eax
jle 0x6a7d0f6d
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
mov dword [esp], ebx
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov eax, str.Gateway_description_location__s._n
mov dword [esp + 0xc], eax
mov eax, str.init_gateway_connection
mov dword [esp + 8], eax
mov eax, 0x6a7d6090
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d06a6
test byte [0x6a7d6090], 4
je 0x6a7d04cd
call dword [0x6a7e332c]
mov esi, 0x6a7d6090
mov edx, str.recvfrom_error__u._n
mov dword [esp + 0xc], edx
mov ecx, str.init_gateway_connection
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp], 2
mov dword [esp + 0x10], eax
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d04cd
mov dword [esp], 0x6a7da146
movzx eax, ax
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_4
jmp 0x6a7d0c93
lea eax, [esp + 0x48]
xor ecx, ecx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x4c]
xor ebp, ebp
mov dword [esp + 0xc], eax
mov eax, 0x20000013
mov edx, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0x48], edx
call dword [0x6a7e32f8]
sub esp, 0x18
test eax, eax
je 0x6a7d0d7c
cmp dword [esp + 0x4c], 0xc8
je 0x6a7d1296
test byte [0x6a7d6090], 4
je 0x6a7d0a32
mov edx, dword [esp + 0x4c]
mov eax, dword fs:[0x18]
mov dword [esp + 0x14], edx
mov eax, dword [eax + 0x34]
mov dword [esp], 2
mov dword [esp + 0x10], eax
mov eax, str.Error_response_from_server__error__lu__http_status__lu._n
mov dword [esp + 0xc], eax
mov eax, str.get_control_url
mov dword [esp + 8], eax
mov eax, 0x6a7d6090
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d0a32
mov byte [ecx], al
inc ecx
jmp 0x6a7d0b00
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov edx, str.Error_sending_request__lu._n
mov ecx, str.get_control_url
mov dword [esp + 0xc], edx
mov ebx, 0x6a7d6090
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d0a32
mov eax, 0x6a7da13c
jmp 0x6a7d0c93
mov dword [esp], 2
mov eax, str.init_gateway_connection
mov ebp, str.Could_not_get_control_URL._n
mov dword [esp + 8], eax
mov eax, 0x6a7d6090
mov dword [esp + 0xc], ebp
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d0a4b
mov eax, 0x6a7df270
mov ecx, eax
shr ecx, 0x10
je 0x6a7d127a
mov dword [esp], 0x6a7df270
mov eax, 0xffffffff
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x6a7d1632
cmp word [0x6a7df270], 0
je 0x6a7d1703
nop
mov edx, eax
cmp word [edx + edx + 0x6a7df272], 0
lea eax, [eax + 1]
jne 0x6a7d0ea0
mov dword [esp + 0x2c], ebp
lea ecx, [esp + 0x2b2]
mov esi, 0x224c
mov word [esp + 0x2b0], si
mov esi, 0x6a7df270
mov dword [esp + 0x28], edx
jmp 0x6a7d0f22
cmp eax, 9
je 0x6a7d0fc0
cmp eax, 0xa
jne 0x6a7d0fda
mov word [ecx], 0x6e5c
add ecx, 2
lea esi, [esi]
lea esi, [esi]
mov ebp, dword [esp + 0x28]
lea edx, [esp + 0x3d2]
cmp ecx, edx
lea eax, [ebp - 1]
ja 0x6a7d107b
test ebp, ebp
jle 0x6a7d107b
mov dword [esp + 0x28], eax
movzx eax, word [esi]
add esi, 2
cmp eax, 0xd
je 0x6a7d0fae
jbe 0x6a7d0ed8
cmp eax, 0x22
je 0x6a7d1028
cmp eax, 0x5c
nop
jne 0x6a7d0fcd
mov word [ecx], 0x5c5c
add ecx, 2
jmp 0x6a7d0f00
mov eax, 0x224c
mov dl, 0x22
mov word [esp + 0x2b0], ax
lea ecx, [esp + 0x2b2]
mov byte [esp + 0x2b2], dl
lea eax, [ecx + 1]
jmp 0x6a7d0c88
test byte [0x6a7d6090], 4
je 0x6a7d04b0
mov dword [esp], 2
mov eax, str.Error_parsing_location._n
mov dword [esp + 0xc], eax
mov eax, str.parse_search_response
mov dword [esp + 8], eax
mov eax, 0x6a7d6090
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d07c0
mov word [ecx], 0x725c
add ecx, 2
jmp 0x6a7d0f00
mov word [ecx], 0x745c
add ecx, 2
jmp 0x6a7d0f00
lea ebp, [eax - 0x20]
cmp bp, 0x5e
jbe 0x6a7d1620
mov byte [ecx], 0x5c
mov ebp, eax
add ecx, 5
shr ebp, 0xc
movzx edx, byte [ebp + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov ebp, eax
shr ebp, 8
and ebp, 0xf
mov byte [ecx - 4], dl
movzx edx, byte [ebp + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov ebp, eax
shr ebp, 4
and eax, 0xf
and ebp, 0xf
movzx eax, byte [eax + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov byte [ecx - 3], dl
movzx edx, byte [ebp + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov byte [ecx - 1], al
mov byte [ecx - 2], dl
jmp 0x6a7d0f00
mov word [ecx], 0x225c
add ecx, 2
jmp 0x6a7d0f00
test byte [0x6a7d6090], 4
je 0x6a7d04b0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov edx, str.WinHttpConnect_error__lu._n
mov ecx, str.open_gateway_connection
mov dword [esp + 0xc], edx
mov ebx, 0x6a7d6090
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d071b
mov byte [ecx], 0x22
test eax, eax
mov ebp, dword [esp + 0x2c]
jle 0x6a7d171c
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
mov dword [esp], ebx
call sym.___wine_dbg_strdup
mov dword [esp + 0x2c], eax
mov eax, edi
shr eax, 0x10
je 0x6a7d1265
mov dword [esp], edi
mov eax, 0xffffffff
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x6a7d1628
cmp word [esp + 0xa0], 0
je 0x6a7d16e2
lea esi, [esi]
mov edx, eax
cmp word [edi + edx*2 + 2], 0
lea eax, [eax + 1]
jne 0x6a7d10e0
mov eax, 0x224c
mov esi, edi
mov word [esp + 0x2b0], ax
lea ecx, [esp + 0x2b2]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x28], edx
jmp 0x6a7d1152
cmp eax, 9
je 0x6a7d11e0
cmp eax, 0xa
jne 0x6a7d1193
mov word [ecx], 0x6e5c
add ecx, 2
lea esi, [esi]
lea esi, [esi]
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
test edx, edx
jle 0x6a7d11fd
lea edx, [esp + 0x3d2]
cmp ecx, edx
ja 0x6a7d11fd
mov dword [esp + 0x28], eax
movzx eax, word [esi]
add esi, 2
cmp eax, 0xd
je 0x6a7d117c
jbe 0x6a7d1110
cmp eax, 0x22
je 0x6a7d11f0
cmp eax, 0x5c
lea esi, [esi]
nop
jne 0x6a7d1186
mov word [ecx], 0x5c5c
add ecx, 2
jmp 0x6a7d1130
mov word [ecx], 0x725c
add ecx, 2
jmp 0x6a7d1130
lea ebp, [eax - 0x20]
cmp bp, 0x5e
jbe 0x6a7d1618
mov byte [ecx], 0x5c
mov ebp, eax
add ecx, 5
shr ebp, 0xc
movzx edx, byte [ebp + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov ebp, eax
shr ebp, 8
and ebp, 0xf
mov byte [ecx - 4], dl
movzx edx, byte [ebp + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov ebp, eax
shr ebp, 4
and eax, 0xf
and ebp, 0xf
movzx eax, byte [eax + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov byte [ecx - 3], dl
movzx edx, byte [ebp + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov byte [ecx - 1], al
mov byte [ecx - 2], dl
jmp 0x6a7d1130
mov word [ecx], 0x745c
add ecx, 2
jmp 0x6a7d1130
mov word [ecx], 0x225c
add ecx, 2
jmp 0x6a7d1130
mov byte [ecx], 0x22
test eax, eax
mov ebp, dword [esp + 0x30]
jle 0x6a7d16fb
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
mov dword [esp], ebx
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x2c]
mov eax, str.open_gateway_connection
mov dword [esp + 0x18], ebp
mov ebp, str.hostname__s__urlpath__s__port__u._n
mov dword [esp + 8], eax
mov eax, 0x6a7d6090
mov dword [esp + 0xc], ebp
mov dword [esp + 0x14], ecx
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_4
movzx ebp, word [esp + 0x7c]
jmp 0x6a7d0972
mov dword [esp], 0x6a7da146
movzx eax, di
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_4
jmp 0x6a7d1224
mov dword [esp], 0x6a7da146
movzx eax, ax
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_4
mov dword [esp + 0x2c], eax
jmp 0x6a7d10a6
mov dword [esp], 0x400
xor ebp, ebp
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [esp + 0x30], eax
mov eax, 0x400
mov dword [esp + 0x2c], eax
mov eax, 0x3ff
mov dword [esp + 0x34], eax
lea esi, [esi]
nop
mov dword [esp], esi
mov eax, dword [esp + 0x30]
lea edx, [eax + ebp]
mov dword [esp + 4], edx
lea eax, [esp + 0x48]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], edx
sub eax, ebp
mov dword [esp + 8], eax
call dword [0x6a7e32fc]
sub esp, 0x10
test eax, eax
mov edx, dword [esp + 0x28]
je 0x6a7d1370
mov eax, dword [esp + 0x48]
test eax, eax
je 0x6a7d1370
add ebp, eax
lea eax, [ebp + 1]
cmp eax, dword [esp + 0x2c]
jne 0x6a7d12c0
shl dword [esp + 0x2c], 1
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x6a7d1334
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x34], eax
jmp 0x6a7d12c0
mov eax, dword [esp + 0x30]
test byte [0x6a7d6090], 2
lea edx, [eax + ebp]
je 0x6a7d1370
mov dword [esp + 0xc], str.No_memory._n
mov dword [esp + 8], str.get_control_url
mov dword [esp + 4], 0x6a7d6090
mov dword [esp], 1
mov dword [esp + 0x28], edx
call sym._wine_dbg_log.constprop.0_4
mov edx, dword [esp + 0x28]
mov byte [edx], 0
mov dword [esp], esi
call dword [0x6a7e32e4]
sub esp, 4
mov edx, dword [esp + 0x30]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x6a7d1383
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov cl, al
add cl, al
mov eax, dword [esp + 0x30]
sbb edx, 3
mov dword [esp], eax
sub edx, eax
inc edx
mov dword [esp + 4], edx
call dword [0x6a7e3268]
sub esp, 8
test eax, eax
mov dword [esp + 0x2c], eax
je 0x6a7d19d4
mov dword [esp], 0x6a7dc340
lea eax, [esp + 0x64]
xor ebp, ebp
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
call sym._CreateXmlReader_12
sub esp, 0xc
test eax, eax
js 0x6a7d19c7
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 8
test eax, eax
js 0x6a7d19ba
xor esi, esi
xor ebp, ebp
mov dword [esp + 0x34], esi
lea esi, [esp + 0x50]
mov dword [esp + 0x3c], ebp
lea esi, [esi]
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
test eax, eax
js 0x6a7d1724
mov eax, dword [esp + 0x50]
test eax, eax
je 0x6a7d1724
dec eax
jne 0x6a7d1430
mov eax, dword [esp + 0x64]
xor ecx, ecx
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x38]
sub esp, 0xc
test eax, eax
js 0x6a7d19ba
mov eax, str.service
mov ebp, dword [sym.imp.ucrtbase.dll__wcsicmp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call ebp
mov dword [esp + 0x28], eax
test eax, eax
jne 0x6a7d1430
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
test eax, eax
js 0x6a7d15c1
mov eax, dword [esp + 0x50]
cmp eax, 1
je 0x6a7d14cd
cmp eax, 0xf
jne 0x6a7d14a4
mov eax, dword [esp + 0x64]
xor ecx, ecx
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x38]
sub esp, 0xc
test eax, eax
js 0x6a7d198d
cmp dword [esp + 0x50], 0xf
mov eax, dword [esp + 0xa0]
je 0x6a7d15ab
mov dword [esp], eax
mov edx, str.serviceType
mov dword [esp + 4], edx
call ebp
test eax, eax
jne 0x6a7d1640
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
test eax, eax
mov eax, dword [esp + 0x64]
js 0x6a7d19be
cmp dword [esp + 0x50], 3
mov edx, dword [eax]
jne 0x6a7d19be
mov dword [esp + 4], edi
xor ecx, ecx
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [edx + 0x40]
sub esp, 0xc
test eax, eax
js 0x6a7d19ba
mov eax, 0x2d
mov dword [esp + 8], eax
mov eax, str.urn:schemas_upnp_org:service:WANIPConnection:
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wcsnicmp]
test eax, eax
jne 0x6a7d15c1
mov eax, dword [esp + 0xa0]
add eax, 0x5a
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wtoi]
mov dword [esp + 0x34], eax
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0x28], eax
jmp 0x6a7d14a4
mov dword [esp], eax
mov ecx, str.service
mov dword [esp + 4], ecx
call ebp
test eax, eax
jne 0x6a7d14a4
mov ebp, dword [esp + 0x28]
and ebp, dword [esp + 0x38]
je 0x6a7d1430
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x6a7d19e6
test byte [0x6a7d6090], 1
je 0x6a7d1430
mov dword [esp + 0xc], str.Found_another_WANIPConnection_service__ignoring._n
mov dword [esp + 8], str.parse_desc_xml
mov dword [esp + 4], 0x6a7d6090
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d1430
mov byte [ecx], al
inc ecx
jmp 0x6a7d1130
mov byte [ecx], al
inc ecx
jmp 0x6a7d0f00
mov eax, 0x6a7da13c
jmp 0x6a7d1224
mov eax, 0x6a7da13c
mov dword [esp + 0x2c], eax
jmp 0x6a7d10a6
mov eax, str.controlURL
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call ebp
test eax, eax
jne 0x6a7d14a4
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
test eax, eax
mov eax, dword [esp + 0x64]
js 0x6a7d19be
cmp dword [esp + 0x50], 3
mov edx, dword [eax]
jne 0x6a7d19be
mov dword [esp + 4], edi
xor ecx, ecx
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [edx + 0x40]
sub esp, 0xc
test eax, eax
js 0x6a7d19ba
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcslen]
inc eax
cmp eax, 0x100
ja 0x6a7d19ba
mov dword [esp], ebx
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
call dword [sym.imp.ucrtbase.dll_wcscpy]
mov eax, 1
mov dword [esp + 0x38], eax
jmp 0x6a7d14a4
mov word [esp + 0x2b0], 0x224c
lea ecx, [esp + 0x2b2]
mov byte [esp + 0x2b2], 0x22
lea eax, [ecx + 1]
jmp 0x6a7d1219
mov word [esp + 0x2b0], 0x224c
lea ecx, [esp + 0x2b2]
mov byte [esp + 0x2b2], 0x22
lea eax, [ecx + 1]
jmp 0x6a7d1097
mov eax, dword [esp + 0x64]
mov ebp, dword [esp + 0x3c]
mov ecx, dword [eax]
mov dword [esp], eax
call dword [ecx + 8]
sub esp, 4
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 8]
sub esp, 4
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
test ebp, ebp
je 0x6a7d0a3e
test byte [0x6a7d6090], 8
jne 0x6a7d1770
call sym._update_mapping_list
jmp 0x6a7d04db
mov eax, dword [0x6a7df570]
mov dword [esp + 0x2c], eax
mov eax, 0x6a7df370
mov ecx, eax
shr ecx, 0x10
je 0x6a7d1944
mov dword [esp], 0x6a7df370
mov edi, 0xffffffff
mov dword [esp + 4], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x6a7d1961
cmp word [0x6a7df370], 0
je 0x6a7d1968
lea esi, [esi]
nop
mov ecx, eax
cmp word [ecx + ecx + 0x6a7df372], 0
lea eax, [eax + 1]
jne 0x6a7d17c0
mov edx, 0x224c
mov edi, 0x6a7df370
mov word [esp + 0x2b0], dx
lea eax, [esp + 0x3d2]
mov dword [esp + 0x28], eax
lea esi, [esp + 0x2b2]
mov dword [esp + 0x30], ebp
jmp 0x6a7d1837
cmp eax, 9
je 0x6a7d1870
cmp eax, 0xa
jne 0x6a7d1887
mov word [esi], 0x6e5c
add esi, 2
lea esi, [esi]
lea esi, [esi]
lea eax, [ecx - 1]
test ecx, ecx
jle 0x6a7d18e5
cmp esi, dword [esp + 0x28]
ja 0x6a7d18e5
mov ecx, eax
movzx eax, word [edi]
add edi, 2
cmp eax, 0xd
je 0x6a7d1860
jbe 0x6a7d1800
cmp eax, 0x22
je 0x6a7d18d8
cmp eax, 0x5c
jne 0x6a7d187a
mov word [esi], 0x5c5c
add esi, 2
jmp 0x6a7d1820
mov word [esi], 0x725c
add esi, 2
jmp 0x6a7d1820
mov word [esi], 0x745c
add esi, 2
jmp 0x6a7d1820
lea ebp, [eax - 0x20]
cmp bp, 0x5e
jbe 0x6a7d1959
mov byte [esi], 0x5c
mov ebp, eax
add esi, 5
shr ebp, 0xc
movzx edx, byte [ebp + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov ebp, eax
shr ebp, 8
and ebp, 0xf
mov byte [esi - 4], dl
movzx edx, byte [ebp + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov ebp, eax
shr ebp, 4
and eax, 0xf
and ebp, 0xf
movzx eax, byte [eax + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov byte [esi - 3], dl
movzx edx, byte [ebp + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov byte [esi - 1], al
mov byte [esi - 2], dl
jmp 0x6a7d1820
mov word [esi], 0x225c
add esi, 2
jmp 0x6a7d1820
mov byte [esi], 0x22
test eax, eax
mov ebp, dword [esp + 0x30]
jle 0x6a7d1985
mov word [esi + 1], 0x2e2e
lea eax, [esi + 4]
mov byte [esi + 3], 0x2e
mov byte [eax], 0
mov dword [esp], ebx
call sym.___wine_dbg_strdup
mov ecx, dword [esp + 0x2c]
mov ebx, str.init_gateway_connection
mov esi, 0x6a7d6090
mov dword [esp + 0x10], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp + 0x14], ecx
mov ecx, str.control_url__s__version__u._n
mov dword [esp + 0xc], ecx
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_4
jmp 0x6a7d1764
mov dword [esp], 0x6a7da146
movzx eax, ax
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_4
jmp 0x6a7d190c
mov byte [esi], al
inc esi
jmp 0x6a7d1820
mov eax, 0x6a7da13c
jmp 0x6a7d190c
lea esi, [esp + 0x2b2]
mov eax, 0x224c
mov word [esp + 0x2b0], ax
mov al, 0x22
mov byte [esp + 0x2b2], al
lea eax, [esi + 1]
jmp 0x6a7d1901
test byte [0x6a7d6090], 4
je 0x6a7d19ba
mov dword [esp + 0xc], str.IXmlReader_GetLocalName_failed._n
mov dword [esp + 8], str.parse_desc_xml
mov dword [esp + 4], 0x6a7d6090
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
push eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 8]
push eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x6a7d0a3e
mov dword [esp + 4], ebx
mov dword [esp], 0x6a7df370
call dword [sym.imp.ucrtbase.dll_wcscpy]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x3c], ebp
mov dword [0x6a7df570], eax
jmp 0x6a7d1430