Function at 0x431df0
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x304]
push ebx
sub esp, 0x35c
mov dword [ebp - 0x304], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], str.http:__www.winehq.org_
call dword [0x49cf48]
sub esp, 0x10
mov ebx, eax
mov dword [esp + 4], 0x1ee0
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
test ebx, ebx
mov dword [esp + 0xc], 0
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_CreateUri_returned_0x_08x__expected_0x_08x._n
mov dword [esp], eax
call fcn.0045a820
test ebx, ebx
js 0x432155
mov eax, dword [ebp - 0x304]
lea esi, [ebp - 0x1d0]
mov dword [ebp - 0x1d0], 0
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xb
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x10
mov ebx, eax
mov dword [esp + 4], 0x1ee5
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 0x80004003
mov dword [esp + 8], ebx
sete al
mov dword [esp + 0xc], 0x80004003
mov dword [esp], eax
mov dword [esp + 4], str.Error:_GetPropertyBSTR_returned_0x_08x__expected_0x_08x._n
call fcn.0045a820
mov eax, dword [ebp - 0x304]
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], 0x10
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x10
mov ebx, eax
mov dword [esp + 4], 0x1ee9
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
cmp ebx, 0x80070057
jne 0x431f8b
mov dword [esp + 8], 0x80070057
mov dword [esp + 4], str.Error:_GetPropertyBSTR_returned_0x_08x__expected_E_INVALIDARG_or_S_OK._n
mov dword [esp], 1
call fcn.0045a820
mov dword [esp + 4], 0x1eef
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x1d0]
call fcn.0042ee60
mov esi, dword [ebp - 0x1d0]
mov dword [esp + 4], str.received___s_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp], eax
call fcn.0045a820
jmp 0x432050
xor eax, eax
test ebx, ebx
sete al
mov dword [esp], eax
call fcn.0045a690
mov dword [esp + 8], ebx
test eax, eax
mov dword [esp + 4], str.Error:_GetPropertyBSTR_returned_0x_08x__expected_E_INVALIDARG_or_S_OK._n
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
test ebx, ebx
js 0x431f46
mov dword [esp + 4], 0x1eeb
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov edi, dword [ebp - 0x1d0]
xor eax, eax
mov dword [esp + 4], str.Error:_Expected_the_string_not_to_be_NULL._n
test edi, edi
setne al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x1eec
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x1d0]
mov dword [esp], eax
call sub.oleaut32.dll_SysStringLen
mov ebx, eax
mov eax, dword [ebp - 0x1d0]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_SysStringLen
sub esp, 4
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Error:_Expected_the_string_to_be_of_len0_but_it_was__d_instead._n
mov dword [esp], eax
call fcn.0045a820
mov eax, dword [ebp - 0x1d0]
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
sub esp, 4
mov eax, dword [ebp - 0x304]
lea esi, [ebp - 0x1d0]
mov dword [ebp - 0x1d0], 0
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], 0x12
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x10
mov ebx, eax
mov dword [esp + 4], 0x1ef5
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 1
mov dword [esp + 8], ebx
sete al
mov dword [esp + 0xc], 1
mov dword [esp], eax
mov dword [esp + 4], str.Error:_GetPropertyBSTR_returned_0x_08x__expected_0x_08x._n
call fcn.0045a820
mov dword [esp + 4], 0x1ef6
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov ebx, dword [ebp - 0x1d0]
xor eax, eax
mov dword [esp + 4], str.Error:_Expected_the_string_not_to_be_NULL._n
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x1ef7
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x1d0]
mov dword [esp], eax
call sub.oleaut32.dll_SysStringLen
mov ebx, eax
mov eax, dword [ebp - 0x1d0]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_SysStringLen
sub esp, 4
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Error:_Expected_the_string_to_be_of_len0_but_it_was__d_instead._n
mov dword [esp], eax
call fcn.0045a820
mov eax, dword [ebp - 0x1d0]
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
sub esp, 4
mov eax, dword [ebp - 0x304]
test eax, eax
je 0x43216a
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov dword [ebp - str.http:__www.winehq.org_tests_.._tests_.._..], 0x47ca00
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x30c], str.http:__www.winehq.org_tests_.._tests_.._..
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x314], 0
lea esi, [esi]
lea esi, [esi]
mov eax, dword [ebp - 0x30c]
mov ecx, 0x6e
lea edi, [ebp - 0x1d0]
mov esi, dword [ebp - 0x324]
mov dword [ebp - 0x304], 0
rep movsd dword es:[edi], dword [esi]
test eax, eax
je 0x432278
mov dword [ebp - 0x31c], edx
mov edi, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call edi
mov ecx, eax
sub esp, 0x18
lea esi, [ecx + ecx]
mov dword [esp + 4], 0
mov dword [esp + 8], esi
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x318], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [ebp - 0x318]
sub esp, 0xc
mov esi, eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x30c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call edi
mov dword [ebp - 0x30c], esi
mov edx, dword [ebp - 0x31c]
sub esp, 0x18
lea eax, [ebp - 0x304]
mov dword [ebp - 0x318], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x30c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp], eax
call dword [0x49cf48]
mov edx, dword [ebp - 0x318]
sub esp, 0x10
mov ebx, eax
test edx, edx
je 0x4322d0
mov esi, dword [str.windows]
mov edi, 0x4692e4
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
xor edx, edx
test al, al
sete dl
mov dword [esp], edx
call fcn.0045a990
mov esi, dword [ebp - 0x310]
jmp 0x432322
mov dword [esp + 4], 0x1f04
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x314]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 0x10], eax
xor eax, eax
cmp ebx, esi
sete al
mov dword [esp + 4], str.Error:_CreateUri_returned_0x_08x__expected_0x_08x._Failed_on_uri_tests__d_._n
mov dword [esp], eax
call fcn.0045a820
call fcn.0045a9e0
call fcn.0045a9c0
test eax, eax
jne 0x4322e0
test ebx, ebx
jns 0x4323c0
mov eax, dword [ebp - 0x304]
test eax, eax
je 0x432348
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov ebx, dword [ebp - 0x30c]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 8], ebx
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
add dword [ebp - 0x314], 1
mov edi, dword [ebp - 0x314]
add dword [ebp - 0x324], 0x1b8
sub esp, 0xc
mov eax, dword [ebp - 0x324]
cmp edi, 0xc1
je 0x432a90
mov edi, dword [eax + 8]
mov ebx, dword [eax + 4]
mov edx, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x310], edi
mov dword [ebp - 0x30c], eax
jmp 0x4321a0
mov dword [ebp - 0x310], 0
lea ebx, [ebp - 0x1c0]
mov dword [ebp - 0x338], ebx
lea esi, [esi]
lea esi, [esi]
mov dword [ebp - 0x300], 0
mov eax, dword [ebp - 0x338]
mov edi, dword [eax + 4]
mov esi, dword [eax]
mov ebx, dword [eax + 0xc]
mov dword [ebp - 0x32c], edi
mov edi, dword [eax + 0x10]
mov dword [ebp - 0x31c], esi
mov esi, dword [eax + 8]
mov dword [ebp - 0x328], ebx
mov ebx, dword [eax + 0x14]
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x318], edi
lea edi, [ebp - 0x300]
mov edx, dword [eax]
mov dword [esp + 8], edi
mov edi, dword [ebp - 0x310]
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edi
call dword [edx + 0xc]
sub esp, 0x10
mov dword [ebp - 0x330], eax
test esi, esi
je 0x432471
mov esi, dword [str.windows]
mov edi, 0x4692e4
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
test al, al
sete al
movzx eax, al
mov esi, eax
mov dword [esp], esi
mov esi, 1
call fcn.0045a990
mov edi, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x318]
cmp ebx, edi
sete dl
xor eax, eax
test ecx, ecx
setne al
and eax, edx
cmp dword [ebp - 0x32c], edi
cmove eax, esi
mov dword [ebp - 0x33c], eax
call fcn.0045a9c0
test eax, eax
je 0x432972
mov dword [esp + 4], 0x1f11
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x310]
mov dword [esp + 4], str.GetPropertyBSTR_returned_0x_08x__expected_0x_08x._On_uri_tests__d_.str_props__d_._n
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x314]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x330]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x33c]
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x1f15
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov ebx, dword [ebp - 0x300]
test ebx, ebx
je 0x4329d4
mov eax, ebx
shr eax, 0x10
je 0x4329b0
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x432a51
cmp word [ebx], 0
je 0x43255f
add eax, 1
cmp word [ebx + eax*2], 0
jne 0x432555
mov edx, 0x224c
lea edi, [ebp - 0x1da]
mov word [ebp - 0x2fc], dx
lea edx, [ebp - 0x2fa]
jmp 0x4325a4
cmp ax, 9
je 0x432a41
cmp ax, 0xa
jne 0x4329e3
mov eax, 0x6e5c
lea ecx, [edx + 2]
mov word [edx], ax
nop
mov edx, ecx
mov eax, esi
lea esi, [eax - 1]
cmp edx, edi
ja 0x432600
test eax, eax
jle 0x432600
add ebx, 2
movzx eax, word [ebx - 2]
cmp ax, 0xd
je 0x4325e0
jbe 0x432580
cmp ax, 0x22
je 0x4325f0
cmp ax, 0x5c
jne 0x4329e3
mov eax, 0x5c5c
lea ecx, [edx + 2]
mov word [edx], ax
jmp 0x4325a0
mov eax, 0x725c
lea ecx, [edx + 2]
mov word [edx], ax
jmp 0x4325a0
mov eax, 0x225c
lea ecx, [edx + 2]
mov word [edx], ax
jmp 0x4325a0
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x43261a
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x2fc]
mov dword [esp], eax
call fcn.0045b4e0
mov ebx, dword [ebp - 0x300]
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x31c]
xor esi, esi
test eax, eax
je 0x4326e2
mov edi, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call edi
mov edx, eax
sub esp, 0x18
lea ecx, [edx + edx]
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x334], edx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [ebp - 0x334]
sub esp, 0xc
mov esi, eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x31c]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call edi
sub esp, 0x18
mov eax, dword [sym.imp.kernel32.dll_lstrcmpW]
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [ebp - 0x334], eax
call eax
sub esp, 8
mov edi, eax
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov ebx, dword fs:[0x18]
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
test edi, edi
je 0x4329a5
mov edx, dword [ebp - 0x318]
test edx, edx
je 0x43281d
mov ecx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x318]
mov dword [esp + 0x14], 0
mov edi, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov dword [esp + 0x10], 0
mov dword [ebp - 0x344], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call edi
sub esp, 0x18
mov edx, eax
lea eax, [eax + eax]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x340], edx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [ebp - 0x340]
sub esp, 0xc
mov esi, eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x318]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call edi
mov ecx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x334]
sub esp, 0x18
mov dword [esp + 4], ecx
mov dword [esp], esi
call eax
sub esp, 8
mov edi, eax
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
test edi, edi
je 0x4329a5
mov eax, dword [ebp - 0x328]
test eax, eax
je 0x432a70
mov ecx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x328]
mov dword [esp + 0x14], 0
mov edi, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov dword [esp + 0x10], 0
mov dword [ebp - 0x344], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call edi
sub esp, 0x18
mov edx, eax
lea eax, [eax + eax]
mov esi, dword fs:[0x18]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x340], edx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [ebp - 0x340]
sub esp, 0xc
mov ebx, eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x328]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call edi
mov ecx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x334]
sub esp, 0x18
mov dword [esp + 4], ecx
mov dword [esp], ebx
call eax
sub esp, 8
mov edi, eax
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
xor eax, eax
sub esp, 0xc
test edi, edi
sete al
mov dword [esp], eax
call fcn.0045a690
test eax, eax
setne al
movzx eax, al
mov ebx, dword [ebp - 0x310]
mov esi, dword [ebp - 0x314]
mov dword [esp], eax
mov dword [esp + 4], str.Expected__s_but_got__s_on_uri_tests__d_.str_props__d_._n
mov dword [esp + 0x14], ebx
mov ebx, dword [ebp - 0x320]
mov dword [esp + 0x10], esi
mov esi, dword [ebp - 0x31c]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
call fcn.0045a820
call fcn.0045a9e0
call fcn.0045a9c0
test eax, eax
jne 0x4324b4
mov eax, dword [ebp - 0x300]
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
add dword [ebp - 0x310], 1
mov eax, dword [ebp - 0x310]
sub esp, 4
add dword [ebp - 0x338], 0x18
cmp eax, 0xf
jne 0x4323e0
jmp 0x432333
mov eax, 1
jmp 0x432928
movzx ebx, bx
mov dword [esp], 0x468e54
mov dword [esp + 4], ebx
call fcn.0042ee10
mov ebx, dword [ebp - 0x300]
mov dword [ebp - 0x320], eax
jmp 0x432637
mov dword [ebp - 0x320], 0x468e5a
jmp 0x432637
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x432a80
mov ecx, eax
mov byte [edx], 0x5c
shr cx, 0xc
movzx ecx, cx
movzx ecx, byte [ecx + str.0123456789abcdef]
mov byte [edx + 1], cl
mov ecx, eax
shr cx, 8
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdef]
mov byte [edx + 2], cl
mov ecx, eax
and eax, 0xf
shr cx, 4
movzx eax, byte [eax + str.0123456789abcdef]
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdef]
mov byte [edx + 4], al
mov byte [edx + 3], cl
lea ecx, [edx + 5]
jmp 0x4325a0
mov eax, 0x745c
lea ecx, [edx + 2]
mov word [edx], ax
jmp 0x4325a0
mov dword [ebp - 0x320], 0x468e61
mov ebx, dword [ebp - 0x300]
jmp 0x432637
xor eax, eax
jmp 0x432918
lea ecx, [edx + 1]
mov byte [edx], al
jmp 0x4325a0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret