Function at 0x404090
Capabilities:
Access peb ldr_data
Authenticate hmac
Check os version
Get number of processors
Get process heap flags
Get process heap force flags
Reference http user-agent string

Disassembly:
push ebp
xor eax, eax
mov ecx, 0x45
mov ebp, esp
push edi
push esi
push ebx
lea ebx, [ebp - 0x658]
mov edi, ebx
sub esp, 0x6ec
mov dword [ebp - 0x6a0], 0
rep stosd dword es:[edi], eax
mov dword [esp + 8], 0
mov dword [ebp - 0x658], 0x114
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x49c0d8]
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x5c4
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp esi, 0x80070057
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.ObtainUserAgentString_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
lea eax, [ebp - 0x69c]
mov dword [ebp - 0x69c], 0x64
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x49c0d8]
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x5c8
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp esi, 0x80070057
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.ObtainUserAgentString_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5c9
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x69c]
mov dword [esp + 0xc], 0x64
mov dword [esp + 4], str.size_d__expected__d_n
cmp eax, 0x64
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
lea eax, [ebp - 0x69c]
mov dword [ebp - 0x69c], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x49a000
mov dword [esp], 0
call dword [0x49c0d8]
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x5cd
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp esi, 0x8007000e
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.ObtainUserAgentString_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5ce
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x69c]
mov dword [esp + 4], str.size_d__expected_non_zero_n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
lea eax, [ebp - 0x69c]
mov dword [ebp - 0x69c], 2
mov byte [section..bss], 0x61
mov dword [esp + 8], eax
mov dword [esp + 4], 0x49a000
mov dword [esp], 0
call dword [0x49c0d8]
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x5d3
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp esi, 0x8007000e
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.ObtainUserAgentString_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5d4
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x69c]
mov dword [esp + 4], str.size_d__expected_non_zero_n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5d5
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
movsx edx, byte [section..bss]
xor eax, eax
mov dword [esp + 4], str.str_0__c__expected_a_n
cmp dl, 0x61
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0045a820
lea eax, [ebp - 0x69c]
mov dword [ebp - 0x69c], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x49a000
mov dword [esp], 1
call dword [0x49c0d8]
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x5d9
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp esi, 0x8007000e
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.ObtainUserAgentString_failed:__08x_n
lea esi, [ebp - 0x69c]
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5da
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x69c]
mov dword [esp + 4], str.size_d__expected_non_zero_n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov eax, dword [ebp - 0x69c]
mov dword [esp + 4], 0
mov edx, dword fs:[0x18]
add eax, 0x14
mov dword [esp + 8], eax
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edi, dword [ebp - 0x69c]
sub esp, 0xc
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 0x6cc], edi
mov edi, eax
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [0x49c0d8]
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x5df
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.ObtainUserAgentString_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5e0
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov ecx, dword [ebp - 0x6cc]
mov eax, dword [ebp - 0x69c]
mov dword [esp + 4], str.size_d__expected__d_n
cmp eax, ecx
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], ecx
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5e1
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [sym.imp.msvcrt.dll_strlen]
mov dword [esp], edi
mov dword [ebp - 0x6c8], eax
call eax
xor edx, edx
cmp eax, 0x1d
jbe 0x4044d4
mov dword [esp + 8], 0x1e
mov dword [esp + 4], edi
mov dword [esp], 0x45ed28
call sub.msvcrt.dll_memcmp
xor edx, edx
test eax, eax
sete dl
mov edi, dword [ebp - 0x6b0]
mov dword [esp], edx
mov dword [esp + 0xc], 0x45ed28
mov dword [esp + 8], edi
shr edi, 0x10
mov dword [esp + 4], str.user_agent_was___s___expected_to_start_with___s__n
call fcn.0045a820
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_GetVersionExW]
lea eax, [ebp - 0x6a0]
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0xffffffff
call dword [sym.imp.kernel32.dll_IsWow64Process]
mov dword [ebp - 0x6c0], edi
lea edi, [ebp - 0x418]
mov dword [ebp - 0x6ac], 1
mov eax, edi
sub esp, 8
shr eax, 0x10
mov dword [ebp - 0x6bc], eax
mov esi, dword [ebp - 0x6ac]
lea ecx, [ebp - 0x69c]
mov eax, dword [0x49c0d8]
mov dword [ebp - 0x69c], 0x400
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
cmp esi, 7
je 0x405154
or esi, 0x1000
mov dword [esp], esi
call eax
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x5ef
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.ObtainUserAgentString_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5f0
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, edi
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4045c1
mov ecx, edx
mov dword [esp + 4], str.unexpected_size__u__expected__u_n
shr ecx, 0x10
test edx, 0x8080
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
mov edx, dword [ebp - 0x69c]
sbb eax, 3
sub eax, edi
mov dword [esp + 8], edx
add eax, 1
cmp eax, edx
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5f1
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x6c0]
test eax, eax
je 0x4056c3
mov esi, dword [ebp - 0x6b0]
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
mov dword [ebp - 0x6b8], 0x45daf4
sub esp, 8
test eax, eax
jne 0x404728
cmp byte [esi], 0
je 0x40467c
mov edx, esi
add eax, 1
cmp byte [edx + eax], 0
jne 0x404673
mov ecx, dword [ebp - 0x6b0]
mov byte [ebp - 0x544], 0x22
lea edx, [ebp - 0x543]
lea ebx, [eax - 1]
mov dword [ebp - 0x6b4], ecx
test eax, eax
jle 0x4046f7
lea esi, [esi]
lea eax, [ebp - 0x421]
cmp edx, eax
ja 0x4046f7
add dword [ebp - 0x6b4], 1
mov eax, dword [ebp - 0x6b4]
movzx eax, byte [eax - 1]
cmp al, 0xd
je 0x405061
jg 0x404be0
cmp al, 9
je 0x4050b4
cmp al, 0xa
jne 0x405074
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
lea esi, [esi]
nop
lea ebx, [eax - 1]
test eax, eax
jg 0x4046a0
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x404711
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x544]
mov dword [esp], eax
call fcn.0045b4e0
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x6bc]
test eax, eax
je 0x405550
mov dword [esp + 4], 0xffffffff
mov ebx, 0x45daf4
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
sub esp, 8
test eax, eax
jne 0x404804
cmp byte [ebp - 0x418], 0
je 0x404769
add eax, 1
cmp byte [edi + eax], 0
jne 0x404760
mov byte [ebp - 0x544], 0x22
lea edx, [ebp - 0x543]
lea ebx, [eax - 1]
mov dword [ebp - 0x6b4], edi
test eax, eax
jle 0x4047d7
lea eax, [ebp - 0x421]
cmp edx, eax
ja 0x4047d7
add dword [ebp - 0x6b4], 1
mov eax, dword [ebp - 0x6b4]
movzx eax, byte [eax - 1]
cmp al, 0xd
je 0x404eb0
jg 0x404c03
cmp al, 9
je 0x404f03
cmp al, 0xa
jne 0x404ec3
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
lea esi, [esi]
lea ebx, [eax - 1]
test eax, eax
jg 0x404783
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x4047f1
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x544]
mov dword [esp], eax
call fcn.0045b4e0
mov ebx, eax
mov eax, dword [ebp - 0x6b0]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll_strcmp]
mov ecx, dword [ebp - 0x6b8]
mov esi, dword [ebp - 0x6ac]
mov dword [esp + 0xc], ebx
test eax, eax
mov dword [esp + 4], str.unexpected_UA_for_version__u__s__expected__s_n
sete al
mov dword [esp + 0x10], ecx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
call fcn.0045a820
lea ecx, [ebp - 0x69c]
mov eax, dword [0x49c0d8]
mov dword [ebp - 0x69c], 0x400
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
cmp esi, 1
je 0x405610
mov dword [esp], esi
call eax
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x5f7
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.ObtainUserAgentString_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5f8
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, edi
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4048bc
mov ecx, edx
mov dword [esp + 4], str.unexpected_size__u__expected__u_n
shr ecx, 0x10
test edx, 0x8080
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
mov edx, dword [ebp - 0x69c]
sbb eax, 3
sub eax, edi
mov dword [esp + 8], edx
add eax, 1
cmp eax, edx
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
cmp dword [ebp - 0x6ac], 7
jbe 0x405202
cmp dword [0x45c7e8], 1
jg 0x404f33
mov edx, str.Mozilla_
mov eax, edi
call fcn.00403de0
mov esi, dword [ebp - 0x6ac]
lea ebx, [edi + eax]
cmp esi, 8
ja 0x4050e3
mov eax, ebx
mov edx, str.4.0__
call fcn.00403de0
add ebx, eax
mov edx, str.compatible_
mov eax, ebx
call fcn.00403de0
mov ecx, dword [ebp - 0x6ac]
mov dword [esp + 4], str.MSIE__u.0_
add ebx, eax
mov eax, 7
cmp ecx, 7
cmovae eax, ecx
mov dword [esp + 8], eax
lea eax, [ebp - 0x698]
mov dword [esp], eax
call fcn.00402100
lea edx, [ebp - 0x698]
mov eax, ebx
call fcn.00403de0
mov dword [esp + 4], str.Windows_NT__u._u_
add ebx, eax
mov eax, dword [ebp - 0x650]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x654]
mov dword [esp + 8], eax
lea eax, [ebp - 0x698]
mov dword [esp], eax
call fcn.00402100
mov eax, ebx
lea edx, [ebp - 0x698]
call fcn.00403de0
add ebx, eax
mov eax, dword [ebp - 0x6a0]
test eax, eax
jne 0x405141
cmp dword [ebp - 0x6ac], 1
je 0x404c53
mov edx, str.Trident_
mov eax, ebx
call fcn.00403de0
mov dword [esp + 4], 0x613
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
add ebx, eax
call fcn.0045a5b0
movsx edx, byte [ebx]
mov dword [esp + 4], str.unexpected_version__c_n
mov eax, edx
mov dword [esp + 8], edx
sub eax, 0x35
cmp al, 3
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
cmp byte [ebx], 0x36
jle 0x405870
add ebx, 1
mov edx, 0x45dcab
mov eax, ebx
call fcn.00403de0
add ebx, eax
cmp dword [ebp - 0x6ac], 0xb
je 0x406240
mov eax, dword [ebp - 0x6ac]
lea esi, [eax + 1]
mov dword [ebp - 0x6b8], esi
cmp eax, 8
jbe 0x404c5d
mov eax, ebx
mov edx, 0x45dcc4
call fcn.00403de0
mov dword [esp + 4], 0x62b
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
add ebx, eax
call fcn.0045a5b0
test ebx, ebx
je 0x406330
mov eax, ebx
shr eax, 0x10
je 0x405533
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
mov esi, eax
sub esp, 8
mov eax, 0x45daf4
test esi, esi
jne 0x404b9b
cmp byte [ebx], 0
je 0x404ae9
lea esi, [esi]
add esi, 1
cmp byte [ebx + esi], 0
jne 0x404ae0
mov dword [ebp - 0x6c4], ebx
lea edx, [ebp - 0x543]
mov dword [ebp - 0x6b4], ebx
lea ebx, [esi - 1]
mov byte [ebp - 0x544], 0x22
test esi, esi
jle 0x404b67
lea esi, [esi]
lea eax, [ebp - 0x421]
cmp edx, eax
ja 0x404b67
add dword [ebp - 0x6b4], 1
mov eax, dword [ebp - 0x6b4]
movzx eax, byte [eax - 1]
cmp al, 0xd
je 0x404e40
jg 0x404c30
cmp al, 9
je 0x404e93
cmp al, 0xa
jne 0x404e53
mov eax, 0x6e5c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
lea esi, [esi]
nop
lea ebx, [esi - 1]
test esi, esi
jg 0x404b10
mov eax, ebx
mov byte [edx], 0x22
mov ebx, dword [ebp - 0x6c4]
test eax, eax
jle 0x405830
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x544]
mov dword [esp], eax
call fcn.0045b4e0
mov esi, dword [ebp - 0x6ac]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], str.unexpected_suffix__s_for_version__u_n
mov dword [esp + 0xc], esi
cmp byte [ebx], 0
sete al
mov dword [esp], eax
call fcn.0045a820
cmp dword [ebp - 0x6b8], 0xc
je 0x405890
add esi, 1
mov dword [ebp - 0x6ac], esi
jmp 0x404540
cmp al, 0x22
je 0x4050d0
cmp al, 0x5c
jne 0x405074
mov eax, 0x5c5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4046f0
cmp al, 0x22
je 0x404f20
cmp al, 0x5c
jne 0x404ec3
mov eax, 0x5c5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4047d0
cmp al, 0x22
je 0x404e23
cmp al, 0x5c
jne 0x404e53
mov eax, 0x5c5c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x404b60
mov dword [ebp - 0x6b8], 2
mov dword [esp + 4], 0x626
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
test ebx, ebx
je 0x4062a0
mov eax, ebx
shr eax, 0x10
je 0x405780
mov dword [esp + 4], 0xffffffff
mov esi, 0x45daf4
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
sub esp, 8
test eax, eax
jne 0x404d60
cmp byte [ebx], 0
je 0x404cb9
lea esi, [esi]
add eax, 1
cmp byte [ebx + eax], 0
jne 0x404cb0
mov ecx, ebx
mov dword [ebp - 0x6b4], ebx
lea edx, [ebp - 0x543]
lea esi, [eax - 1]
lea ebx, [ebp - 0x421]
mov byte [ebp - 0x544], 0x22
cmp edx, ebx
ja 0x404d2d
lea esi, [esi]
nop
test eax, eax
jle 0x404d2d
add ecx, 1
movzx eax, byte [ecx - 1]
cmp al, 0xd
je 0x405503
jg 0x404e00
cmp al, 9
je 0x4054f0
cmp al, 0xa
jne 0x4054b0
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, esi
lea esi, [esi]
nop
lea ebx, [ebp - 0x421]
lea esi, [eax - 1]
cmp edx, ebx
jbe 0x404ce0
mov ebx, dword [ebp - 0x6b4]
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x404d4d
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x544]
mov dword [esp], eax
call fcn.0045b4e0
mov esi, eax
mov dword [esp], ebx
mov dword [esp + 4], str.__.NET
call dword [sym.imp.msvcrt.dll_strstr]
mov dword [esp + 8], esi
test eax, eax
mov dword [esp + 4], str.no___.NET_in__s_n
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp], ebx
mov dword [esp + 4], 0x29
call dword [sym.imp.msvcrt.dll_strchr]
mov edx, 0x45dcc4
mov ebx, eax
call fcn.00403de0
mov dword [esp + 4], 0x62b
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
add ebx, eax
call fcn.0045a5b0
test ebx, ebx
jne 0x404aaa
mov ebx, dword [ebp - 0x6ac]
mov dword [esp + 8], 0x45daed
xor eax, eax
mov dword [esp + 4], str.unexpected_suffix__s_for_version__u_n
mov dword [esp + 0xc], ebx
cmp byte [0], 0
lea esi, [ebx + 1]
sete al
mov dword [esp], eax
call fcn.0045a820
jmp 0x404bd1
cmp al, 0x22
je 0x405520
cmp al, 0x5c
jne 0x4054b0
mov eax, 0x5c5c
add edx, 2
mov word [edx - 2], ax
mov eax, esi
jmp 0x404d20
mov eax, 0x225c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x404b60
mov eax, 0x725c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x404b60
lea esi, [eax - 0x20]
mov ecx, esi
cmp cl, 0x5e
jbe 0x4055f3
mov ecx, eax
mov esi, 0x785c
and eax, 0xf
add edx, 4
shr cl, 4
mov word [edx - 4], si
movzx eax, byte [eax + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
movzx esi, cl
movzx ecx, byte [esi + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
mov byte [edx - 1], al
mov esi, ebx
mov byte [edx - 2], cl
jmp 0x404b60
mov eax, 0x745c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x404b60
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4047d0
lea esi, [eax - 0x20]
mov ecx, esi
cmp cl, 0x5e
jbe 0x405600
mov ecx, eax
mov esi, 0x785c
and eax, 0xf
add edx, 4
shr cl, 4
mov word [edx - 4], si
movzx eax, byte [eax + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
movzx esi, cl
movzx ecx, byte [esi + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x4047d0
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4047d0
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4047d0
mov dword [esp + 4], 0x5fd
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x6bc]
test eax, eax
je 0x405840
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
mov esi, eax
sub esp, 8
mov eax, 0x45daf4
test esi, esi
jne 0x405022
cmp byte [ebp - 0x418], 0
je 0x404f8a
add esi, 1
cmp byte [edi + esi], 0
jne 0x404f81
mov byte [ebp - 0x544], 0x22
lea edx, [ebp - 0x543]
lea ebx, [esi - 1]
mov dword [ebp - 0x6b4], edi
test esi, esi
jle 0x404ff7
lea eax, [ebp - 0x421]
cmp edx, eax
ja 0x404ff7
add dword [ebp - 0x6b4], 1
mov eax, dword [ebp - 0x6b4]
movzx eax, byte [eax - 1]
cmp al, 0xd
je 0x405570
jg 0x405041
cmp al, 9
je 0x4055c3
cmp al, 0xa
jne 0x405583
mov eax, 0x6e5c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
lea esi, [esi]
nop
lea ebx, [esi - 1]
test esi, esi
jg 0x404fa4
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x405011
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x544]
mov dword [esp], eax
call fcn.0045b4e0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x6ac]
mov dword [esp], str.version_u_user_agent_s_n
mov dword [esp + 4], eax
call fcn.0045a850
jmp 0x404933
cmp al, 0x22
je 0x4055e0
cmp al, 0x5c
jne 0x405583
mov eax, 0x5c5c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x404ff0
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4046f0
lea esi, [eax - 0x20]
mov ecx, esi
cmp cl, 0x5e
jbe 0x405770
mov ecx, eax
mov esi, 0x785c
and eax, 0xf
add edx, 4
shr cl, 4
mov word [edx - 4], si
movzx eax, byte [eax + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
movzx esi, cl
movzx ecx, byte [esi + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x4046f0
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4046f0
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4046f0
mov eax, ebx
mov edx, str.5.0__
call fcn.00403de0
add ebx, eax
cmp esi, 0xb
jne 0x40495f
mov eax, dword [ebp - 0x650]
mov dword [esp + 4], str.Windows_NT__u._u_
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x654]
mov dword [esp + 8], eax
lea eax, [ebp - 0x698]
mov dword [esp], eax
call fcn.00402100
mov eax, ebx
lea edx, [ebp - 0x698]
call fcn.00403de0
add ebx, eax
mov eax, dword [ebp - 0x6a0]
test eax, eax
je 0x4049fb
mov eax, ebx
mov edx, str.WOW64_
call fcn.00403de0
add ebx, eax
jmp 0x4049ee
mov dword [esp], 7
call eax
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x5f7
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.ObtainUserAgentString_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5f8
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov edx, edi
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4051a7
mov ecx, eax
mov dword [esp + 4], str.unexpected_size__u__expected__u_n
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
mov eax, dword [ebp - 0x69c]
sbb edx, 3
sub edx, edi
mov dword [esp + 8], eax
add edx, 1
cmp eax, edx
mov dword [esp + 0xc], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5fa
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x6c0]
test eax, eax
je 0x4062c0
mov esi, dword [ebp - 0x6b0]
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
mov dword [ebp - 0x6b8], 0x45daf4
sub esp, 8
test eax, eax
jne 0x40530f
cmp byte [esi], 0
je 0x405269
mov edx, esi
lea esi, [esi]
nop
add eax, 1
cmp byte [edx + eax], 0
jne 0x405260
mov ecx, dword [ebp - 0x6b0]
lea edx, [ebp - 0x543]
lea esi, [ebp - 0x421]
mov byte [ebp - 0x544], 0x22
lea ebx, [eax - 1]
mov dword [ebp - 0x6b4], ecx
cmp edx, esi
ja 0x4052de
nop
test eax, eax
jle 0x4052de
add dword [ebp - 0x6b4], 1
mov eax, dword [ebp - 0x6b4]
movzx eax, byte [eax - 1]
cmp al, 0xd
je 0x405810
jg 0x405460
cmp al, 9
je 0x4057f3
cmp al, 0xa
jne 0x4057b3
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
lea esi, [ebp - 0x421]
lea ebx, [eax - 1]
cmp edx, esi
jbe 0x405290
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x4052f8
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x544]
mov dword [esp], eax
call fcn.0045b4e0
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x6bc]
test eax, eax
je 0x406280
mov dword [esp + 4], 0xffffffff
mov ebx, 0x45daf4
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
sub esp, 8
test eax, eax
jne 0x4053fb
cmp byte [ebp - 0x418], 0
je 0x405359
lea esi, [esi]
nop
add eax, 1
cmp byte [edi + eax], 0
jne 0x405350
lea edx, [ebp - 0x543]
mov byte [ebp - 0x544], 0x22
lea ecx, [ebp - 0x421]
mov dword [ebp - 0x6b4], edi
lea ebx, [eax - 1]
cmp edx, ecx
ja 0x4053ce
lea esi, [esi]
test eax, eax
jle 0x4053ce
add dword [ebp - 0x6b4], 1
mov eax, dword [ebp - 0x6b4]
movzx eax, byte [eax - 1]
cmp al, 0xd
je 0x4056e5
jg 0x405483
cmp al, 9
je 0x405753
cmp al, 0xa
jne 0x405713
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
lea ecx, [ebp - 0x421]
lea ebx, [eax - 1]
cmp edx, ecx
jbe 0x405380
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x4053e8
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x544]
mov dword [esp], eax
call fcn.0045b4e0
mov ebx, eax
mov eax, dword [ebp - 0x6b0]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll_strcmp]
mov esi, dword [ebp - 0x6b8]
mov dword [esp + 0xc], ebx
test eax, eax
mov dword [esp + 4], str.unexpected_UA_for_version__u__s__expected__s_n
mov dword [esp + 0x10], esi
sete al
mov esi, dword [ebp - 0x6ac]
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
call fcn.0045a820
cmp dword [0x45c7e8], 1
jg 0x404f33
mov edx, str.Mozilla_
mov eax, edi
call fcn.00403de0
lea ebx, [edi + eax]
jmp 0x404951
cmp al, 0x22
je 0x4057a0
cmp al, 0x5c
jne 0x4057b3
mov eax, 0x5c5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4052d1
cmp al, 0x22
je 0x405700
cmp al, 0x5c
jne 0x405713
mov eax, 0x5c5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4053c1
lea ebx, [eax - 0x20]
cmp bl, 0x5e
jbe 0x405823
mov ebx, 0x785c
add edx, 4
mov word [edx - 4], bx
mov ebx, eax
and eax, 0xf
shr bl, 4
movzx eax, byte [eax + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
movzx ebx, bl
movzx ebx, byte [ebx + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
mov byte [edx - 1], al
mov eax, esi
mov byte [edx - 2], bl
jmp 0x404d20
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, esi
jmp 0x404d20
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, esi
jmp 0x404d20
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, esi
jmp 0x404d20
movzx eax, bx
mov dword [esp], 0x45dae7
mov dword [esp + 4], eax
call fcn.00403be0
jmp 0x404b9b
movzx eax, di
mov dword [esp], 0x45dae7
mov dword [esp + 4], eax
call fcn.00403be0
mov ebx, eax
jmp 0x404804
mov eax, 0x725c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x404ff0
lea esi, [eax - 0x20]
mov ecx, esi
cmp cl, 0x5e
jbe 0x405860
mov ecx, eax
mov esi, 0x785c
and eax, 0xf
add edx, 4
shr cl, 4
mov word [edx - 4], si
movzx eax, byte [eax + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
movzx esi, cl
movzx ecx, byte [esi + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
mov byte [edx - 1], al
mov esi, ebx
mov byte [edx - 2], cl
jmp 0x404ff0
mov eax, 0x745c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x404ff0
mov eax, 0x225c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x404ff0
mov byte [edx], al
mov esi, ebx
add edx, 1
jmp 0x404b60
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x4047d0
mov dword [esp], 0x1007
call eax
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x5f7
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.ObtainUserAgentString_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x5f8
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov edx, edi
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x405663
mov ecx, eax
mov dword [esp + 4], str.unexpected_size__u__expected__u_n
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
mov eax, dword [ebp - 0x69c]
sbb edx, 3
sub edx, edi
mov dword [esp + 8], eax
add edx, 1
cmp edx, eax
mov dword [esp + 0xc], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
jmp 0x40543e
movzx eax, word [ebp - 0x6b0]
mov dword [esp], 0x45dae7
mov dword [esp + 4], eax
call fcn.00403be0
mov dword [ebp - 0x6b8], eax
jmp 0x404728
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4053c1
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4053c1
lea esi, [eax - 0x20]
mov ecx, esi
cmp cl, 0x5e
jbe 0x4062b0
mov ecx, eax
mov esi, 0x785c
and eax, 0xf
add edx, 4
shr cl, 4
mov word [edx - 4], si
movzx eax, byte [eax + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
movzx esi, cl
movzx ecx, byte [esi + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x4053c1
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4053c1
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x4046f0
movzx eax, bx
mov dword [esp], 0x45dae7
mov dword [esp + 4], eax
call fcn.00403be0
mov esi, eax
jmp 0x404d60
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4052d1
lea esi, [eax - 0x20]
mov ecx, esi
cmp cl, 0x5e
jbe 0x4062e2
mov ecx, eax
mov esi, 0x785c
and eax, 0xf
add edx, 4
shr cl, 4
mov word [edx - 4], si
movzx eax, byte [eax + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
movzx esi, cl
movzx ecx, byte [esi + str.0123456789abcdefMozilla_4.0__compatible__MSIE]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x4052d1
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4052d1
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4052d1
mov byte [edx], al
add edx, 1
mov eax, esi
jmp 0x404d20
lea eax, [edx + 1]
jmp 0x404b8a
movzx eax, di
mov dword [esp], 0x45dae7
mov dword [esp + 4], eax
call fcn.00403be0
jmp 0x405022
mov byte [edx], al
mov esi, ebx
add edx, 1
jmp 0x404ff0
mov dword [esp + 4], 0x615
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov dword [esp], str.skipping_UA_tests__too_old_IE_n
call fcn.0045a930
mov esi, dword [ebp - 0x6cc]
mov edi, dword [ebp - 0x6b0]
mov dword [esp], 0
lea eax, [esi + 0xa]
mov dword [esp + 4], edi
mov dword [ebp - 0x69c], eax
lea eax, [ebp - 0x69c]
mov dword [esp + 8], eax
call dword [0x49c0d8]
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x630
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.ObtainUserAgentString_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x631
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x69c]
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.size_d__expected__d_n
cmp eax, esi
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
lea eax, [ebp - 0x69c]
mov dword [ebp - 0x69c], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x10000001
call dword [0x49c0d0]
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x635
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 0x8007000e
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.UrlMkGetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x636
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x69c]
mov dword [esp + 4], str.size__0_n
mov dword [esp], eax
call fcn.0045a820
lea eax, [ebp - 0x69c]
mov dword [ebp - 0x69c], 0xdeadbeef
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x3e8
mov dword [esp + 4], 0
mov dword [esp], 0x10000001
call dword [0x49c0d0]
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x63a
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 0x80070057
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.UrlMkGetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x63b
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x69c]
mov dword [esp + 4], str.size__0_n
mov dword [esp], eax
call fcn.0045a820
mov ebx, dword [ebp - 0x69c]
lea eax, [ebp - 0x69c]
mov dword [ebp - 0x69c], 0
mov dword [esp + 0xc], eax
lea eax, [ebx + 0xa]
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 0x10000001
call dword [0x49c0d0]
sub esp, 0x14
mov esi, eax
mov dword [esp + 4], 0x640
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp esi, 0x8007000e
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.UrlMkGetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x641
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x69c]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str.size___d__expected__d_n
cmp eax, ebx
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x642
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov dword [esp], edi
mov eax, dword [ebp - 0x6c8]
call eax
xor edx, edx
cmp eax, 0x1e
jbe 0x405b55
mov dword [esp + 8], 0x1e
mov dword [esp + 4], edi
mov dword [esp], 0x45ed28
call sub.msvcrt.dll_memcmp
xor edx, edx
test eax, eax
sete dl
mov edi, dword [ebp - 0x6b0]
mov dword [esp], edx
mov dword [esp + 0xc], 0x45ed28
mov dword [esp + 8], edi
mov dword [esp + 4], str.user_agent_was___s___expected_to_start_with___s__n
call fcn.0045a820
lea eax, [ebp - 0x69c]
mov dword [ebp - 0x69c], 0
mov byte [edi], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0x10000001
call dword [0x49c0d0]
sub esp, 0x14
mov esi, eax
mov dword [esp + 4], 0x649
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp esi, 0x8007000e
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.UrlMkGetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x64a
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x69c]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str.size___d__expected__d_n
cmp eax, ebx
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x64b
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov dword [esp], edi
mov eax, dword [ebp - 0x6c8]
call eax
xor edx, edx
cmp eax, 0x1e
jbe 0x405c62
mov dword [esp + 8], 0x1e
mov dword [esp + 4], edi
mov dword [esp], 0x45ed28
call sub.msvcrt.dll_memcmp
xor edx, edx
test eax, eax
sete dl
mov edi, dword [ebp - 0x6b0]
mov dword [esp], edx
mov dword [esp + 0xc], 0x45ed28
mov dword [esp + 8], edi
mov dword [esp + 4], str.user_agent_was___s___expected_to_start_with___s__n
call fcn.0045a820
lea eax, [ebp - 0x69c]
mov dword [ebp - 0x69c], ebx
mov byte [edi], 0
mov dword [esp + 0xc], eax
lea eax, [ebx - 1]
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 0x10000001
call dword [0x49c0d0]
sub esp, 0x14
mov esi, eax
mov dword [esp + 4], 0x652
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp esi, 0x8007000e
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.UrlMkGetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x653
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov eax, dword [ebp - 0x69c]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str.size___d__expected__d_n
cmp eax, ebx
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x654
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov dword [esp + 4], str.buf_changed_n
xor eax, eax
cmp byte [edi], 0
sete al
mov dword [esp], eax
call fcn.0045a820
mov dword [ebp - 0x69c], ebx
mov byte [edi], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0x10000001
call dword [0x49c0d0]
sub esp, 0x14
mov esi, eax
mov dword [esp + 4], 0x659
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp esi, 0x80070057
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.UrlMkGetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x65a
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
mov dword [esp + 4], str.buf_changed_n
xor eax, eax
cmp byte [edi], 0
sete al
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 0xc], 0
mov dword [esp + 8], 5
mov dword [esp + 4], 0x45c00c
mov dword [esp], 0x10000001
call sub.urlmon.dll_UrlMkSetSessionOption
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x65d
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.UrlMkSetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
lea eax, [ebp - 0x69c]
mov dword [ebp - 0x69c], 0
mov byte [edi], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], 0x10000001
call dword [0x49c0d0]
sub esp, 0x14
mov esi, eax
mov dword [esp + 4], 0x662
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp esi, 0x8007000e
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.UrlMkGetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x663
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp dword [ebp - 0x69c], 5
je 0x406311
mov dword [esp + 4], str.wrong_user_agent_n
lea edi, [ebp - 0x69c]
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x45c000
mov dword [esp], 0x10000001
call sub.urlmon.dll_UrlMkSetSessionOption
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x666
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.UrlMkSetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov eax, dword [ebp - 0x6b0]
mov dword [ebp - 0x69c], 0
mov byte [eax], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], 0x10000001
call dword [0x49c0d0]
sub esp, 0x14
mov esi, eax
mov dword [esp + 4], 0x66b
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp esi, 0x8007000e
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.UrlMkGetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x66c
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp dword [ebp - 0x69c], 5
je 0x4062f0
mov dword [esp + 4], str.wrong_user_agent_n
lea edi, [ebp - 0x69c]
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], 0x45c00c
mov dword [esp], 0x10000001
call sub.urlmon.dll_UrlMkSetSessionOption
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x66f
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.UrlMkSetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov eax, dword [ebp - 0x6b0]
mov dword [ebp - 0x69c], 0
mov byte [eax], 0
mov dword [esp + 8], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov dword [esp + 4], eax
mov dword [esp], 0x10000001
call dword [0x49c0d0]
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x674
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 0x8007000e
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.UrlMkGetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 4], 0x675
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp dword [ebp - 0x69c], 3
jne 0x4060e3
mov esi, dword [ebp - 0x6b0]
mov edi, 0x45dd92
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
test al, al
sete al
movzx eax, al
mov dword [esp + 4], str.wrong_user_agent_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x45c00c
mov dword [esp], 0x10000001
call sub.urlmon.dll_UrlMkSetSessionOption
sub esp, 0x10
mov ebx, eax
mov dword [esp + 4], 0x678
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 0x80070057
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.UrlMkSetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 0xc], 0
mov dword [esp + 8], 5
mov dword [esp + 4], 0
mov dword [esp], 0x10000001
call sub.urlmon.dll_UrlMkSetSessionOption
sub esp, 0x10
mov ebx, eax
mov dword [esp + 4], 0x67b
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 0x80070057
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.UrlMkSetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x10000001
call sub.urlmon.dll_UrlMkSetSessionOption
sub esp, 0x10
mov ebx, eax
mov dword [esp + 4], 0x67e
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
call fcn.0045a5b0
xor eax, eax
cmp ebx, 0x80070057
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.UrlMkSetSessionOption_failed:__08x_n
mov dword [esp], eax
call fcn.0045a820
mov edi, dword [ebp - 0x6b0]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 8], edi
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ebx
mov edx, str.__rv:11.0__like_Gecko
call fcn.00403de0
mov dword [esp + 4], 0x62b
mov dword [esp], str..._wine_dlls_urlmon_tests_misc.c
add ebx, eax
call fcn.0045a5b0
test ebx, ebx
je 0x406363
mov dword [ebp - 0x6b8], 0xc
jmp 0x404aaa
movzx eax, di
mov dword [esp], 0x45dae7
mov dword [esp + 4], eax
call fcn.00403be0
mov ebx, eax
jmp 0x4053fb
mov esi, 0x45daed
jmp 0x404d60
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x4053c1
movzx eax, word [ebp - 0x6b0]
mov dword [esp], 0x45dae7
mov dword [esp + 4], eax
call fcn.00403be0
mov dword [ebp - 0x6b8], eax
jmp 0x40530f
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x4052d1
mov eax, dword [ebp - 0x6b0]
mov edi, dword [0x45c00c]
cmp dword [eax], edi
je 0x4063b0
mov eax, 1
xor eax, 1
jmp 0x405fcb
mov eax, dword [ebp - 0x6b0]
mov edi, dword [0x45c00c]
cmp dword [eax], edi
je 0x406394
mov eax, 1
xor eax, 1
jmp 0x405ece
mov eax, dword [ebp - 0x6ac]
mov dword [esp + 8], 0x45daed
mov dword [esp + 4], str.unexpected_suffix__s_for_version__u_n
mov dword [esp + 0xc], eax
xor eax, eax
cmp byte [0], 0
sete al
mov dword [esp], eax
call fcn.0045a820
jmp 0x404bd1
mov dword [esp + 0xc], 0xb
xor eax, eax
mov dword [esp + 8], 0x45daed
mov dword [esp + 4], str.unexpected_suffix__s_for_version__u_n
cmp byte [0], 0
sete al
mov dword [esp], eax
call fcn.0045a820
jmp 0x405890
mov edi, eax
movzx eax, byte [0x45c010]
cmp byte [edi + 4], al
jne 0x406321
xor eax, eax
jmp 0x406326
mov edi, eax
movzx eax, byte [0x45c010]
cmp byte [edi + 4], al
jne 0x406304
xor eax, eax
jmp 0x406309