Function at 0x703b52d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0xcc
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], ecx
test edx, edx
je 0x703b61d1
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x703b5340
mov eax, dword [eax + 8]
test eax, eax
je 0x703b60c4
mov edx, dword [ebx + 0xc]
test edx, edx
jne 0x703b60c4
test byte [esp + 0xe0], 1
je 0x703b5355
mov ecx, dword [esp + 0x34]
xor edi, edi
mov edx, dword [eax]
mov dword [ecx], eax
mov dword [esp], eax
call dword [edx + 4]
sub esp, 4
add esp, 0xcc
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [esp + 0xe0], 1
je 0x703b5355
mov eax, dword [eax + 8]
test eax, eax
jne 0x703b54c8
mov eax, dword [esp + 0x3c]
mov edx, eax
not edx
and edx, 0xc0
je 0x703b54a8
mov edx, eax
not edx
and edx, 0x110
je 0x703b54a8
mov edx, eax
not edx
and dh, 6
je 0x703b54a8
mov edx, eax
not edx
test dh, 0x18
je 0x703b54a8
test dh, 0x60
je 0x703b54a8
lea eax, [esp + 0x3c]
call fcn.703a8f70
mov eax, dword [ebx + 8]
test eax, eax
je 0x703b5948
mov esi, dword [esp + 0x3c]
mov edi, dword [ebx + 0xc]
mov dword [esp + 0x30], esi
test edi, edi
je 0x703b5850
lea esi, [esp + 0x44]
mov ecx, 0x1f
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
test byte [0x703d8490], 8
jne 0x703b5860
mov edi, dword [ebx + 0x40]
test edi, edi
je 0x703b589f
mov ebp, dword [ebx + 0x44]
mov dword [esp + 0x40], edi
mov ecx, dword [esp + 0x30]
mov dword [esp], 1
lea eax, [esp + 0x40]
mov edx, esi
call fcn.703b1b40
test eax, eax
je 0x703b5e98
cmp dword [esp + 0x64], ebp
jne 0x703b5e98
mov edi, dword [esp + 0x60]
test edi, edi
je 0x703b542e
test byte [0x703d8490], 8
jne 0x703b58d0
cmp dword [esp + 0x68], 9
jne 0x703b5740
mov ecx, dword [ebx + 0x20]
test ecx, ecx
jne 0x703b5ec8
mov eax, dword [ebx + 8]
test eax, eax
je 0x703b54e8
mov edx, dword [eax + 0x40]
test edx, edx
jns 0x703b5ec8
mov edi, dword [ebx + 0x48]
test edi, edi
jne 0x703b5ec8
mov ebp, dword [eax + 0x38]
test ebp, ebp
jns 0x703b5ec8
mov ecx, dword [ebx + 0xc]
test ch, 0x40
jne 0x703b54f6
mov edx, dword [eax + 0x38]
test edx, edx
js 0x703b54f6
mov ebp, dword [eax + 0x40]
test ebp, ebp
je 0x703b578b
mov ecx, dword [eax + 0x18]
lea edx, [ecx + edx*2]
mov dword [esp + 0x6c], edx
jns 0x703b5499
mov ebp, dword [eax + 0x3c]
mov dword [esp + 0x70], ebp
jmp 0x703b578b
mov eax, dword [esp + 0x34]
mov edi, 0x80070057
mov dword [eax], 0
add esp, 0xcc
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [eax + 0x28]
mov ebp, dword [ebx + 0xc]
mov dword [esp + 0x30], esi
mov dword [esp + 0x3c], esi
test ebp, ebp
jne 0x703b53c3
jmp 0x703b5317
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x703b5ec8
mov ecx, dword [ebx + 0xc]
and ecx, 0x80
jne 0x703b5528
mov eax, dword [ebx + 8]
test eax, eax
je 0x703b5528
mov edx, dword [eax + 0x40]
test edx, edx
js 0x703b5528
mov edi, dword [eax + 0x38]
mov ecx, dword [eax + 0x18]
add edi, edx
not edx
add edx, dword [eax + 0x3c]
lea ecx, [ecx + edi*2 + 2]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
lea esi, [esi]
mov edi, dword [ebx + 0x18]
test edi, edi
je 0x703b59c0
mov ebp, dword [ebx + 0x1c]
mov dword [esp + 0x40], edi
lea eax, [esp + 0x40]
mov ecx, 0x38
mov edx, esi
call fcn.703b07f0
test eax, eax
movzx eax, byte [0x703d8490]
je 0x703b60d8
mov edx, eax
and edx, 8
cmp dword [esp + 0x80], ebp
jne 0x703b60d8
test dl, dl
jne 0x703b5b70
mov eax, dword [ebx + 0xc]
test eax, 0x10000
je 0x703b5970
mov ecx, dword [ebx + 0x30]
test ecx, ecx
je 0x703b5982
mov dword [esp + 0x98], 1
mov eax, dword [ebx + 0x34]
mov dword [esp + 0xa4], eax
test byte [0x703d8490], 8
jne 0x703b5df8
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x703b599d
mov edi, dword [esp + 0x6c]
test edi, edi
je 0x703b5e40
mov edi, dword [ebx + 0x28]
mov dword [esp + 0x4c], eax
test edi, edi
je 0x703b5b20
mov ecx, dword [ebx + 0x2c]
mov dword [esp + 0x40], edi
mov ebp, 1
mov dword [esp + 0x38], ecx
test eax, eax
mov ecx, dword [esp + 0x30]
mov edx, esi
lea eax, [esp + 0x40]
je 0x703b5a88
call fcn.703ad0a0
test eax, eax
je 0x703b61db
test ebp, ebp
je 0x703b5619
mov eax, dword [esp + 0x38]
cmp dword [esp + 0xac], eax
jne 0x703b61db
test byte [0x703d8490], 8
jne 0x703b5a98
mov edi, dword [ebx + 0x38]
test edi, edi
je 0x703b5db8
mov ebp, dword [ebx + 0x3c]
mov dword [esp + 0x40], edi
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x40]
mov edx, esi
call fcn.703ae230
test eax, eax
movzx eax, byte [0x703d8490]
je 0x703b629c
mov edx, eax
and edx, 8
cmp dword [esp + 0xb4], ebp
jne 0x703b629c
test dl, dl
jne 0x703b5cb0
mov edi, dword [ebx + 0x10]
test edi, edi
je 0x703b5c38
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x40], edi
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x40]
mov edx, esi
call fcn.703adf20
test eax, eax
movzx eax, byte [0x703d8490]
je 0x703b62fe
mov edx, eax
and edx, 8
cmp dword [esp + 0xbc], ebp
jne 0x703b62fe
test dl, dl
jne 0x703b5f30
lea eax, [esp + 0x40]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.703b5200
test eax, eax
mov edi, eax
js 0x703b5d9a
mov ebx, dword [esp + 0x40]
xor edx, edx
xor ecx, ecx
mov eax, esi
call fcn.703ae3e0
mov dword [esp], 0
mov dword [esp + 4], eax
call dword [sym.imp.oleaut32.dll_SysAllocStringLen]
sub esp, 8
mov edx, eax
mov dword [ebx + 0x14], eax
test eax, eax
je 0x703b63b4
xor ecx, ecx
mov eax, esi
call fcn.703ae3e0
mov ecx, dword [esp + 0x30]
mov edx, ebx
mov eax, esi
call fcn.703b4540
test eax, eax
mov edi, eax
js 0x703b5d80
mov eax, dword [esp + 0x30]
xor edi, edi
mov ecx, dword [esp + 0x34]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x40]
mov dword [ecx], eax
jmp 0x703b532a
mov edi, dword [ebx + 0x48]
test edi, edi
je 0x703b63be
mov edx, esi
mov ecx, 2
mov ebp, dword [ebx + 0x4c]
mov dword [esp + 0x40], edi
lea eax, [esp + 0x40]
call fcn.703ab030
mov edx, eax
movzx eax, byte [0x703d8490]
and eax, 8
test edx, edx
je 0x703b5fd8
cmp ebp, dword [esp + 0x70]
jne 0x703b5fd8
test al, al
jne 0x703b5a00
mov edi, dword [ebx + 0x20]
test edi, edi
je 0x703b54f3
mov edx, esi
mov ecx, 4
mov ebp, dword [ebx + 0x24]
mov dword [esp + 0x40], edi
lea eax, [esp + 0x40]
call fcn.703aaf80
mov edx, eax
movzx eax, byte [0x703d8490]
and eax, 8
test edx, edx
je 0x703b6146
cmp ebp, dword [esp + 0x78]
jne 0x703b6146
test al, al
je 0x703b5528
mov edi, dword [esp + 0x74]
test edi, edi
je 0x703b5fb8
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x703b5d50
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x703e26c7
test edx, edx
jne 0x703b580d
mov edx, ebp
mov eax, edi
call fcn.703a9560
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], str.__p__p__lx_:_Found_valid_password_component__s_len_ld._n
mov dword [esp + 8], str.validate_password
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b5528
cmp dword [eax + 0x28], esi
jne 0x703b53c3
jmp 0x703b5317
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.__p__p__lx_:_Beginning_to_validate_builder_components._n
mov dword [esp + 8], str.validate_components
mov dword [esp + 0x18], eax
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
mov edi, dword [ebx + 0x40]
test edi, edi
jne 0x703b53ea
mov eax, dword [ebx + 8]
test eax, eax
je 0x703b5958
mov edx, dword [eax + 0x2c]
test edx, edx
js 0x703b5958
mov ecx, dword [eax + 0x18]
mov ebp, dword [eax + 0x30]
lea edi, [ecx + edx*2]
mov dword [esp + 0x40], edi
jmp 0x703b53f1
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x703b5c00
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x703e26c7
test edx, edx
jne 0x703b5901
mov edx, ebp
mov eax, edi
call fcn.703a9560
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], str.__p__p__lx_:_Found_valid_scheme_component__s_len_ld._n
mov dword [esp + 8], str.validate_scheme_name
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b542e
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
jmp 0x703b53c3
mov dword [esp + 0x40], 0x703e3716
mov edi, 0x703e3716
xor ebp, ebp
jmp 0x703b53f1
mov eax, dword [ebx + 8]
test eax, eax
je 0x703b5982
mov edx, dword [eax + 0x58]
test edx, edx
jne 0x703b5c18
mov ebp, dword [esp + 0x98]
test ebp, ebp
jne 0x703b55a1
mov eax, dword [esp + 0x48]
test eax, eax
je 0x703b55ba
mov edi, dword [esp + 0x7c]
xor eax, eax
test edi, edi
jne 0x703b55c6
mov ecx, dword [esp + 0x98]
xor eax, eax
test ecx, ecx
sete al
jmp 0x703b55c6
mov eax, dword [ebx + 0xc]
test al, 0x40
jne 0x703b5576
mov edx, dword [ebx + 8]
test edx, edx
je 0x703b5576
mov edi, dword [edx + 0x44]
test edi, edi
js 0x703b5576
mov ecx, dword [edx + 0x18]
mov ebp, dword [edx + 0x48]
lea edi, [ecx + edi*2]
mov dword [esp + 0x40], edi
test edi, edi
je 0x703b5576
jmp 0x703b553a
mov edi, dword [esp + 0x6c]
test edi, edi
je 0x703b5f10
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x703b5e80
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x703e26c7
test edx, edx
jne 0x703b5a3d
mov edx, ebp
mov eax, edi
call fcn.703a9560
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], str.__p__p__lx_:_Found_valid_username_component__s_len_ld._n
mov dword [esp + 8], str.validate_username
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
mov edi, dword [ebx + 0x20]
jmp 0x703b578b
call fcn.703ad900
jmp 0x703b55fc
mov edi, dword [esp + 0xa8]
mov ebp, dword [esp + 0xac]
test edi, edi
je 0x703b5f20
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x703b5d38
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x703e26c7
test edx, edx
jne 0x703b5adf
mov edx, ebp
mov eax, edi
call fcn.703a9560
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], str.__p__p__lx_:_Valid_path_component__s_len_ld._n
mov dword [esp + 8], str.validate_path
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b5626
test byte [ebx + 0xd], 1
jne 0x703b5b50
mov edx, dword [ebx + 8]
test edx, edx
je 0x703b5b50
mov ecx, dword [edx + 0x68]
test ecx, ecx
js 0x703b5b50
mov edi, dword [edx + 0x18]
mov ebp, 1
lea edi, [edi + ecx*2]
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ecx
jmp 0x703b55e5
mov dword [esp + 0x40], 0x703e3716
mov edi, 0x703e3716
xor ebp, ebp
mov dword [esp + 0x38], 0xffffffff
jmp 0x703b55e5
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x84]
test ecx, ecx
je 0x703b5fc8
mov eax, ecx
shr eax, 0x10
test eax, eax
je 0x703b5d68
mov dword [esp + 4], ebp
mov dword [esp], ecx
mov dword [esp + 0x38], ecx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x703e26c7
test edx, edx
jne 0x703b5bba
mov eax, dword [esp + 0x38]
mov edx, ebp
call fcn.703a9560
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.__p__p_:_Found_valid_host_name__s_len_ld_type_d._n
mov dword [esp + 8], str.validate_host
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
mov eax, dword [ebx + 0xc]
jmp 0x703b5576
mov dword [esp + 4], edi
mov dword [esp], 0x703e26d1
call fcn.703a9200
jmp 0x703b5901
mov dword [esp + 0x98], 1
mov eax, dword [eax + 0x54]
mov dword [esp + 0xa4], eax
jmp 0x703b55a1
test byte [ebx + 0xc], 0x20
jne 0x703b5c64
mov eax, dword [ebx + 8]
test eax, eax
je 0x703b5c64
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x703b5c64
mov edx, dword [eax + 0x18]
mov ebp, dword [eax + 0x80]
lea edi, [edx + ecx*2]
mov dword [esp + 0x40], edi
test edi, edi
jne 0x703b5682
test byte [0x703d8490], 8
je 0x703b56ba
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.__p__p__lx_:_Finished_validating_builder_components._n
mov dword [esp + 8], str.validate_components
mov dword [esp + 0x18], eax
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b56ba
mov edi, dword [esp + 0xb0]
test edi, edi
je 0x703b625e
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x703b61bc
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x703e26c7
test edx, edx
jne 0x703b5cf0
mov edx, ebp
mov eax, edi
call fcn.703a9560
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], str.__p__p__lx_:_Valid_query_component__s_len_ld._n
mov dword [esp + 8], str.validate_query
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b5670
mov dword [esp + 4], edi
mov dword [esp], 0x703e26d1
call fcn.703a9200
jmp 0x703b5adf
mov dword [esp + 4], edi
mov dword [esp], 0x703e26d1
call fcn.703a9200
jmp 0x703b580d
mov dword [esp + 4], ecx
mov dword [esp], 0x703e26d1
call fcn.703a9200
jmp 0x703b5bba
cmp eax, 0x80070057
je 0x703b62f4
mov eax, dword [esp + 0x40]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [esp + 0x34]
mov dword [eax], 0
add esp, 0xcc
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [ebx + 0xd], 4
jne 0x703b5670
mov eax, dword [ebx + 8]
test eax, eax
je 0x703b5670
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x703b5670
mov edx, dword [eax + 0x18]
mov ebp, dword [eax + 0x78]
lea edi, [edx + ecx*2]
mov dword [esp + 0x40], edi
test edi, edi
je 0x703b5670
jmp 0x703b5638
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.__p__p__lx_:_Using__lu_as_port_for_IUri._n
mov dword [esp + 8], str.setup_port
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
mov dword [esp + 0x18], eax
call fcn.703a9840
jmp 0x703b55ae
mov ecx, dword [esp + 0x74]
test ecx, ecx
jne 0x703b55c6
mov edx, dword [esp + 0x7c]
test edx, edx
jne 0x703b55c6
mov ebp, dword [esp + 0x98]
test ebp, ebp
jne 0x703b55c6
xor eax, eax
cmp dword [esp + 0x68], 9
setne al
jmp 0x703b55c6
mov dword [esp + 4], edi
mov dword [esp], 0x703e26d1
call fcn.703a9200
jmp 0x703b5a3d
test byte [0x703d8490], 8
jne 0x703b604e
mov eax, dword [esp + 0x34]
mov edi, 0x800c0002
mov dword [eax], 0
add esp, 0xcc
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [0x703d8490], 8
je 0x703b5ea5
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.__p__p__lx_:_File_schemes_cant_contain_a_username_or_password._n
mov dword [esp + 8], str.validate_components
mov dword [esp + 0x18], eax
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b5ea5
mov eax, 0x703e26c0
jmp 0x703b5a3d
mov eax, 0x703e26c0
jmp 0x703b5adf
mov edi, dword [esp + 0xb8]
test edi, edi
je 0x703b6292
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x703b6268
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x703e26c7
test edx, edx
jne 0x703b5f70
mov edx, ebp
mov eax, edi
call fcn.703a9560
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], str.__p__p__lx_:_Valid_fragment_component__s_len_ld._n
mov dword [esp + 8], str.validate_fragment
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b5c64
mov eax, 0x703e26c0
jmp 0x703b580d
mov eax, 0x703e26c0
jmp 0x703b5bba
test al, al
je 0x703b5ea5
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x703b634c
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x703e26c7
test edx, edx
jne 0x703b6011
mov edx, ebp
mov eax, edi
call fcn.703a9560
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.__p__p__lx_:_Invalid_username_component_found__s._n
mov dword [esp + 0x18], eax
mov dword [esp + 8], str.validate_username
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b5ea5
test edi, edi
je 0x703b62ea
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x703b627d
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x703e26c7
test edx, edx
jne 0x703b6087
mov edx, ebp
mov eax, edi
call fcn.703a9560
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.__p__p__lx_:_Invalid_scheme_component_found__s._n
mov dword [esp + 0x18], eax
mov dword [esp + 8], str.validate_scheme_name
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b5ea5
mov eax, dword [esp + 0x34]
mov edi, 0x80004001
mov dword [eax], 0
jmp 0x703b54b7
test al, 8
je 0x703b5ea5
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x703b6376
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x703e26c7
test edx, edx
jne 0x703b6111
mov edx, ebp
mov eax, edi
call fcn.703a9560
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.__p__p_:_Invalid_host_name_found__s._n
mov dword [esp + 8], str.validate_host
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b5ea5
test al, al
je 0x703b5ea5
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x703b6361
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x703e26c7
test edx, edx
jne 0x703b617f
mov edx, ebp
mov eax, edi
call fcn.703a9560
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.__p__p__lx_:_Invalid_password_component_found__s._n
mov dword [esp + 0x18], eax
mov dword [esp + 8], str.validate_password
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b5ea5
mov dword [esp + 4], edi
mov dword [esp], 0x703e26d1
call fcn.703a9200
jmp 0x703b5cf0
mov edi, 0x80004003
jmp 0x703b54b7
test byte [0x703d8490], 8
je 0x703b5ea5
test edi, edi
je 0x703b63a0
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x703b638b
mov ebp, dword [esp + 0x38]
mov dword [esp], edi
mov dword [esp + 4], ebp
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
push edx
push edx
test eax, eax
jne 0x703b63aa
mov edx, ebp
mov eax, edi
call fcn.703a9560
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.__p__p__lx_:_Invalid_path_component__s._n
mov dword [esp + 0x18], eax
mov dword [esp + 8], str.validate_path
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b5ea5
mov eax, 0x703e26c0
jmp 0x703b5cf0
mov dword [esp + 4], edi
mov dword [esp], 0x703e26d1
call fcn.703a9200
jmp 0x703b5f70
mov dword [esp + 4], edi
mov dword [esp], 0x703e26d1
call fcn.703a9200
jmp 0x703b6087
mov eax, 0x703e26c0
jmp 0x703b5f70
test al, 8
je 0x703b5ea5
mov edx, ebp
mov eax, edi
call fcn.703a9760
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.__p__p__lx_:_Invalid_query_component__s._n
mov dword [esp + 8], str.validate_query
mov dword [esp + 0x18], eax
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b5ea5
mov eax, 0x703e26c0
jmp 0x703b6087
mov edi, 0x800c0002
jmp 0x703b5d8b
test al, 8
je 0x703b5ea5
mov edx, ebp
mov eax, edi
call fcn.703a9760
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.__p__p__lx_:_Invalid_fragment_component__s._n
mov dword [esp + 8], str.validate_fragment
mov dword [esp + 0x18], eax
mov dword [esp + 4], 0x703d8490
mov dword [esp], 3
call fcn.703a9840
jmp 0x703b5ea5
mov dword [esp + 4], edi
mov dword [esp], 0x703e26d1
call fcn.703a9200
jmp 0x703b6011
mov dword [esp + 4], edi
mov dword [esp], 0x703e26d1
call fcn.703a9200
jmp 0x703b617f
mov dword [esp + 4], edi
mov dword [esp], 0x703e26d1
call fcn.703a9200
jmp 0x703b6111
mov dword [esp + 4], edi
mov dword [esp], 0x703e26d1
call fcn.703a9200
jmp 0x703b6221
mov eax, 0x703e26c0
jmp 0x703b6221
mov eax, 0x703e26c7
jmp 0x703b6221
mov edi, 0x8007000e
jmp 0x703b5d8b
mov edi, dword [ebx + 0x20]
test byte [ebx + 0xd], 0x40
jne 0x703b578b
mov eax, dword [ebx + 8]
test eax, eax
je 0x703b578b
mov edx, dword [eax + 0x38]
test edx, edx
jns 0x703b547f
jmp 0x703b578b