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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
mov r15, r9
mov r14, r8
mov r13, rdx
mov qword [rsp + 0x50], rcx
lea rcx, [rdx + 0x28]
mov rdx, qword [rdx + 0x38]
cmp rdx, qword [r13 + 0x28]
mov qword [rsp + 0x30], rcx
jne 0x14004cdfd
call fcn.1400423a0
mov rdx, qword [r13 + 0x38]
mov rax, qword [r13 + 0x30]
mov byte [rax + rdx], 0x2f
mov rdx, qword [r13 + 0x38]
inc rdx
mov qword [r13 + 0x38], rdx
cmp rdx, qword [r13 + 0x28]
jne 0x14004ce24
mov rcx, qword [rsp + 0x30]
call fcn.1400423a0
mov rdx, qword [r13 + 0x38]
mov rax, qword [r13 + 0x30]
mov byte [rax + rdx], 0x2f
inc qword [r13 + 0x38]
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r15
xor ebx, ebx
mov esi, 0x2600
mov rdi, r15
xor r12d, r12d
mov r11, qword [rsp + 0x30]
cmp rdi, r14
je 0x14004cf5d
mov dl, byte [rdi]
movzx eax, dl
test al, al
js 0x14004ce63
inc rdi
jmp 0x14004ceb6
mov ecx, eax
and ecx, 0x1f
movzx ebp, byte [rdi + 1]
and ebp, 0x3f
cmp al, 0xdf
jbe 0x14004cea0
movzx eax, byte [rdi + 2]
shl ebp, 6
and eax, 0x3f
or eax, ebp
cmp dl, 0xf0
jb 0x14004cead
movzx edx, byte [rdi + 3]
add rdi, 4
and ecx, 7
shl ecx, 0x12
shl eax, 6
and edx, 0x3f
or edx, eax
or edx, ecx
mov eax, edx
jmp 0x14004ceb6
add rdi, 2
shl ecx, 6
or ecx, ebp
mov eax, ecx
jmp 0x14004ceb6
add rdi, 3
shl ecx, 0xc
or eax, ecx
cmp eax, 0xd
ja 0x14004cec7
bt esi, eax
jae 0x14004cec7
mov eax, 0x110000
jmp 0x14004ced2
cmp eax, 0x110000
je 0x14004cf5d
cmp eax, 0x110000
je 0x14004ce4c
cmp eax, 0x3e
jle 0x14004cef3
cmp eax, 0x5c
je 0x14004ceff
cmp eax, 0x40
je 0x14004cf0b
cmp eax, 0x3f
je 0x14004cf5d
jmp 0x14004cf55
cmp eax, 0x23
je 0x14004cf5d
cmp eax, 0x2f
je 0x14004cf5d
jmp 0x14004cf55
cmp byte [rsp + 0x1e0], 2
je 0x14004cf55
jmp 0x14004cf5d
test rbx, rbx
je 0x14004cf2b
mov rcx, qword [r13 + 0x10]
mov rbx, rdi
mov r8d, r12d
test rcx, rcx
je 0x14004cf55
mov rax, qword [r13 + 0x18]
mov rax, qword [rax + 0x28]
mov dl, 0xa
jmp 0x14004cf44
mov rcx, qword [r13 + 0x10]
mov rbx, rdi
mov r8d, r12d
test rcx, rcx
je 0x14004cf55
mov rax, qword [r13 + 0x18]
mov rax, qword [rax + 0x28]
mov dl, 2
call qword [case.0x1400577ee.0]
mov r11, qword [rsp + 0x30]
mov rbx, rdi
mov r8d, r12d
inc r12d
jmp 0x14004ce4c
test rbx, rbx
je 0x14004d219
test r8d, r8d
je 0x14004d22b
mov dword [rsp + 0x80], 0
test r8d, r8d
mov qword [rsp + 0x48], rbx
jle 0x14004d246
lea r9, [rsp + 0xd8]
mov esi, 0x2600
xor ecx, ecx
xor r10d, r10d
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], r13
mov dword [rsp + 0x40], ecx
cmp r15, r14
je 0x14004df9e
mov ebp, r8d
mov rbx, r15
mov cl, byte [rbx]
movzx edx, cl
test dl, dl
js 0x14004cfcc
lea r15, [rbx + 1]
jmp 0x14004d020
mov eax, edx
and eax, 0x1f
movzx edi, byte [rbx + 1]
and edi, 0x3f
cmp dl, 0xdf
jbe 0x14004d00a
movzx edx, byte [rbx + 2]
shl edi, 6
and edx, 0x3f
or edx, edi
cmp cl, 0xf0
jb 0x14004d017
lea r15, [rbx + 4]
movzx ecx, byte [rbx + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
mov edx, ecx
jmp 0x14004d020
lea r15, [rbx + 2]
shl eax, 6
or eax, edi
mov edx, eax
jmp 0x14004d020
lea r15, [rbx + 3]
shl eax, 0xc
or edx, eax
cmp edx, 0xd
ja 0x14004d037
bt esi, edx
jae 0x14004d037
mov rbx, r15
cmp r15, r14
jne 0x14004cfbd
jmp 0x14004df9e
cmp edx, 0x110000
je 0x14004df9e
mov rax, r14
sub rax, rbx
mov r13d, 1
cmp edx, 0x80
jb 0x14004d075
mov r13d, 2
cmp edx, 0x800
jb 0x14004d075
cmp edx, 0x10000
mov r13d, 4
sbb r13, 0
cmp r13, rax
jae 0x14004d086
cmp byte [rbx + r13], 0xbf
jg 0x14004d08c
jmp 0x14004dfb6
jne 0x14004dfb6
cmp edx, 0x110000
je 0x14004df9e
mov r12, rbp
lea r8d, [rbp - 1]
cmp edx, 0x3a
jne 0x14004d120
cmp dword [rsp + 0x80], 1
je 0x14004d120
mov r13, qword [rsp + 0xa8]
mov rdi, qword [r13 + 0x38]
mov rax, rdi
shr rax, 0x20
jne 0x14004d53f
cmp r12d, 2
jl 0x14004d265
mov rax, rdi
cmp rdi, qword [r11]
jne 0x14004d0f9
mov rcx, r11
mov rdx, rdi
mov ebx, r8d
mov rbp, r9
call fcn.1400423a0
mov r9, rbp
mov r8d, ebx
mov r11, qword [rsp + 0x30]
mov rax, qword [r13 + 0x38]
mov qword [rsp + 0xa0], rdi
mov rcx, qword [r13 + 0x30]
mov byte [rcx + rax], 0x3a
inc qword [r13 + 0x38]
mov r10b, 1
mov dword [rsp + 0x80], 1
jmp 0x14004cfae
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x5c], r8d
mov qword [rsp + 0x68], r15
mov rcx, qword [rsp + 0xa8]
lea r8, [rsp + 0x60]
mov rbp, r9
call fcn.14004f5c0
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xe0], r13
lea rax, [0x14006d9e8]
mov qword [rsp + 0xe8], rax
mov rcx, rbp
call fcn.140057410
test rax, rax
je 0x14004d1c3
mov rdi, rax
mov rbx, rdx
mov rcx, qword [rsp + 0x30]
mov rdx, rbx
call fcn.140049300
mov r13, qword [rsp + 0xa8]
mov rbp, qword [r13 + 0x38]
mov rcx, qword [r13 + 0x30]
add rcx, rbp
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbp, rbx
mov qword [r13 + 0x38], rbp
lea rbp, [rsp + 0xd8]
mov rcx, rbp
call fcn.140057410
mov rdi, rax
mov rbx, rdx
test rax, rax
jne 0x14004d176
mov r10d, dword [rsp + 0x58]
test r10b, r10b
mov ecx, dword [rsp + 0x40]
movzx ecx, cl
mov eax, 1
cmove ecx, eax
cmp r12d, 2
mov r11, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x5c]
mov r9, rbp
mov r13, qword [rsp + 0xa8]
jge 0x14004cfaa
cmp dword [rsp + 0x80], 0
je 0x14004dde1
mov dword [rsp + 0x40], ecx
mov rdx, qword [r13 + 0x38]
mov rdi, qword [rsp + 0xa0]
jmp 0x14004d268
mov rdi, qword [r13 + 0x38]
mov rax, rdi
shr rax, 0x20
je 0x14004d23f
jmp 0x14004d53f
mov rdi, qword [r13 + 0x38]
mov rax, rdi
shr rax, 0x20
mov r15, rbx
jne 0x14004d53f
mov r10, r15
mov edx, edi
jmp 0x14004d2ba
mov dword [rsp + 0x40], 0
xor r10d, r10d
mov rdx, qword [r13 + 0x38]
mov rax, rdx
shr rax, 0x20
mov edi, edx
je 0x14004d268
jmp 0x14004d53f
mov rdx, rdi
mov eax, dword [rsp + 0x40]
or al, r10b
test al, 1
je 0x14004d2a8
cmp rdx, qword [r11]
mov r10, qword [rsp + 0x48]
jne 0x14004d293
mov rcx, r11
call fcn.1400423a0
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x30]
mov rdx, qword [r13 + 0x38]
mov rax, qword [r13 + 0x30]
mov byte [rax + rdx], 0x40
mov rdx, qword [r13 + 0x38]
inc rdx
mov qword [r13 + 0x38], rdx
jmp 0x14004d2ad
mov r10, qword [rsp + 0x48]
mov rax, rdx
shr rax, 0x20
jne 0x14004d53f
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r10
mov rdx, r14
sub rdx, r10
je 0x14004d54d
lea rdi, [r10 + 1]
mov rcx, r10
xor r10d, r10d
mov r9d, 0x2600
movabs r8, 0x8000800800000000
xor r11d, r11d
xor r15d, r15d
xor r12d, r12d
mov rbx, rcx
mov al, byte [rcx]
movzx esi, al
test sil, sil
jns 0x14004d368
mov ecx, esi
and ecx, 0x1f
movzx ebp, byte [rdi]
and ebp, 0x3f
cmp sil, 0xdf
jbe 0x14004d353
movzx esi, byte [rdi + 1]
shl ebp, 6
and esi, 0x3f
or esi, ebp
cmp al, 0xf0
jb 0x14004d35f
movzx eax, byte [rdi + 2]
add rdi, 3
and ecx, 7
shl ecx, 0x12
shl esi, 6
and eax, 0x3f
or eax, esi
or eax, ecx
mov esi, eax
jmp 0x14004d368
inc rdi
shl ecx, 6
or ecx, ebp
mov esi, ecx
jmp 0x14004d368
add rdi, 2
shl ecx, 0xc
or esi, ecx
mov rcx, rdi
mov ebp, 1
cmp esi, 0x5a
jg 0x14004d387
cmp esi, 0x3f
ja 0x14004d3d8
mov eax, esi
bt r9, rax
jae 0x14004d3a2
mov r11b, 1
jmp 0x14004d3ff
cmp esi, 0x5c
jg 0x14004d3b3
cmp esi, 0x5b
je 0x14004d3c0
cmp esi, 0x5c
jne 0x14004d3d8
cmp byte [rsp + 0x1e0], 2
je 0x14004d3ae
jmp 0x14004d41b
cmp rax, 0x3a
jne 0x14004d3c8
test r10b, 1
je 0x14004d41b
inc r15
jmp 0x14004d3ff
cmp esi, 0x5d
jne 0x14004d3d0
inc r15
xor r10d, r10d
jmp 0x14004d3ff
inc r15
mov r10b, 1
jmp 0x14004d3ff
bt r8, rax
jae 0x14004d3d8
jmp 0x14004d41b
cmp esi, 0x110000
je 0x14004d41b
inc r15
cmp esi, 0x80
jb 0x14004d3ff
mov ebp, 2
cmp esi, 0x800
jb 0x14004d3ff
cmp esi, 0x10000
mov ebp, 4
sbb rbp, 0
add r12, rbp
xor edi, edi
cmp rcx, r14
setne al
je 0x14004d41b
mov dil, al
add rdi, rcx
test rcx, rcx
jne 0x14004d30c
test r11b, 1
jne 0x14004d555
test r15, r15
mov r11, qword [rsp + 0x30]
mov r10, rbx
je 0x14004d50c
mov r8d, 0x2600
mov rbp, r10
dec r15
cmp rbp, r14
je 0x14004d50c
lea rax, [rbp + 1]
mov qword [rsp + 0x90], rax
mov cl, byte [rbp]
movzx edi, cl
test dil, dil
js 0x14004d467
mov rbp, rax
jmp 0x14004d4dd
mov esi, edi
and esi, 0x1f
lea rbx, [rbp + 2]
mov qword [rsp + 0x90], rbx
movzx eax, byte [rbp + 1]
and eax, 0x3f
cmp dil, 0xdf
jbe 0x14004d4c9
lea r9, [rbp + 3]
mov qword [rsp + 0x90], r9
movzx edi, byte [rbp + 2]
shl eax, 6
and edi, 0x3f
or edi, eax
cmp cl, 0xf0
jb 0x14004d4d5
lea rax, [rbp + 4]
mov qword [rsp + 0x90], rax
movzx ecx, byte [rbp + 3]
and esi, 7
shl esi, 0x12
shl edi, 6
and ecx, 0x3f
or ecx, edi
or ecx, esi
mov rbp, rax
mov edi, ecx
jmp 0x14004d4dd
shl esi, 6
or esi, eax
mov rbp, rbx
mov edi, esi
jmp 0x14004d4dd
shl esi, 0xc
or edi, esi
mov rbp, r9
cmp edi, 0xd
ja 0x14004d4ef
bt r8d, edi
jae 0x14004d4ef
mov edi, 0x110000
jmp 0x14004d4f7
cmp edi, 0x110000
je 0x14004d50c
cmp edi, 0x110000
je 0x14004d442
test r15, r15
jne 0x14004d43f
test r12, r12
je 0x14004d588
cmp r12, rdx
jae 0x14004d5bc
cmp byte [r10 + r12], 0xbf
jg 0x14004d5c2
lea rax, [0x14006da68]
mov qword [rsp + 0x20], rax
mov rcx, r10
xor r8d, r8d
mov r9, r12
call fcn.140059880
mov r14, qword [rsp + 0x50]
mov byte [r14], 9
jmp 0x14004da36
xor r12d, r12d
mov r15b, 1
jmp 0x14004d58e
lea rdi, [rsp + 0xd8]
lea r8, [rsp + 0x88]
mov rcx, rdi
mov rdx, r15
call fcn.140049520
mov r14, qword [rdi]
mov rbx, qword [rdi + 8]
mov r12, qword [rdi + 0x10]
xor r15d, r15d
mov r10, rbx
mov r11, qword [rsp + 0x30]
jmp 0x14004d58e
mov r15b, 1
xor r12d, r12d
cmp byte [rsp + 0x1e0], 2
je 0x14004d5a4
test r12, r12
jne 0x14004d5a4
xor esi, esi
jmp 0x14004d70d
cmp byte [rsp + 0x1e0], 2
jne 0x14004d74e
test r12, r12
jne 0x14004d5d3
xor r12d, r12d
jmp 0x14004d637
jne 0x14004d525
mov r15b, 1
cmp byte [rsp + 0x1e0], 2
jne 0x14004d74e
cmp byte [r10], 0x5b
jne 0x14004d637
mov sil, 4
cmp byte [r10 + r12 - 1], 0x5d
jne 0x14004d70d
mov r9, r12
dec r9
je 0x14004dffc
cmp byte [r10 + 1], 0xbf
jle 0x14004dffc
inc r10
add r12, 0xfffffffffffffffe
lea rdi, [rsp + 0xd8]
mov rcx, rdi
mov rdx, r10
mov r8, r12
call fcn.14004a6f0
cmp byte [rdi], 0
je 0x14004dc9d
mov sil, byte [rsp + 0xd9]
mov r11, qword [rsp + 0x30]
jmp 0x14004d70d
mov rdi, r10
add r10, r12
mov r8d, 0x70000003
movabs r9, 0x400800900002601
mov qword [rsp + 0x48], rdi
xor ebp, ebp
cmp rdi, r10
setne al
je 0x14004dcc7
mov bpl, al
add rbp, rdi
mov al, byte [rdi]
movzx esi, al
test sil, sil
js 0x14004d675
mov rdi, rbp
jmp 0x14004d6e7
mov ecx, esi
and ecx, 0x1f
movzx edx, byte [rbp]
and edx, 0x3f
cmp sil, 0xdf
jbe 0x14004d6ca
lea rdi, [rbp + 2]
movzx r11d, byte [rbp + 1]
shl edx, 6
and r11d, 0x3f
or r11d, edx
cmp al, 0xf0
jb 0x14004d6d9
movzx esi, byte [rdi]
and ecx, 7
shl ecx, 0x12
shl r11d, 6
and esi, 0x3f
or esi, r11d
or esi, ecx
cmp esi, 0x110000
mov r11, qword [rsp + 0x30]
je 0x14004dcc7
add rbp, 3
jmp 0x14004d670
inc rbp
shl ecx, 6
or ecx, edx
mov rdi, rbp
mov esi, ecx
jmp 0x14004d6e7
shl ecx, 0xc
or r11d, ecx
mov esi, r11d
mov r11, qword [rsp + 0x30]
cmp esi, 0x3a
ja 0x14004d6f4
mov eax, esi
bt r9, rax
jb 0x14004d70a
add esi, 0xffffffc1
cmp esi, 0x1e
ja 0x14004d652
bt r8d, esi
jae 0x14004d652
mov sil, 5
mov dil, 3
test r15b, r15b
jne 0x14004d734
test r14, r14
je 0x14004d734
mov r8, r14
not r8
shr r8, 0x3f
mov rcx, rbx
mov rdx, r14
call fcn.140018180
mov r11, qword [rsp + 0x30]
cmp dil, 3
jne 0x14004d744
mov r14, qword [rsp + 0x50]
jmp 0x14004da33
mov r14, qword [rsp + 0x50]
jmp 0x14004d7e1
lea rdi, [rsp + 0xd8]
mov rcx, rdi
mov rdx, r10
mov r8, r12
call fcn.140049740
mov dil, byte [rdi]
cmp dil, 3
jne 0x14004d77f
mov sil, byte [rsp + 0xd9]
mov dil, 3
mov r11, qword [rsp + 0x30]
jmp 0x14004d710
mov sil, byte [rsp + 0xd9]
movups xmm0, xmmword [rsp + 0xda]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rsp + 0xe8]
movups xmmword [rsp + 0xbe], xmm0
mov r12, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x90]
test r14, r14
sete al
or r15b, al
jne 0x14004d7d7
mov r8, r14
not r8
shr r8, 0x3f
mov rcx, rbx
mov rdx, r14
call fcn.140018180
mov r14, qword [rsp + 0x50]
mov r11, qword [rsp + 0x30]
lea r15, [rsp + 0xb0]
movups xmm0, xmmword [r15 + 0xe]
lea rcx, [rsp + 0x150]
movups xmmword [rcx + 0xe], xmm0
movaps xmm0, xmmword [r15]
movaps xmmword [rcx], xmm0
lea rax, [rsp + 0x60]
mov byte [rax], dil
mov byte [rax + 1], sil
movaps xmm0, xmmword [rcx]
movups xmmword [rax + 2], xmm0
movups xmm0, xmmword [rcx + 0xe]
movups xmmword [rax + 0x10], xmm0
mov qword [r15], rax
lea rax, [0x14004a2d0]
mov qword [r15 + 8], rax
mov qword [rcx], r11
lea r8, [rsp + 0xd8]
mov qword [r8], 0
lea rax, str._rustc_fc594f15669680fa70d255faec3ca3fb507c3405librarycore_src_strpattern.rs
mov qword [r8 + 0x10], rax
mov eax, 1
mov qword [r8 + 0x18], rax
mov qword [r8 + 0x20], r15
mov qword [r8 + 0x28], rax
lea rdx, [0x14006d698]
call fcn.14000ab40
test al, al
jne 0x14004dfd3
mov r10, qword [r13 + 0x38]
mov rax, r10
shr rax, 0x20
mov sil, 9
mov r11, qword [rsp + 0x30]
jne 0x14004da09
mov eax, 0x2600
mov r8, rbp
cmp rbp, r12
je 0x14004da70
mov bl, byte [rbp]
movzx ecx, bl
test cl, cl
js 0x14004d8a5
inc rbp
jmp 0x14004d8f9
mov edx, ecx
and edx, 0x1f
movzx edi, byte [rbp + 1]
and edi, 0x3f
cmp cl, 0xdf
jbe 0x14004d8e3
movzx ecx, byte [rbp + 2]
shl edi, 6
and ecx, 0x3f
or ecx, edi
cmp bl, 0xf0
jb 0x14004d8f0
movzx ebx, byte [rbp + 3]
add rbp, 4
and edx, 7
shl edx, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, edx
mov ecx, ebx
jmp 0x14004d8f9
add rbp, 2
shl edx, 6
or edx, edi
mov ecx, edx
jmp 0x14004d8f9
add rbp, 3
shl edx, 0xc
or ecx, edx
cmp ecx, 0xd
ja 0x14004d90a
bt eax, ecx
jae 0x14004d90a
mov ecx, 0x110000
jmp 0x14004d916
cmp ecx, 0x110000
je 0x14004da70
cmp ecx, 0x110000
je 0x14004d88d
cmp ecx, 0x3a
jne 0x14004da70
mov r8b, byte [r13 + 0x40]
xor eax, eax
mov qword [rsp + 0x40], rax
mov r9b, 1
mov edx, 0x2600
mov rdi, rbp
cmp rdi, r12
je 0x14004de12
mov bl, byte [rdi]
movzx ecx, bl
test cl, cl
js 0x14004d958
inc rdi
jmp 0x14004d9ac
mov esi, ecx
and esi, 0x1f
movzx eax, byte [rdi + 1]
and eax, 0x3f
cmp cl, 0xdf
jbe 0x14004d996
movzx ecx, byte [rdi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
cmp bl, 0xf0
jb 0x14004d9a3
movzx eax, byte [rdi + 3]
add rdi, 4
and esi, 7
shl esi, 0x12
shl ecx, 6
and eax, 0x3f
or eax, ecx
or eax, esi
mov ecx, eax
jmp 0x14004d9ac
add rdi, 2
shl esi, 6
or esi, eax
mov ecx, esi
jmp 0x14004d9ac
add rdi, 3
shl esi, 0xc
or ecx, esi
cmp ecx, 0xd
ja 0x14004d9bd
bt edx, ecx
jae 0x14004d9bd
mov ecx, 0x110000
jmp 0x14004d9c9
cmp ecx, 0x110000
je 0x14004de12
cmp ecx, 0x110000
je 0x14004d941
lea eax, [rcx - 0x30]
cmp eax, 0xa
jae 0x14004ddea
mov rcx, qword [rsp + 0x40]
lea ecx, [rcx + rcx*4]
lea ecx, [rax + rcx*2]
mov sil, 2
xor r9d, r9d
mov rbp, rdi
mov rax, rcx
mov qword [rsp + 0x40], rcx
cmp ecx, 0xffff
jbe 0x14004d941
cmp byte [rsp + 0x60], 0
jne 0x14004da33
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x14004da33
mov r8, rdx
not r8
shr r8, 0x3f
mov rcx, qword [rsp + 0x70]
call fcn.140018180
mov r11, qword [rsp + 0x30]
mov byte [r14], sil
mov dword [r14 + 0x18], 2
mov rdx, qword [r11]
test rdx, rdx
je 0x14004da59
mov r8, rdx
not r8
shr r8, 0x3f
mov rcx, qword [r13 + 0x30]
call fcn.140018180
mov rax, r14
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, r13
xor r9d, r9d
mov qword [rsp + 0x40], rax
mov r13, r8
movzx eax, byte [rsp + 0x60]
mov edx, dword [rsp + 0x61]
mov r15, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
test eax, eax
je 0x14004da9e
cmp eax, 1
jne 0x14004dad5
mov bl, 2
jmp 0x14004dace
mov bl, 1
test r15, r15
je 0x14004dace
mov r8, r15
not r8
shr r8, 0x3f
mov ebp, edx
mov rdx, r15
mov rdi, r10
mov ebx, r9d
call fcn.140018180
mov r9d, ebx
mov bl, 1
mov edx, ebp
mov r10, rdi
mov r11, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
jmp 0x14004daf4
mov qword [rsp + 0x48], rcx
mov al, byte [rsp + 0x67]
mov byte [rsp + 0xda], al
movzx eax, word [rsp + 0x65]
mov word [rsp + 0xd8], ax
mov bl, 3
mov al, byte [rsp + 0xda]
mov byte [rsp + 0x9e], al
movzx ecx, word [rsp + 0xd8]
mov word [rsp + 0x9c], cx
mov byte [rsp + 0xb2], al
mov word [rsp + 0xb0], cx
mov r14, qword [rsi + 0x38]
mov rax, r14
shr rax, 0x20
jne 0x14004dbe7
mov byte [rsp + 0x3f], bl
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r9d
mov qword [rsp + 0x30], r10
lea r8, [rsp + 0xd8]
mov byte [r8], 1
mov qword [rsp + 0x20], r13
mov rcx, rsi
mov bpl, byte [rsp + 0x1e0]
mov edx, ebp
mov r9, r12
call fcn.14004e060
lea rbx, [rsp + 0xd8]
mov ecx, 9
mov rdi, rbx
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rsi, [rsp + 0x60]
mov rcx, rsi
mov rdx, rbx
mov r8d, ebp
mov edi, dword [rsp + 0x1e8]
mov r9d, edi
call fcn.14004eae0
mov eax, dword [rsi]
cmp eax, 2
jne 0x14004dc00
mov al, byte [rsp + 0x64]
mov r14, qword [rsp + 0x50]
mov byte [r14], al
mov dword [r14 + 0x18], 2
mov rdx, qword [rsp + 0x100]
test rdx, rdx
je 0x14004da59
mov r8, rdx
not r8
shr r8, 0x3f
mov rcx, qword [rsp + 0x108]
jmp 0x14004da54
mov r14, qword [rsp + 0x50]
mov byte [r14], 9
mov dword [r14 + 0x18], 2
mov r13, rsi
jmp 0x14004da3e
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x50]
mov qword [rdx + 0x10], rcx
movups xmm0, xmmword [rsp + 0x100]
movups xmmword [rdx], xmm0
mov cl, byte [rsp + 0x3f]
mov byte [rdx + 0x40], cl
mov ecx, dword [rsp + 0x58]
mov dword [rdx + 0x41], ecx
movzx ecx, word [rsp + 0xb0]
mov word [rdx + 0x45], cx
mov cl, byte [rsp + 0xb2]
mov byte [rdx + 0x47], cl
mov qword [rdx + 0x48], r15
mov rcx, qword [rsp + 0x48]
mov byte [rdx + 0x50], cl
mov dword [rdx + 0x18], eax
mov eax, dword [rsp + 0x64]
mov dword [rdx + 0x1c], eax
mov rax, qword [rsp + 0x68]
mov qword [rdx + 0x20], rax
mov dword [rdx + 0x28], edi
mov rax, qword [rsp + 0xa0]
mov dword [rdx + 0x2c], eax
mov rax, qword [rsp + 0x80]
mov dword [rdx + 0x30], eax
mov rax, qword [rsp + 0x30]
mov dword [rdx + 0x34], eax
mov dword [rdx + 0x38], r14d
mov r14, rdx
mov eax, dword [rsp + 0x5c]
mov word [rdx + 0x3c], ax
mov rax, qword [rsp + 0x40]
mov word [rdx + 0x3e], ax
jmp 0x14004da59
mov sil, byte [rsp + 0xd9]
mov rax, qword [rsp + 0xda]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xe1]
mov qword [rsp + 0x67], rax
mov dil, 2
jmp 0x14004dd72
lea rdi, [rsp + 0x138]
mov rax, qword [rsp + 0x48]
mov qword [rdi], rax
mov qword [rdi + 8], r12
lea rax, [0x14006d830]
mov qword [rdi + 0x10], rax
xor eax, eax
lea rdx, [rsp + 0x120]
mov qword [rdx], rax
mov qword [rdx + 8], 1
mov qword [rdx + 0x10], rax
lea r8, [0x14006d668]
lea rsi, [rsp + 0xd8]
mov rcx, rsi
call fcn.14000aac0
mov rcx, rdi
mov rdx, rsi
call fcn.140004180
test al, al
jne 0x14004e022
movups xmm0, xmmword [rsp + 0x120]
movups xmmword [rsp + 0xde], xmm0
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0xee], rax
movups xmm0, xmmword [rsp + 0xd8]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0xe6]
mov qword [rsp + 0x6e], rax
mov rax, qword [rsp + 0xee]
mov qword [rsp + 0x76], rax
xor edi, edi
mov r11, qword [rsp + 0x30]
mov rax, qword [rsp + 0x6e]
mov qword [rsp + 0xbe], rax
mov rax, qword [rsp + 0x76]
mov qword [rsp + 0xc6], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xb0], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xb8], eax
movzx eax, word [rsp + 0x6c]
mov word [rsp + 0xbc], ax
mov al, byte [rsp + 0x6e]
mov byte [rsp + 0xbe], al
mov al, byte [rsp + 0x6f]
mov byte [rsp + 0xbf], al
mov r12, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x90]
jmp 0x14004d710
mov dword [rsp + 0x40], ecx
jmp 0x14004d251
test r8b, r8b
jne 0x14004de12
mov sil, 2
add ecx, 0xffffffdd
cmp ecx, 0x39
ja 0x14004da09
movabs rax, 0x200000010001001
bt rax, rcx
jae 0x14004da09
test r9b, 1
je 0x14004de26
mov rsi, r13
xor r9d, r9d
mov r13, rbp
jmp 0x14004da7e
mov eax, dword [rsp + 0x1e8]
test eax, eax
je case.default.0x14004de7b
mov r9d, eax
mov rcx, qword [r13 + 0x30]
cmp r10, r9
jbe 0x14004de5f
cmp byte [rcx + r9], 0xbf
jg 0x14004de61
lea rax, [0x14006da50]
mov qword [rsp + 0x20], rax
mov rdx, r10
xor r8d, r8d
call fcn.140059880
jne 0x14004de48
add eax, 0xfffffffe
cmp eax, 4
ja case.default.0x14004de7b
lea rdx, [0x14004e04c]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
movzx eax, word [rcx]
cmp eax, 0x7377
jne case.default.0x14004de7b
jmp 0x14004dec7
movzx edx, word [rcx]
xor edx, 0x7377
movzx ebx, byte [rcx + 2]
xor ebx, 0x73
mov al, 1
or bx, dx
je 0x14004dee3
movzx edx, word [rcx]
xor edx, 0x7466
movzx ecx, byte [rcx + 2]
xor ecx, 0x70
or cx, dx
jne case.default.0x14004de7b
mov cx, 0x15
jmp 0x14004df03
cmp dword [rcx], 0x70747468
jne case.default.0x14004de7b
mov al, 1
mov cx, 0x50
jmp 0x14004df03
mov eax, 0x70747468
xor eax, dword [rcx]
movzx ecx, byte [rcx + 4]
xor ecx, 0x73
or ecx, eax
jne case.default.0x14004de7b
mov al, 1
mov cx, 0x1bb
jmp 0x14004df03
mov eax, 0x68706f67
xor eax, dword [rcx]
movzx ecx, word [rcx + 4]
xor ecx, 0x7265
or ecx, eax
sete al
mov cx, 0x46
test al, al
je case.default.0x14004de7b
cmp cx, word [rsp + 0x40]
je 0x14004de18
mov rdi, r10
lea rax, [rsp + 0x138]
mov rcx, qword [rsp + 0x40]
mov word [rax], cx
mov qword [rsp + 0xb0], rax
lea rax, [0x14000fea0]
mov qword [rsp + 0xb8], rax
lea rcx, [rsp + 0x150]
mov qword [rcx], r11
lea r8, [rsp + 0xd8]
mov qword [r8], 0
lea rax, str.:toolkit_mozapps_defaultagent_rust_src_viaduct_wininet_mod.rs
mov qword [r8 + 0x10], rax
mov eax, 1
mov qword [r8 + 0x18], rax
mov qword [r8 + 0x20], r15
mov qword [r8 + 0x28], rax
lea rdx, [0x14006d698]
call fcn.14000ab40
test al, al
jne 0x14004e019
mov rsi, r13
mov r9w, 1
mov r13, rbp
mov r11, qword [rsp + 0x30]
mov r10, rdi
jmp 0x14004da7e
lea rcx, str.called__Option::unwrap____on_a__None__valueassertion_failed:_idx___CAPACITY_rustc_fc594f15669680fa70d255faec3ca3fb507c3405library_alloc_srccollections_btree_node.rs
lea r8, [0x14006d9f8]
mov edx, 0x2b
call fcn.140059410
lea rcx, [0x14006d968]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov rdx, rax
xor r8d, r8d
mov r9, r13
call fcn.140059880
lea rax, [0x14006da10]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14006b698]
lea r8, [rsp + 0x38]
mov edx, 0x2b
call fcn.140059760
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_url_src_host.rs
mov qword [rsp + 0x20], rax
mov r8d, 1
mov rcx, r10
mov rdx, r12
call fcn.140059880
lea rax, [0x14006da38]
jmp 0x14004dfda
lea rax, [0x14006b5b8]
mov qword [rsp + 0x20], rax
lea rcx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_fc594f15669680fa70d255faec3ca3fb507c3405library_alloc_src_string.rs
lea r9, [0x14006b698]
lea r8, [rsp + 0x38]
mov edx, 0x37
call fcn.140059760
int3