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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x24]
push ebx
sub esp, 0x7c
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], 0x2a8a
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:_CreateUri_returned_0x_08x._n
shr eax, 0x1f
mov dword [esp], eax
call fcn.0045a820
test ebx, ebx
js 0x438b35
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], 0
mov dword [esp], eax
call dword [0x49cf34]
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x2a8e
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 0x8000ffff
mov dword [esp + 0xc], 0x8000ffff
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Error:_CoInternetCombineUrlEx_returned_0x_08x__expected_0x_08x._n
call fcn.0045a820
mov dword [esp + 4], 0x2a90
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_instead._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0xdeadbeef
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], str.http:__www.winehq.org_
mov dword [esp], 0
call dword [0x49cf34]
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x2a95
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:_CoInternetCombineUrlEx_returned_0x_08x__expected_0x_08x._n
call fcn.0045a820
mov dword [esp + 4], 0x2a97
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__but_was__p_instead._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0xdeadbeef
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x49cf34]
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x2a9b
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 0x8000ffff
mov dword [esp + 8], ebx
sete al
mov dword [esp + 0xc], 0x8000ffff
mov dword [esp], eax
mov dword [esp + 4], str.Error:_CoInternetCombineUrlEx_returned_0x_08x__expected_0x_08x._n
call fcn.0045a820
mov dword [esp + 4], 0x2a9d
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__but_was__p_instead._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 + 8], 0
mov dword [esp + 4], str.http:__www.winehq.org_
mov dword [esp], eax
call dword [0x49cf34]
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x2aa0
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 0x80004003
mov dword [esp + 0xc], 0x80004003
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Error:_CoInternetCombineUrlEx_returned_0x_08x__expected_0x_08x._n
call fcn.0045a820
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x438cff
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov dword [ebp - 0x4c], str..._not_fun_stuff
xor edx, edx
mov ebx, str.http:__google.com_fun_stuff
mov dword [ebp - 0x30], 0
jmp 0x438d79
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x438d32
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 - 0x30], 1
mov ecx, dword [ebp - 0x30]
add dword [ebp - 0x4c], 0x188
sub esp, 0xc
mov eax, dword [ebp - 0x4c]
cmp ecx, 0x2c
je 0x439541
mov ebx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [ebp - 0x50], 0
test ebx, ebx
je 0x438e18
mov dword [ebp - 0x2c], 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 - 0x2c]
sub esp, 0x18
lea eax, [ebp - 0x24]
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], 0x2aa8
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_CreateUri_returned_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 0x438d20
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x60], 0
mov ebx, dword [eax]
test ebx, ebx
je 0x438f18
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 - 0x60], 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
mov esi, dword [ebp - 0x4c]
lea eax, [ebp - 0x20]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov eax, dword [esi + 8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call dword [0x49cf34]
mov ebx, eax
mov eax, dword [esi + 0x10]
sub esp, 0x14
test eax, eax
je 0x438f6f
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 - 0x4c]
jmp 0x438fe6
mov dword [esp + 4], 0x2aaf
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 0x438fc2
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 - 0x30]
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:_CoInternetCombineUrlEx_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 0x438f80
test ebx, ebx
js 0x438ffd
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jns 0x43903b
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x43900f
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov ebx, dword [ebp - 0x60]
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 0x438d20
imul eax, dword [ebp - 0x30], 0x188
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x64], eax
add eax, 0x46f07c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x34]
mov esi, dword [eax + 0xc]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x40], esi
mov esi, dword [eax + 0x10]
mov dword [ebp - 0x44], ebx
mov ebx, dword [eax + 8]
test esi, esi
cmove esi, dword [eax]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov dword [ebp - 0x2c], esi
lea esi, [ebp - 0x1c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x10
mov dword [ebp - 0x48], eax
test ebx, ebx
je 0x4390ba
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 0x43933b
mov dword [esp + 4], 0x2abd
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x48]
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 - 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x44]
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], 0x2ac0
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 - 0x2c]
test eax, eax
je 0x4391d5
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 - 0x2c]
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 0x43930a
mov edi, dword [ebp - 0x40]
xor eax, eax
test edi, edi
je 0x4392fa
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 - 0x40]
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 edi, dword [ebp - 0x34]
mov dword [esp], eax
mov esi, dword [ebp - 0x30]
mov ebx, 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 + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 8], ebx
call fcn.0045a820
call fcn.0045a9e0
call fcn.0045a9c0
test eax, eax
jne 0x4390d0
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 - 0x5c], 0x14
cmp eax, 0xf
jne 0x439054
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 - 0x40], ebx
lea ebx, [ebp - 0x1c]
mov dword [ebp - 0x2c], 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 0x4393ee
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 - 0x40]
mov edi, dword [ebp - 0x38]
jmp 0x43949e
mov edx, dword [ebp - 0x2c]
test edx, edx
je 0x439411
cmp ebx, 1
je 0x4394f0
mov dword [esp], 0
call fcn.0045a690
test eax, eax
setne al
movzx eax, al
mov ecx, dword [ebp - 0x30]
mov dword [esp], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ecx
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 - 0x2c]
test eax, eax
je 0x439454
cmp ebx, 1
je 0x439499
mov dword [esp + 4], 0x2ad2
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
mov dword [esp + 0x14], edi
mov ecx, dword [ebp - 0x30]
mov dword [esp + 4], str.Error:_Expected__d__but_got__d_instead_on_uri_combine_tests__d_.dword_props__d_._n
cmp eax, edx
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 0x10], ecx
movzx eax, al
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0045a820
call fcn.0045a9e0
call fcn.0045a9c0
test eax, eax
je 0x4394d0
mov dword [esp + 4], 0x2ace
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
cmp esi, ebx
jne 0x439401
mov eax, 1
jmp 0x439425
add dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x3c], 0x10
cmp eax, 4
jne 0x43937c
jmp 0x438ffd
mov dword [esp], 1
call fcn.0045a690
mov dword [esp + 0x14], edi
test eax, eax
mov eax, dword [ebp - 0x30]
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 0x439530
mov dword [esp], 0
call fcn.0045a820
jmp 0x439499
mov dword [esp], 1
call fcn.0045a820
jmp 0x439499
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret