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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
xor esi, esi
push ebx
mov ebx, eax
lea eax, [edx + 0x10]
add edx, 0xb8
sub esp, 0x5c
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xffffffff
lea esi, [esi]
nop
mov ecx, dword [eax]
test ecx, ecx
je 0x43aa5d
cmp dword [eax + 0xc], 6
cmove esi, eax
add eax, 0x18
cmp edx, eax
jne 0x43aa50
mov edi, dword [ebx]
test esi, esi
je 0x43acc0
mov eax, dword [esi + 8]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x43aca5
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strlen]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x28]
mov dword [esp], ebx
mov dword [esp + 8], eax
lea eax, [ebp - 0x24]
mov dword [esp + 4], eax
call dword [edi + 0x24]
mov ebx, eax
mov eax, dword [esi + 0x14]
sub esp, 0xc
test eax, eax
je 0x43aaca
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 esi, dword [ebp - 0x30]
jmp 0x43aae5
call fcn.0045a9e0
call fcn.0045a9c0
test eax, eax
je 0x43aed4
mov dword [esp + 4], 0x24ed
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
test esi, esi
mov ecx, dword [ebp - 0x2c]
sete al
mov dword [esp + 8], ebx
cmp eax, ebx
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 0x10], ecx
movzx eax, al
mov dword [esp + 4], str.Error:_IUriBuilder_GetHost_returned_0x_08x__expected_0x_08x_on_uri_builder_tests__d_._n
mov dword [esp], eax
call fcn.0045a820
test ebx, ebx
js 0x43aae0
mov dword [esp + 4], 0x24f1
xor edi, edi
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x28]
call fcn.0042ee60
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
test esi, esi
je 0x43abfc
mov edx, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [ebp - 0x3c], edx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call edx
mov ecx, eax
sub esp, 0x18
lea edi, [ecx + ecx]
mov dword [esp + 4], 0
mov dword [esp + 8], edi
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x38], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
sub esp, 0xc
mov edi, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call edx
sub esp, 0x18
mov eax, dword [ebp - 0x30]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
mov dword [ebp - 0x30], eax
mov dword [esp + 8], edi
mov eax, dword fs:[0x18]
mov dword [esp + 4], 0
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
sub esp, 0xc
mov edi, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
xor eax, eax
test edx, edx
sete al
mov dword [esp + 0x10], edi
mov dword [esp], eax
mov dword [esp + 8], esi
mov dword [esp + 4], str.Error:_Expected__s_but_got__s_on_uri_builder_tests__d_._n
call fcn.0045a820
mov dword [esp + 4], 0x24f3
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x40]
mov dword [esp + 0x10], edi
mov dword [esp + 4], str.Error:_Expected_the_length_to_be__d__but_was__d_instead_on_uri_builder_tests__d_._n
cmp eax, ecx
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
jmp 0x43aae0
mov eax, dword [esi + 4]
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x43aa7c
mov dword [ebp - 0x40], 0
jmp 0x43aa8b
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [edi + 0x18]
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x24fe
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 0x10], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.Error:_IUriBuilder_GetIUri_returned_0x_08x__expected_0x_08x_on_uri_builder_tests__d_._n
mov dword [esp], eax
call fcn.0045a820
test esi, esi
js 0x43aec2
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x43af8d
mov dword [ebp - 0x1c], 0
mov edx, dword [eax]
lea ecx, [ebp - 0x1c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x34]
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x2515
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, esi
mov edi, dword [ebp - 0x2c]
mov dword [esp + 8], esi
not eax
mov dword [esp + 4], str.Error:_Expected_IUri_GetHost_to_succeed__but_got_0x_08x_instead_on_uri_builder_tests__d_._n
shr eax, 0x1f
mov dword [esp + 0xc], edi
mov dword [esp], eax
call fcn.0045a820
mov eax, dword [ebx]
lea edx, [ebp - 0x28]
mov dword [esp], ebx
mov dword [esp + 8], edx
lea edx, [ebp - 0x24]
mov dword [esp + 4], edx
call dword [eax + 0x24]
sub esp, 0xc
mov ebx, eax
test esi, esi
jne 0x43aedc
mov dword [esp + 4], 0x251c
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
test ebx, ebx
mov dword [esp + 0x10], edi
sete al
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_IUriBuilder_GetHost_returned_0x_08x__expected_0x_08x_on_uri_builder_tests__d_._n
mov dword [esp], eax
mov dword [ebp - 0x2c], edi
call fcn.0045a820
test ebx, ebx
js 0x43aeb4
mov dword [esp + 4], 0x2520
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x28]
call fcn.0042ee60
mov edi, eax
mov eax, dword [ebp - 0x1c]
call fcn.0042ee60
mov ebx, eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpW]
mov edx, dword [ebp - 0x2c]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0x10], edx
movzx eax, al
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_Expected__s_but_got__s_instead_on_uri_builder_tests__d_._n
call fcn.0045a820
mov dword [esp + 4], 0x2523
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
cmp word [ecx], 0
je 0x43b070
mov esi, ecx
nop
add esi, 2
cmp word [esi], 0
jne 0x43ae70
sub esi, ecx
mov eax, ecx
sar esi, 1
nop
add eax, 2
cmp word [eax], 0
jne 0x43ae80
sub eax, ecx
sar eax, 1
cmp edx, eax
mov ebx, dword [ebp - 0x2c]
mov dword [esp + 0xc], edx
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 0x10], ebx
mov dword [esp + 4], str.Error:_Expected_the_length_to_be__d__but_was__d_instead_on_uri_builder_tests__d_._n
mov dword [esp], eax
call fcn.0045a820
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
sub esp, 4
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x43aed4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x2528
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
mov esi, dword [ebp - 0x2c]
cmp ebx, 1
sete al
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_IUriBuilder_GetHost_returned_0x_08x__expected_0x_08x_on_uri_builder_tests__d_._n
mov dword [esp], eax
call fcn.0045a820
test ebx, ebx
js 0x43aeb4
mov dword [esp + 4], 0x252c
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov edx, dword [ebp - 0x28]
xor eax, eax
mov dword [esp + 8], esi
mov dword [esp + 4], str.Error:_Expected_received_to_be_NULL_on_uri_builder_tests__d_._n
test edx, edx
sete al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x252d
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x24]
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.Error:_Expected_the_length_to_be_0__but_was__d_instead_on_uri_builder_tests__d_._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
jmp 0x43aeb4
mov eax, dword [ebx]
lea edx, [ebp - 0x28]
mov dword [esp], ebx
mov dword [esp + 8], edx
lea edx, [ebp - 0x24]
mov dword [esp + 4], edx
mov dword [ebp - 0x28], 0xdeadbeef
mov dword [ebp - 0x24], 0xffffffff
call dword [eax + 0x24]
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x2507
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
xor eax, eax
mov esi, dword [ebp - 0x2c]
cmp ebx, 1
sete al
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_IUriBuilder_GetHost_returned_0x_08x__expected_0x_08x_on_uri_builder_tests__d_._n
mov dword [esp], eax
call fcn.0045a820
test ebx, ebx
js 0x43aec2
mov dword [esp + 4], 0x250b
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x24]
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.Error:_Expected_len_to_be_0__but_was__d_instead_on_uri_builder_tests__d_._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x250d
mov dword [esp], str..._wine_dlls_urlmon_tests_uri.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x28]
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.Error:_Expected_received_to_be_NULL__but_was__p_instead_on_uri_builder_tests__d_._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
jmp 0x43aec2
xor eax, eax
jmp 0x43ae8d