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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x1d8]
push ebx
sub esp, 0x21c
mov dword [ebp - 0x1d8], 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], 0x20c1
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 0x431802
mov eax, dword [ebp - 0x1d8]
lea esi, [ebp - 0x1d0]
mov dword [ebp - 0x1d0], 0xdeadbeef
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 0x10
mov ebx, eax
mov dword [esp + 4], 0x20c6
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 0x80070057
mov dword [esp + 8], ebx
sete al
mov dword [esp + 0xc], 0x80070057
mov dword [esp], eax
mov dword [esp + 4], str.Error:_GetPropertyLength_returned_0x_08x__expected_0x_08x._n
call fcn.0045a820
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], 0xf
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 0x10
mov ebx, eax
mov dword [esp + 4], 0x20c9
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 0x80070057
mov dword [esp + 0xc], 0x80070057
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Error:_GetPropertyLength_return_0x_08x__expected_0x_08x._n
call fcn.0045a820
mov dword [esp + 4], 0x20ca
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x1d0]
mov dword [esp + 4], str.Error:_Expected_0xdeadbeef_but_got_0x_08x._n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov eax, dword [ebp - 0x1d8]
test eax, eax
je 0x431817
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
mov ebx, str.http:__www.winehq.org_tests_.._tests_.._..
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1e4], 0
nop
mov ecx, 0x6e
lea edi, [ebp - 0x1d0]
mov esi, dword [ebp - 0x204]
mov dword [ebp - 0x1d8], 0
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x208], 0
test ebx, ebx
je 0x43190c
mov esi, 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], ebx
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call esi
mov edi, eax
sub esp, 0x18
lea edx, [edi + edi]
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov dword [ebp - 0x208], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call esi
sub esp, 0x18
lea eax, [ebp - 0x1d8]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1e0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x208]
mov dword [esp], eax
call dword [0x49cf48]
mov ecx, dword [ebp - 0x1dc]
sub esp, 0x10
mov ebx, eax
test ecx, ecx
je 0x43196b
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 dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1dc]
mov dword [esp], eax
call fcn.0045a990
mov edi, dword [ebp - 0x1e4]
mov esi, dword [ebp - 0x1e8]
jmp 0x4319cc
mov dword [esp + 4], 0x20d6
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, esi
mov dword [esp + 0x10], edi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_CreateUri_returned_0x_08x__expected_0x_08x_on_uri_test__d_._n
call fcn.0045a820
call fcn.0045a9e0
call fcn.0045a9c0
test eax, eax
jne 0x431990
test ebx, ebx
jns 0x431a74
mov eax, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x1d8]
test eax, eax
je 0x4319fd
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov esi, dword [ebp - 0x208]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 8], esi
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x200]
call eax
add dword [ebp - 0x1e4], 1
mov esi, dword [ebp - 0x1e4]
add dword [ebp - 0x204], 0x1b8
sub esp, 0xc
mov eax, dword [ebp - 0x204]
cmp esi, 0xc1
je 0x431de5
mov esi, dword [eax + 4]
mov ebx, dword [eax]
mov dword [ebp - 0x1e0], esi
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1e8], esi
mov dword [ebp - 0x1dc], eax
jmp 0x431850
mov dword [ebp - 0x1dc], 0
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0x1f8], eax
lea esi, [esi]
mov eax, dword [ebp - 0x1f8]
mov esi, dword [eax]
test esi, esi
je 0x45b81c
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x10]
mov edi, dword [eax + 8]
mov dword [ebp - 0x1e0], ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x1e8], edx
mov dword [ebp - 0x1f0], ecx
mov dword [ebp - 0x1f4], eax
mov eax, 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], esi
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
mov dword [ebp - 0x1ec], eax
call eax
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 - 0x1fc], edx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [ebp - 0x1fc]
sub esp, 0xc
mov ebx, eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x1ec]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call eax
sub esp, 0x18
cmp word [ebx], 0
je 0x431dd6
mov eax, ebx
add eax, 2
cmp word [eax], 0
jne 0x431b73
sub eax, ebx
sar eax, 1
mov dword [ebp - 0x1fc], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [ebp - 0x200], eax
call eax
mov eax, dword [ebp - 0x1d8]
lea ecx, [ebp - 0x1d4]
mov dword [ebp - 0x1d4], 0xffffffff
sub esp, 0xc
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x1dc]
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x10]
sub esp, 0x10
mov ebx, eax
test edi, edi
je 0x431c0f
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 edi, eax
mov dword [esp], edi
call fcn.0045a990
xor eax, eax
cmp ebx, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0x1fc]
sete al
mov edi, eax
mov dword [ebp - 0x1ec], edi
jmp 0x431cb1
mov eax, dword [ebp - 0x1e8]
test eax, eax
je 0x431c54
mov eax, dword [ebp - 0x1e8]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strlen]
mov ecx, 1
cmp eax, edi
je 0x431c80
mov edx, dword [ebp - 0x1f0]
xor eax, eax
test edx, edx
je 0x431c71
mov dword [esp], edx
call dword [sym.imp.msvcrt.dll_strlen]
cmp eax, edi
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a690
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [ebp - 0x1dc]
mov dword [esp], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x1e4]
mov dword [esp + 8], esi
mov dword [esp + 0x10], eax
mov dword [esp + 4], str.Error:_Expected_a_length_of__d_but_got__d_on_uri_tests__d_.str_props__d_._n
call fcn.0045a820
call fcn.0045a9e0
call fcn.0045a9c0
test eax, eax
je 0x431db4
mov dword [esp + 4], 0x20ec
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
cmp ebx, dword [ebp - 0x1e0]
je 0x431cec
mov edx, dword [ebp - 0x1e8]
test edx, edx
je 0x431cec
cmp dword [ebp - 0x1f4], ebx
je 0x431d52
mov eax, dword [ebp - 0x1dc]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_GetPropertyLength_returned_0x_08x__expected_0x_08x_on_uri_tests__d_.str_props__d_._n
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x1e4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x1e0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1ec]
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x20ef
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov edi, dword [ebp - 0x1d4]
cmp edi, esi
jne 0x431c32
mov edi, esi
mov ecx, 1
jmp 0x431c80
mov eax, dword [ebp - 0x1dc]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_GetPropertyLength_returned_0x_08x__expected_0x_08x_on_uri_tests__d_.str_props__d_._n
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x1e4]
mov dword [esp], 1
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x1e0]
mov dword [esp + 0xc], eax
call fcn.0045a820
mov dword [esp + 4], 0x20ef
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov edi, dword [ebp - 0x1d4]
mov ecx, 1
cmp esi, edi
jne 0x431c3c
jmp 0x431c80
add dword [ebp - 0x1dc], 1
mov eax, dword [ebp - 0x1dc]
add dword [ebp - 0x1f8], 0x18
cmp eax, 0xf
jne 0x431a90
jmp 0x4319e8
mov dword [ebp - 0x1fc], 0
jmp 0x431b86
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, word [pe_dos_header]
ud2