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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x28]
push ebx
sub esp, 0x7c
mov dword [ebp - 0x28], 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], 0x2968
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, ebx
mov dword [esp + 8], ebx
not eax
mov dword [esp + 4], str.Error:_Expected_CreateUri_to_succeed__got_0x_08x._n
shr eax, 0x1f
mov dword [esp], eax
call fcn.0045a820
test ebx, ebx
js 0x437935
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0xdeadbeef
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [0x49cf3c]
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x296c
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:_CoInternetCombineIUri_returned_0x_08x__expected_0x_08x._n
call fcn.0045a820
mov dword [esp + 4], 0x296d
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], str.Error:_Expected_result_to_be_NULL__was__p._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 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], 0x2972
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, ebx
mov dword [esp + 8], ebx
not eax
mov dword [esp + 4], str.Error:_Expected_CreateUri_to_succeed__got_0x_08x._n
shr eax, 0x1f
mov dword [esp], eax
call fcn.0045a820
test ebx, ebx
js 0x437a41
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0xdeadbeef
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [0x49cf3c]
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x2976
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:_CoInternetCombineIUri_returned_0x_08x__expected_0x_08x._n
call fcn.0045a820
mov dword [esp + 4], 0x2977
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], str.Error:_Expected_result_to_be_NULL__was__p._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 8], 0
mov dword [esp], eax
call dword [0x49cf3c]
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x297b
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:_CoInternetCombineIUri_returned_0x_08x__expected_0x_08x._n
call fcn.0045a820
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x437abe
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x437ad0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov dword [ebp - 0x40], str..._not_fun_stuff
xor edx, edx
mov ebx, str.http:__google.com_fun_stuff
mov dword [ebp - 0x2c], 0
jmp 0x437b49
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x437b02
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov ebx, dword [ebp - 0x50]
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 - 0x2c], 1
mov esi, dword [ebp - 0x2c]
add dword [ebp - 0x40], 0x188
sub esp, 0xc
mov eax, dword [ebp - 0x40]
cmp esi, 0x2c
je 0x438391
mov ebx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [ebp - 0x50], 0
test ebx, ebx
je 0x437be8
mov dword [ebp - 0x30], edx
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 ecx, [edi + edi]
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
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 - 0x50], 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
mov edx, dword [ebp - 0x30]
sub esp, 0x18
lea eax, [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 8], 0
mov dword [esp], eax
call dword [0x49cf48]
sub esp, 0x10
mov ebx, eax
mov dword [esp + 4], 0x2984
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_Expected_CreateUri_to_succeed__got_0x_08x_on_uri_combine_tests__d_._n
mov dword [esp + 0xc], eax
mov eax, ebx
not eax
shr eax, 0x1f
mov dword [esp], eax
call fcn.0045a820
test ebx, ebx
js 0x437af0
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x5c], 0
mov ebx, dword [eax]
test ebx, ebx
je 0x437ce8
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 - 0x5c], 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 - 0x24]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call dword [0x49cf48]
sub esp, 0x10
mov ebx, eax
mov dword [esp + 4], 0x2989
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_Expected_CreateUri_to_succeed__got_0x_08x_on_uri_combine_tests__d_._n
mov dword [esp + 0xc], eax
mov eax, ebx
not eax
shr eax, 0x1f
mov dword [esp], eax
call fcn.0045a820
test ebx, ebx
jns 0x437d90
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x437d5e
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov ebx, dword [ebp - 0x5c]
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]
sub esp, 0xc
jmp 0x437af0
mov esi, dword [ebp - 0x40]
lea eax, [ebp - 0x20]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x20], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call dword [0x49cf3c]
mov ebx, eax
mov eax, dword [esi + 0x10]
sub esp, 0x14
test eax, eax
je 0x437dee
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 [esp], eax
call fcn.0045a990
mov edi, dword [ebp - 0x40]
jmp 0x437e66
mov dword [esp + 4], 0x298f
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov esi, dword [edi + 0xc]
mov eax, 1
cmp esi, ebx
je 0x437e42
test ebx, ebx
sete cl
xor eax, eax
cmp esi, 0x80070057
sete al
and eax, ecx
mov dword [esp], eax
call fcn.0045a690
test eax, eax
setne al
movzx eax, al
mov edx, dword [ebp - 0x2c]
mov dword [esp], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_CoInternetCombineIUri_returned_0x_08x__expected_0x_08x_on_uri_combine_tests__d_._n
call fcn.0045a820
call fcn.0045a9e0
call fcn.0045a9c0
test eax, eax
jne 0x437e00
test ebx, ebx
js 0x437e7d
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jns 0x437e98
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x437d4c
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x437d4c
imul eax, dword [ebp - 0x2c], 0x188
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x64], eax
add eax, 0x46f07c
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov edi, dword [ebp - 0x34]
lea esi, [ebp - 0x1c]
mov ebx, dword [eax]
mov dword [ebp - 0x30], ebx
mov ebx, dword [eax + 4]
mov dword [ebp - 0x48], ebx
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x10
mov dword [ebp - 0x4c], eax
test ebx, ebx
je 0x437f11
mov esi, dword [str.windows]
mov edi, 0x4692e4
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
xor ebx, ebx
test al, al
sete bl
mov dword [esp], ebx
call fcn.0045a990
jmp 0x43818b
mov dword [esp + 4], 0x299c
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x4c]
mov dword [esp + 4], str.Error:_IUri_GetPropertyBSTR_returned_0x_08x__expected_0x_08x_on_uri_combine_tests__d_.str_props__d_._n
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x48]
cmp eax, ecx
mov dword [esp + 0xc], eax
sete al
xor edi, edi
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x299f
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x1c]
call fcn.0042ee60
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x438025
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 dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov ebx, eax
sub esp, 0x18
lea edx, [ebx + ebx]
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 edi, eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x14], ebx
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
mov dword [esp + 4], esi
mov esi, dword [sym.imp.kernel32.dll_lstrcmpW]
mov dword [esp], edi
call esi
sub esp, 8
mov dword [ebp - 0x3c], eax
mov dword [esp + 8], edi
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]
mov edx, dword [ebp - 0x3c]
mov eax, 1
sub esp, 0xc
test edx, edx
je 0x43815a
mov edi, dword [ebp - 0x44]
xor eax, eax
test edi, edi
je 0x43814a
mov edx, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 0x14], 0
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x3c], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call edx
sub esp, 0x18
mov ecx, eax
lea eax, [eax + eax]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x54], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x58]
sub esp, 0xc
mov edi, eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x44]
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 edx
mov eax, dword [ebp - 0x3c]
sub esp, 0x18
mov dword [esp + 4], eax
mov dword [esp], edi
call esi
sub esp, 8
mov esi, eax
mov dword [esp + 8], edi
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]
xor eax, eax
sub esp, 0xc
test esi, esi
sete al
mov dword [esp], eax
call fcn.0045a690
test eax, eax
setne al
movzx eax, al
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov dword [esp], eax
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x2c]
mov dword [esp + 4], str.Error:_Expected___s__but_got__s_instead_on_uri_combine_tests__d_.str_props__d_._n
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
call fcn.0045a820
call fcn.0045a9e0
call fcn.0045a9c0
test eax, eax
jne 0x437f20
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
sub esp, 4
add dword [ebp - 0x60], 0x14
cmp eax, 0xf
jne 0x437eb1
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x38], 0
add eax, 0x46f060
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov ebx, dword [eax + 0x148]
mov esi, dword [eax + 0x150]
mov dword [ebp - 0x34], ebx
mov ebx, dword [eax + 0x14c]
mov eax, dword [eax + 0x154]
mov dword [ebp - 0x44], ebx
lea ebx, [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov ebx, dword [ebp - 0x38]
mov dword [esp + 0xc], 0
mov dword [esp], eax
lea ecx, [ebx + 0xf]
mov dword [esp + 4], ecx
call dword [edx + 0x14]
sub esp, 0x10
mov ebx, eax
test esi, esi
je 0x43823e
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
call fcn.0045a990
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x38]
jmp 0x4382ee
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x438261
cmp ebx, 1
je 0x438340
mov dword [esp], 0
call fcn.0045a690
test eax, eax
setne al
movzx eax, al
mov edx, dword [ebp - 0x2c]
mov dword [esp], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_IUri_GetPropertyDWORD_returned_0x_08x__expected_0x_08x_on_uri_combine_tests__d_.dword_props__d_._n
call fcn.0045a820
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4382a4
cmp ebx, 1
je 0x4382e9
mov dword [esp + 4], 0x29b1
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
mov dword [esp + 0x14], edi
mov edx, dword [ebp - 0x2c]
mov dword [esp + 4], str.Error:_Expected__d__but_got__d_instead_on_uri_combine_tests__d_.dword_props__d_._n
cmp eax, ecx
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 0x10], edx
movzx eax, al
mov dword [esp + 8], ecx
mov dword [esp], eax
call fcn.0045a820
call fcn.0045a9e0
call fcn.0045a9c0
test eax, eax
je 0x438320
mov dword [esp + 4], 0x29ad
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
cmp esi, ebx
jne 0x438251
mov eax, 1
jmp 0x438275
add dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x3c], 0x10
cmp eax, 4
jne 0x4381cc
jmp 0x437e7d
mov dword [esp], 1
call fcn.0045a690
mov dword [esp + 0x14], edi
test eax, eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 1
mov dword [esp + 0x10], eax
mov dword [esp + 4], str.Error:_IUri_GetPropertyDWORD_returned_0x_08x__expected_0x_08x_on_uri_combine_tests__d_.dword_props__d_._n
jne 0x438380
mov dword [esp], 0
call fcn.0045a820
jmp 0x4382e9
mov dword [esp], 1
call fcn.0045a820
jmp 0x4382e9
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret