Function at 0x1000f810
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0xb9c]
push ebx
sub esp, 0xca4
mov dword [ebp - 0xc7c], 0x3e8
mov dword [esp + 4], eax
mov dword [esp], 0x202
call dword [0x10023338]
sub esp, 8
mov dword [0x10021064], eax
mov dword [esp + 8], 0x11
mov dword [esp + 4], 2
mov dword [esp], 2
call dword [0x10023330]
sub esp, 0xc
cmp eax, 0xffffffff
je 0x1000f9f0
mov ebx, eax
lea eax, [ebp - 0xc7c]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x1006
mov dword [esp + 4], 0xffff
mov dword [esp], ebx
call dword [0x1002332c]
sub esp, 0x14
cmp eax, 0xffffffff
je 0x1000f9c8
mov eax, 2
mov dword [esp], 0x76c
lea esi, [ebp - 0xc68]
mov word [ebp - 0xc68], ax
call dword [0x1002331c]
sub esp, 4
mov word [ebp - 0xc66], ax
mov dword [esp], str.239.255.255.250
call dword [0x10023320]
sub esp, 4
mov dword [ebp - 0xc64], eax
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x61
mov dword [esp + 4], 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
mov dword [esp], ebx
call dword [0x10023328]
sub esp, 0x18
cmp eax, 0xffffffff
je 0x1000fd58
test byte [0x10015090], 1
jne 0x1000fd28
mov dword [ebp - 0xc80], 2
lea edi, [ebp - 0x80c]
lea eax, [ebp - 0xc78]
mov dword [esp + 0x10], esi
mov dword [ebp - 0xc78], 0x10
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x7ff
mov dword [esp + 4], edi
mov dword [esp], ebx
call dword [0x10023324]
sub esp, 0x18
cmp eax, 0xffffffff
jne 0x1000fa50
call dword [0x10023334]
cmp eax, 0x274c
jne 0x100101e0
cmp dword [ebp - 0xc80], 1
jne 0x1000fa38
mov dword [esp], ebx
call dword [0x10023318]
sub esp, 4
test byte [0x10015090], 8
jne 0x1000fda0
lea esi, [esi]
xor edi, edi
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [0x10015090], 2
jne 0x1000fcf0
mov dword [esp], ebx
xor edi, edi
call dword [0x10023318]
sub esp, 4
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [0x10015090], 2
je 0x1000f9b8
call dword [0x10023334]
mov dword [esp + 0xc], str.Failed_to_create_socket__error__u._n
xor edi, edi
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.init_gateway_connection
mov dword [esp + 4], 0x10015090
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_4
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0xc80], 1
jmp 0x1000f93c
mov dword [ebp - 0xc80], eax
mov dword [esp], ebx
call dword [0x10023318]
mov edx, dword [ebp - 0xc80]
sub esp, 4
test byte [0x10015090], 8
jne 0x1000fc40
lea eax, [ebp - 0xa0c]
mov byte [ebp + edx - 0x80c], 0
mov ebx, dword [sym.imp.ucrtbase.dll_strtok_s]
mov dword [ebp - 0xa0c], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1001974a
mov dword [esp], edi
call ebx
test eax, eax
je 0x1000fcb8
mov dword [esp + 4], 0x1001974c
mov esi, dword [sym.imp.ucrtbase.dll_strtok]
mov dword [esp], eax
call esi
test eax, eax
je 0x1000fcb8
mov dword [esp + 4], 0x1001974c
mov dword [esp], 0
call esi
test eax, eax
je 0x1000fcb8
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_atoi]
mov edi, dword [sym.imp.ucrtbase.dll__stricmp]
cmp eax, 0xc8
jne 0x1000fc80
lea esi, [esi]
lea eax, [ebp - 0xa0c]
mov dword [esp + 4], 0x1001974a
mov dword [esp + 8], eax
mov dword [esp], 0
call ebx
test eax, eax
je 0x1000fcb8
mov dword [esp + 4], 0x1001974c
mov dword [esp], eax
call esi
test eax, eax
je 0x1000fb00
mov dword [esp + 4], str.LOCATION:
mov dword [esp], eax
call edi
test eax, eax
jne 0x1000fb00
mov dword [esp + 4], 0x10019764
mov dword [esp], 0
call esi
test eax, eax
je 0x10010619
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], 0x10021068
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
sub esp, 0x18
test eax, eax
je 0x1000fcb8
test byte [0x10015090], 8
jne 0x1000ff58
lea edx, [ebp - 0xc54]
xor eax, eax
mov ecx, 0xe
mov edi, edx
lea esi, [ebp - 0xc1c]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xc58]
mov dword [ebp - 0xc48], esi
mov dword [ebp - 0xc58], 0x3c
mov dword [ebp - 0xc44], 0x40
mov dword [ebp - 0xc2c], 0x10021270
mov dword [ebp - 0xc28], pe_nt_image_headers32
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x10021068
call dword [0x100232f0]
sub esp, 0x10
test eax, eax
jne 0x1000fdd0
test byte [0x10015090], 4
je 0x1000f9b8
mov dword [esp + 0xc], str.Error_opening_gateway_connection._n
jmp 0x1000fccd
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.Received_reply_from_gateway__len__d._n
mov dword [esp + 8], str.init_gateway_connection
mov dword [esp + 4], 0x10015090
mov dword [esp], 3
mov dword [ebp - 0xc80], edx
call sym._wine_dbg_log.constprop.0_4
mov edx, dword [ebp - 0xc80]
jmp 0x1000fa75
test byte [0x10015090], 4
je 0x1000f9b8
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.status__u._n
mov dword [esp + 8], str.parse_search_response
mov dword [esp + 4], 0x10015090
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
lea esi, [esi]
test byte [0x10015090], 4
je 0x1000f9b8
mov dword [esp + 0xc], str.Error_parsing_response._n
mov dword [esp + 8], str.init_gateway_connection
xor edi, edi
mov dword [esp + 4], 0x10015090
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000f9ba
call dword [0x10023334]
mov dword [esp + 0xc], str.setsockopt_SO_RCVTIME0__failed__error__u._n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.init_gateway_connection
mov dword [esp + 4], 0x10015090
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000f9d5
mov dword [esp + 0xc], str.Waiting_for_reply_from_router._n
mov dword [esp + 8], str.init_gateway_connection
mov dword [esp + 4], 0x10015090
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000f92c
test byte [0x10015090], 2
je 0x1000f9d5
call dword [0x10023334]
mov dword [esp + 0xc], str.sendto_failed__error__u_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.init_gateway_connection
mov dword [esp + 4], 0x10015090
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000f9d5
mov dword [esp + 0xc], str.No_reply_from_router._n
xor edi, edi
mov dword [esp + 8], str.init_gateway_connection
mov dword [esp + 4], 0x10015090
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000f9e3
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], str.hnetcfg
call dword [0x100232f4]
mov dword [0x10021268], eax
sub esp, 0x14
test eax, eax
je 0x1000fc1e
mov dword [esp + 0x10], 0xbb8
mov dword [esp + 0xc], 0xbb8
mov dword [esp + 8], 0xbb8
mov dword [esp + 4], 0xbb8
mov dword [esp], eax
call dword [0x1002330c]
sub esp, 0x14
test eax, eax
je 0x1000fc1e
movzx edi, word [ebp - 0xc40]
test byte [0x10015090], 8
jne 0x10010360
mov eax, dword [0x10021268]
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [0x100232ec]
mov dword [0x1002126c], eax
sub esp, 0x10
test eax, eax
je 0x10010781
test byte [0x10015090], 8
jne 0x10010110
mov dword [ebp - 0xc70], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x10015088
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x10021270
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [0x100232f8]
sub esp, 0x1c
mov ebx, eax
test eax, eax
je 0x1000ff39
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [0x10023308]
sub esp, 0x1c
test eax, eax
jne 0x100100b0
test byte [0x10015090], 4
jne 0x100102f8
mov dword [esp], ebx
call dword [0x100232e8]
sub esp, 4
test byte [0x10015090], 4
jne 0x10010330
call sym._gateway_connection_cleanup
xor edi, edi
jmp 0x1000f9ba
mov eax, 0x10021068
mov ecx, eax
shr ecx, 0x10
je 0x10010220
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x10021068
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x1001913c
sub esp, 8
test eax, eax
jne 0x1001007e
cmp word [0x10021068], 0
je 0x100105f8
nop
lea esi, [esi]
mov edx, eax
lea eax, [eax + 1]
cmp word [edx + edx + 0x1002106a], 0
jne 0x1000ffa0
mov ecx, 0x224c
mov ebx, 0x10021068
lea esi, [ebp - 0x8ea]
mov word [ebp - 0xa0c], cx
lea ecx, [ebp - 0xa0a]
mov dword [ebp - 0xc80], ebx
jmp 0x1001000d
cmp ax, 9
je 0x100101c8
cmp ax, 0xa
jne 0x1001015e
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
nop
lea esi, [esi]
lea eax, [edx - 1]
test edx, edx
jle 0x10010050
cmp ecx, esi
ja 0x10010050
mov edx, eax
add dword [ebp - 0xc80], 2
mov eax, dword [ebp - 0xc80]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x10010140
jbe 0x1000ffd8
cmp ax, 0x22
je 0x100101b0
cmp ax, 0x5c
jne 0x10010151
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x10010000
mov byte [ecx], 0x22
test eax, eax
jle 0x10010611
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [ebp - 0xa0c]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.Gateway_description_location__s._n
mov dword [esp + 8], str.init_gateway_connection
mov dword [esp + 4], 0x10015090
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000fba7
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x10023304]
sub esp, 8
test eax, eax
jne 0x10010240
test byte [0x10015090], 4
je 0x1000ff2d
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 0xc], str.Error_receiving_response__lu._n
mov dword [esp + 8], str.get_control_url
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x10015090
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000ff2d
mov dword [esp + 0xc], str.Opened_gateway_connection._n
mov dword [esp + 8], str.init_gateway_connection
mov dword [esp + 4], 0x10015090
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_4
mov eax, dword [0x1002126c]
jmp 0x1000fe90
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x10010000
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x100102e8
mov edi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdeffw_port_put_RemoteAddresses]
and edi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x10010000
mov edi, 0x225c
add ecx, 2
mov word [ecx - 2], di
jmp 0x10010000
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x10010000
test byte [0x10015090], 4
je 0x1000f9d5
call dword [0x10023334]
mov dword [esp + 0xc], str.recvfrom_error__u._n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.init_gateway_connection
mov dword [esp + 4], 0x10015090
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000f9d5
movzx eax, ax
mov dword [esp], 0x10019146
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_4
mov edx, eax
jmp 0x1001007e
lea eax, [ebp - 0xc74]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xc70]
mov dword [ebp - 0xc74], 4
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x20000013
mov dword [esp], ebx
call dword [0x100232fc]
sub esp, 0x18
test eax, eax
je 0x10010296
cmp dword [ebp - 0xc70], 0xc8
je 0x100107fc
test byte [0x10015090], 4
je 0x1000ff2d
mov edx, dword [ebp - 0xc70]
mov eax, dword fs:[0x18]
mov dword [esp + 0x14], edx
mov eax, dword [eax + 0x34]
mov dword [esp + 0xc], str.Error_response_from_server__error__lu__http_status__lu._n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.get_control_url
mov dword [esp + 4], 0x10015090
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000ff2d
mov byte [ecx], al
add ecx, 1
jmp 0x10010000
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 0xc], str.Error_sending_request__lu._n
mov dword [esp + 8], str.get_control_url
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x10015090
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000ff2d
mov dword [esp + 0xc], str.Could_not_get_control_URL._n
mov dword [esp + 8], str.init_gateway_connection
mov dword [esp + 4], 0x10015090
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000ff46
mov eax, 0x10021270
mov ecx, eax
shr ecx, 0x10
je 0x100107c4
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x10021270
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [ebp - 0xc84], 0x1001913c
sub esp, 8
test eax, eax
jne 0x1001049a
cmp word [0x10021270], 0
je 0x10010cc9
nop
lea esi, [esi]
mov edx, eax
lea eax, [eax + 1]
cmp word [edx + edx + 0x10021272], 0
jne 0x100103b0
mov ebx, 0x224c
mov dword [ebp - 0xc84], edi
lea ecx, [ebp - 0xa0a]
mov word [ebp - 0xa0c], bx
mov ebx, 0x10021270
mov dword [ebp - 0xc80], ebx
jmp 0x10010423
cmp ax, 9
je 0x100106f8
cmp ax, 0xa
jne 0x1001067e
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
nop
lea esi, [esi]
lea edi, [ebp - 0x8ea]
lea eax, [edx - 1]
cmp ecx, edi
ja 0x10010462
test edx, edx
jle 0x10010462
mov edx, eax
add dword [ebp - 0xc80], 2
mov eax, dword [ebp - 0xc80]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x100106e1
jbe 0x100103e8
cmp ax, 0x22
je 0x100106d0
cmp ax, 0x5c
jne 0x10010671
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x10010410
mov byte [ecx], 0x22
mov edi, dword [ebp - 0xc84]
test eax, eax
jle 0x10010cdf
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [ebp - 0xa0c]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [ebp - 0xc84], eax
mov eax, esi
shr eax, 0x10
je 0x100107e2
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x1001913c
sub esp, 8
test eax, eax
jne 0x100105b6
cmp word [ebp - 0xc1c], 0
je 0x10010cab
lea esi, [esi]
mov edx, eax
lea eax, [eax + 1]
cmp word [esi + edx*2 + 2], 0
jne 0x100104d8
mov eax, 0x224c
mov dword [ebp - 0xc80], esi
lea ecx, [ebp - 0xa0a]
mov word [ebp - 0xa0c], ax
mov dword [ebp - 0xc88], edi
jmp 0x10010543
cmp ax, 9
je 0x10010660
cmp ax, 0xa
jne 0x10010716
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
nop
lea esi, [esi]
lea eax, [edx - 1]
test edx, edx
jle 0x10010582
lea edx, [ebp - 0x8ea]
cmp ecx, edx
ja 0x10010582
mov edx, eax
add dword [ebp - 0xc80], 2
mov eax, dword [ebp - 0xc80]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x1001064f
jbe 0x10010508
cmp ax, 0x22
je 0x10010770
cmp ax, 0x5c
jne 0x10010709
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x10010530
mov byte [ecx], 0x22
mov edi, dword [ebp - 0xc88]
test eax, eax
jle 0x10010cc1
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [ebp - 0xa0c]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov edx, eax
mov eax, dword [ebp - 0xc84]
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], str.hostname__s__urlpath__s__port__u._n
mov dword [esp + 8], str.open_gateway_connection
mov dword [esp + 4], 0x10015090
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_4
movzx edi, word [ebp - 0xc40]
jmp 0x1000fe55
mov eax, 0x224c
mov byte [ebp - 0xa0a], 0x22
lea ecx, [ebp - 0xa0a]
mov word [ebp - 0xa0c], ax
lea eax, [ecx + 1]
jmp 0x1001006b
test byte [0x10015090], 4
je 0x1000f9b8
mov dword [esp + 0xc], str.Error_parsing_location._n
mov dword [esp + 8], str.parse_search_response
mov dword [esp + 4], 0x10015090
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000fcb8
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x10010530
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x10010530
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x10010bf2
mov edi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdeffw_port_put_RemoteAddresses]
and edi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x10010410
mov edi, 0x225c
add ecx, 2
mov word [ecx - 2], di
jmp 0x10010410
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x10010410
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x10010410
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x10010be8
mov edi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdeffw_port_put_RemoteAddresses]
and edi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x10010530
mov edi, 0x225c
add ecx, 2
mov word [ecx - 2], di
jmp 0x10010530
test byte [0x10015090], 4
je 0x1000f9b8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 0xc], str.WinHttpConnect_error__lu._n
mov dword [esp + 8], str.open_gateway_connection
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x10015090
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
jmp 0x1000fc1e
movzx eax, ax
mov dword [esp], 0x10019146
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_4
mov dword [ebp - 0xc84], eax
jmp 0x1001049a
movzx eax, si
mov dword [esp], 0x10019146
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_4
mov edx, eax
jmp 0x100105b6
mov dword [esp], 0x400
xor edi, edi
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [ebp - 0xc84], 0x400
mov dword [ebp - 0xc88], eax
mov dword [ebp - 0xc8c], 0x3ff
lea esi, [esi]
mov eax, dword [ebp - 0xc88]
mov dword [esp], ebx
lea edx, [eax + edi]
lea eax, [ebp - 0xc74]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xc8c]
mov dword [esp + 4], edx
sub eax, edi
mov dword [ebp - 0xc80], edx
mov dword [esp + 8], eax
call dword [0x10023300]
mov edx, dword [ebp - 0xc80]
sub esp, 0x10
test eax, eax
je 0x10010905
mov eax, dword [ebp - 0xc74]
test eax, eax
je 0x10010905
add edi, eax
lea eax, [edi + 1]
cmp eax, dword [ebp - 0xc84]
jne 0x10010828
shl dword [ebp - 0xc84], 1
mov eax, dword [ebp - 0xc84]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc88]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x100108c3
mov dword [ebp - 0xc88], eax
mov eax, dword [ebp - 0xc84]
sub eax, 1
mov dword [ebp - 0xc8c], eax
jmp 0x10010828
mov eax, dword [ebp - 0xc88]
lea edx, [eax + edi]
test byte [0x10015090], 2
je 0x10010905
mov dword [esp + 0xc], str.No_memory._n
mov dword [esp + 8], str.get_control_url
mov dword [esp + 4], 0x10015090
mov dword [esp], 1
mov dword [ebp - 0xc80], edx
call sym._wine_dbg_log.constprop.0_4
mov edx, dword [ebp - 0xc80]
mov byte [edx], 0
mov dword [esp], ebx
call dword [0x100232e8]
mov edx, dword [ebp - 0xc88]
sub esp, 4
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x1001091a
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
mov eax, dword [ebp - 0xc88]
sbb edx, 3
sub edx, eax
mov dword [esp], eax
add edx, 1
mov dword [esp + 4], edx
call dword [0x1002326c]
mov dword [ebp - 0xc84], eax
sub esp, 8
test eax, eax
je 0x10010fd1
lea eax, [ebp - 0xc58]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0x1001b360
call sym._CreateXmlReader_12
sub esp, 0xc
test eax, eax
js 0x10010fc2
mov eax, dword [ebp - 0xc58]
mov ecx, dword [ebp - 0xc84]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 8
test eax, eax
js 0x10010fb3
xor edi, edi
lea ebx, [ebp - 0xc6c]
mov dword [ebp - 0xc8c], 0
mov dword [ebp - 0xc94], edi
mov esi, esi
lea edi, [edi]
mov eax, dword [ebp - 0xc58]
mov edx, dword [eax]
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
test eax, eax
js 0x10010ce7
mov eax, dword [ebp - 0xc6c]
test eax, eax
je 0x10010ce7
cmp eax, 1
jne 0x100109e0
mov eax, dword [ebp - 0xc58]
mov edx, dword [eax]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x38]
sub esp, 0xc
test eax, eax
js 0x10010fb3
mov eax, dword [ebp - 0xc1c]
mov dword [esp + 4], str.service
mov edi, dword [sym.imp.ucrtbase.dll__wcsicmp]
mov dword [esp], eax
call edi
mov dword [ebp - 0xc80], eax
test eax, eax
jne 0x100109e0
mov dword [ebp - 0xc90], 0
mov eax, dword [ebp - 0xc58]
mov edx, dword [eax]
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
test eax, eax
js 0x10010b8e
mov eax, dword [ebp - 0xc6c]
cmp eax, 1
je 0x10010a8f
cmp eax, 0xf
jne 0x10010a62
mov eax, dword [ebp - 0xc58]
mov edx, dword [eax]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x38]
sub esp, 0xc
test eax, eax
js 0x10010f86
cmp dword [ebp - 0xc6c], 0xf
mov eax, dword [ebp - 0xc1c]
je 0x10010b79
mov dword [esp + 4], str.serviceType
mov dword [esp], eax
call edi
test eax, eax
jne 0x10010bfc
mov eax, dword [ebp - 0xc58]
mov edx, dword [eax]
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
test eax, eax
mov eax, dword [ebp - 0xc58]
js 0x10010fb9
cmp dword [ebp - 0xc6c], 3
mov edx, dword [eax]
jne 0x10010fb9
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x40]
sub esp, 0xc
test eax, eax
js 0x10010fb3
mov eax, dword [ebp - 0xc1c]
mov dword [esp + 8], 0x2d
mov dword [esp + 4], str.urn:schemas_upnp_org:service:WANIPConnection:
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wcsnicmp]
test eax, eax
jne 0x10010b8e
mov eax, dword [ebp - 0xc1c]
add eax, 0x5a
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wtoi]
test eax, eax
mov dword [ebp - 0xc8c], eax
setne al
movzx eax, al
mov dword [ebp - 0xc80], eax
jmp 0x10010a62
mov dword [esp + 4], str.service
mov dword [esp], eax
call edi
test eax, eax
jne 0x10010a62
mov edx, dword [ebp - 0xc80]
and edx, dword [ebp - 0xc90]
je 0x100109e0
mov eax, dword [ebp - 0xc94]
test eax, eax
je 0x10010fe5
test byte [0x10015090], 1
je 0x100109e0
mov dword [esp + 0xc], str.Found_another_WANIPConnection_service__ignoring._n
mov dword [esp + 8], str.parse_desc_xml
mov dword [esp + 4], 0x10015090
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
jmp 0x100109e0
mov byte [ecx], al
add ecx, 1
jmp 0x10010530
mov byte [ecx], al
add ecx, 1
jmp 0x10010410
mov eax, dword [ebp - 0xc1c]
mov dword [esp + 4], str.controlURL
mov dword [esp], eax
call edi
test eax, eax
jne 0x10010a62
mov eax, dword [ebp - 0xc58]
mov edx, dword [eax]
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
test eax, eax
mov eax, dword [ebp - 0xc58]
js 0x10010fb9
cmp dword [ebp - 0xc6c], 3
mov edx, dword [eax]
jne 0x10010fb9
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x40]
sub esp, 0xc
test eax, eax
js 0x10010fb3
mov eax, dword [ebp - 0xc1c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcslen]
add eax, 1
cmp eax, 0x100
ja 0x10010fb3
mov eax, dword [ebp - 0xc1c]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcscpy]
mov dword [ebp - 0xc90], 1
jmp 0x10010a62
mov word [ebp - 0xa0c], 0x224c
lea ecx, [ebp - 0xa0a]
mov byte [ebp - 0xa0a], 0x22
lea eax, [ecx + 1]
jmp 0x100105a3
mov word [ebp - 0xa0c], 0x224c
lea ecx, [ebp - 0xa0a]
mov byte [ebp - 0xa0a], 0x22
lea eax, [ecx + 1]
jmp 0x10010483
mov eax, dword [ebp - 0xc58]
mov edi, dword [ebp - 0xc94]
mov ecx, dword [eax]
mov dword [esp], eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc84]
sub esp, 4
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 8]
mov eax, dword [ebp - 0xc88]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
test edi, edi
je 0x1000ff39
test byte [0x10015090], 8
jne 0x10010d40
call sym._update_mapping_list
jmp 0x1000f9e3
mov eax, dword [0x10021570]
mov dword [ebp - 0xc84], eax
mov eax, 0x10021370
mov ecx, eax
shr ecx, 0x10
je 0x10010f41
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x10021370
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, 0x1001913c
sub esp, 8
test eax, eax
jne 0x10010e69
cmp word [0x10021370], 0
je 0x10010f65
nop
mov ecx, eax
lea eax, [eax + 1]
cmp word [ecx + ecx + 0x10021372], 0
jne 0x10010d90
mov eax, 0x224c
mov dword [ebp - 0xc88], edi
lea ebx, [ebp - 0xa0a]
mov esi, 0x10021370
mov word [ebp - 0xa0c], ax
lea eax, [ebp - 0x8ea]
mov dword [ebp - 0xc80], eax
jmp 0x10010e01
cmp ax, 9
je 0x10010eb8
cmp ax, 0xa
jne 0x10010ed6
mov eax, 0x6e5c
add ebx, 2
mov word [ebx - 2], ax
lea eax, [ecx - 1]
test ecx, ecx
jle 0x10010e35
cmp ebx, dword [ebp - 0xc80]
ja 0x10010e35
mov ecx, eax
movzx eax, word [esi]
add esi, 2
cmp ax, 0xd
je 0x10010ea0
jbe 0x10010dd0
cmp ax, 0x22
je 0x10010f30
cmp ax, 0x5c
jne 0x10010ec9
mov edi, 0x5c5c
add ebx, 2
mov word [ebx - 2], di
jmp 0x10010df0
mov byte [ebx], 0x22
mov edi, dword [ebp - 0xc88]
test eax, eax
jle 0x10010f7e
mov edx, 0x2e2e
mov byte [ebx + 3], 0x2e
lea eax, [ebx + 4]
mov word [ebx + 1], dx
mov byte [eax], 0
lea eax, [ebp - 0xa0c]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov ecx, eax
mov eax, dword [ebp - 0xc84]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], str.control_url__s__version__u._n
mov dword [esp + 0x14], eax
mov dword [esp + 8], str.init_gateway_connection
mov dword [esp + 4], 0x10015090
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_4
jmp 0x10010d2f
mov eax, 0x725c
add ebx, 2
mov word [ebx - 2], ax
jmp 0x10010df0
mov eax, 0x745c
add ebx, 2
mov word [ebx - 2], ax
jmp 0x10010df0
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x10010f5b
mov edi, eax
mov byte [ebx], 0x5c
add ebx, 5
shr di, 0xc
movzx edi, di
movzx edx, byte [edi + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [ebx - 4], dl
movzx edx, byte [edi + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdeffw_port_put_RemoteAddresses]
and edi, 0xf
mov byte [ebx - 3], dl
movzx edx, byte [edi + str.0123456789abcdeffw_port_put_RemoteAddresses]
mov byte [ebx - 1], al
mov byte [ebx - 2], dl
jmp 0x10010df0
mov eax, 0x225c
add ebx, 2
mov word [ebx - 2], ax
jmp 0x10010df0
movzx eax, ax
mov dword [esp], 0x10019146
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_4
mov ecx, eax
jmp 0x10010e69
mov byte [ebx], al
add ebx, 1
jmp 0x10010df0
mov eax, 0x224c
mov byte [ebp - 0xa0a], 0x22
lea ebx, [ebp - 0xa0a]
mov word [ebp - 0xa0c], ax
lea eax, [ebx + 1]
jmp 0x10010e56
test byte [0x10015090], 4
je 0x10010fb3
mov dword [esp + 0xc], str.IXmlReader_GetLocalName_failed._n
mov dword [esp + 8], str.parse_desc_xml
mov dword [esp + 4], 0x10015090
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_4
mov eax, dword [ebp - 0xc58]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
push eax
mov ecx, dword [ebp - 0xc84]
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 8]
push eax
mov eax, dword [ebp - 0xc88]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x1000ff39
lea eax, [ebp - 0xa0c]
mov dword [ebp - 0xc80], edx
mov dword [esp + 4], eax
mov dword [esp], 0x10021370
call dword [sym.imp.ucrtbase.dll_wcscpy]
mov eax, dword [ebp - 0xc8c]
mov edx, dword [ebp - 0xc80]
mov dword [0x10021570], eax
mov dword [ebp - 0xc94], edx
jmp 0x100109e0