Function at 0x1400f3880
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, 0x168
mov rax, r8
mov rdi, rdx
mov r15, rcx
test r8, r8
je 0x1400f38fc
cmp byte [rdi], 0x5b
jne 0x1400f38fc
cmp byte [rdi + rax - 1], 0x5d
jne 0x1400f3992
mov r9, rax
dec r9
je 0x1400f52ad
cmp byte [rdi + 1], 0xbf
jle 0x1400f52ad
inc rdi
add rax, 0xfffffffffffffffe
lea rcx, [rsp + 0x60]
mov rdx, rdi
mov r8, rax
call fcn.1400f5680
cmp byte [rsp + 0x60], 0
je 0x1400f4922
movzx eax, byte [rsp + 0x61]
mov byte [r15 + 1], al
mov al, 3
mov byte [r15], al
jmp 0x1400f4d33
lea rbx, [rdi + rax]
lea rcx, [rax - 2]
lea rdx, [rax - 1]
xor esi, esi
mov r8d, 0xffffffff
mov qword [rsp + 0xb8], r15
jmp 0x1400f3923
inc rsi
cmp rax, rsi
je 0x1400f3bcb
cmp byte [rdi + rsi], 0x25
jne 0x1400f3920
cmp rdx, rsi
je 0x1400f3920
movzx r9d, byte [rdi + rsi + 1]
lea ebp, [r9 - 0x30]
cmp ebp, 0xa
jb 0x1400f395f
or r9d, 0x20
add r9d, 0xffffff9f
add r9d, 0xa
cmovb r9d, r8d
mov ebp, r9d
cmp r9d, 0xf
ja 0x1400f3920
cmp rcx, rsi
je 0x1400f3920
movzx r9d, byte [rdi + rsi + 2]
lea r12d, [r9 - 0x30]
cmp r12d, 0xa
jb 0x1400f399d
or r9d, 0x20
add r9d, 0xffffff9f
add r9d, 0xa
cmovb r9d, r8d
cmp r9d, 0x10
jae 0x1400f3920
add rsi, rdi
mov r12d, r9d
jmp 0x1400f39a0
mov word [r15], 0x403
jmp 0x1400f4d33
add rsi, rdi
add rsi, 3
cmp rsi, rdi
jb 0x1400f51d6
mov r14, rsi
sub r14, rbx
add r14, rax
cmp r14, 3
jb 0x1400f51d6
add r14, 0xfffffffffffffffd
cmp r14, rax
ja 0x1400f52e6
test r14, r14
je 0x1400f3a20
js 0x1400f528c
movzx eax, byte [0x1401e61e9]
mov rcx, qword [0x1401e6138]
test rcx, rcx
jne 0x1400f39ff
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400f3a11
mov rcx, rax
mov qword [0x1401e6138], rax
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapAlloc
mov r15, rax
test rax, rax
jne 0x1400f3a26
mov ecx, 1
mov rdx, r14
call fcn.140002ac0
ud2
mov r15d, 1
shl bpl, 4
or r12b, bpl
mov rcx, r15
mov rdx, rdi
mov r8, r14
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], r14
lea r15, [rsp + 0x60]
mov rcx, r15
mov rdx, r14
call fcn.1400216d0
mov rax, qword [rsp + 0x60]
mov r14, qword [rsp + 0x70]
mov byte [rax + r14], r12b
inc r14
mov qword [rsp + 0x70], r14
mov ebp, 0xffffffff
jmp 0x1400f3a9a
mov r13, rbx
nop word [rax + rax]
cmp r14, qword [rsp + 0x68]
je 0x1400f3b20
mov byte [rax + r14], r12b
inc r14
mov qword [rsp + 0x70], r14
mov rsi, r13
cmp rsi, rbx
je 0x1400f3b59
lea r13, [rsi + 1]
movzx r12d, byte [rsi]
cmp r12b, 0x25
jne 0x1400f3a80
mov r12b, 0x25
cmp r13, rbx
je 0x1400f3a77
movzx edx, byte [rsi + 1]
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb 0x1400f3ad8
or edx, 0x20
add edx, 0xffffff9f
add edx, 0xa
cmovb edx, ebp
mov ecx, edx
cmp edx, 0xf
ja 0x1400f3a80
lea rdx, [rsi + 2]
cmp rdx, rbx
je 0x1400f3a80
movzx r8d, byte [rsi + 2]
lea edx, [r8 - 0x30]
cmp edx, 0xa
jb 0x1400f3b0c
or r8d, 0x20
add r8d, 0xffffff9f
add r8d, 0xa
cmovb r8d, ebp
mov edx, r8d
cmp r8d, 0xf
ja 0x1400f3a80
add rsi, 3
shl cl, 4
or dl, cl
mov r13, rsi
mov r12d, edx
jmp 0x1400f3a80
mov rax, rbx
sub rax, r13
add rax, 2
jb 0x1400f51f0
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
lea r8, [rdx + 1]
mov rcx, r15
mov rdx, r14
call fcn.140027800
mov rax, qword [rsp + 0x60]
jmp 0x1400f3a8b
mov r15, qword [rsp + 0x60]
test r15, r15
je 0x1400f3bcb
mov rsi, qword [rsp + 0x68]
lea rcx, [rsp + 0x60]
mov rdx, r15
mov r8, r14
call fcn.140002e90
cmp qword [rsp + 0x60], 0
je 0x1400f4938
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xf0], rax
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0xe0], xmm0
test rsi, rsi
je 0x1400f3be1
mov rcx, qword [0x1401e6138]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
mov rbx, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xf0]
test rbx, rbx
je 0x1400f3bf6
jmp 0x1400f3bfe
sub rbx, rdi
lea rcx, [rsp + 0xe0]
mov rdx, rdi
mov r8, rbx
call fcn.140002e90
mov rbx, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xf0]
test rbx, rbx
jne 0x1400f3bfe
mov rbx, qword [rsp + 0xe8]
test rdi, rdi
je 0x1400f3c48
js 0x1400f528c
movzx eax, byte [0x1401e61e9]
mov rcx, qword [0x1401e6138]
test rcx, rcx
jne 0x1400f3c34
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400f3e52
mov rcx, rax
mov qword [0x1401e6138], rax
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
jne 0x1400f3c4d
jmp 0x1400f3e52
mov eax, 1
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 0
mov byte [rsp + 0x144], 0
mov dword [rsp + 0x140], 0
mov qword [rsp + 0x110], 1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x118], xmm0
mov qword [rsp + 0x128], 1
movdqu xmmword [rsp + 0x130], xmm0
test rdi, rdi
je 0x1400f3ddf
lea rcx, [rbx + rdi]
xor r8d, r8d
movdqa xmm0, xmmword [0x140146b90]
mov rdx, rbx
jmp 0x1400f3ccf
xor r10d, r10d
mov r8, r10
cmp rdx, rcx
je 0x1400f3e61
movzx r11d, byte [rdx]
test r11b, r11b
js 0x1400f3cf0
inc rdx
mov r9d, r11d
cmp r9d, 0x2e
jne 0x1400f3d80
jmp 0x1400f3cc0
mov r9d, r11d
and r9d, 0x1f
movzx esi, byte [rdx + 1]
and esi, 0x3f
cmp r11b, 0xdf
jbe 0x1400f3d46
movzx r10d, byte [rdx + 2]
shl esi, 6
and r10d, 0x3f
or r10d, esi
cmp r11b, 0xf0
jb 0x1400f3d5c
movzx r11d, byte [rdx + 3]
add rdx, 4
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r11d, 0x3f
or r11d, r10d
or r11d, r9d
mov r9d, r11d
cmp r9d, 0x2e
jne 0x1400f3d80
jmp 0x1400f3cc0
add rdx, 2
shl r9d, 6
or r9d, esi
cmp r9d, 0x2e
jne 0x1400f3d80
jmp 0x1400f3cc0
add rdx, 3
shl r9d, 0xc
or r10d, r9d
mov r9d, r10d
cmp r9d, 0x2e
je 0x1400f3cc0
nop word cs:[rax + rax]
cmp r9d, 0x110000
je 0x1400f3e61
test r8, r8
jne 0x1400f3d98
cmp r9d, 0x2d
je 0x1400f3ddf
mov r10d, 5
cmp r8, 4
ja 0x1400f3dc3
movdqa xmmword [rsp + 0x60], xmm0
je 0x1400f50a4
cmp r9d, dword [rsp + r8*4 + 0x60]
jne 0x1400f3dc3
inc r8
mov r10, r8
cmp r8, 4
je 0x1400f3ddf
lea r8d, [r9 - 0x61]
cmp r8d, 0x1a
jb 0x1400f3cc3
add r9d, 0xffffffd0
cmp r9d, 0xa
jb 0x1400f3cc3
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xd4]
mov rdx, rbx
mov r8, rdi
xor r9d, r9d
call fcn.14000f590
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x1400f3e90
js 0x1400f528c
movzx eax, byte [0x1401e61e9]
mov rcx, qword [0x1401e6138]
test rcx, rcx
jne 0x1400f3e43
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400f3e52
mov rcx, rax
mov qword [0x1401e6138], rax
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
jne 0x1400f3e95
mov ecx, 1
mov rdx, rdi
call fcn.140002ac0
ud2
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x50], rdi
xor esi, esi
xor ebx, ebx
xor ebp, ebp
xor r15d, r15d
xor r13d, r13d
xor r8d, r8d
xor r12d, r12d
xor edx, edx
xor r14d, r14d
jmp 0x1400f4a63
mov eax, 1
lea rsi, [rsp + 0x128]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x70], rcx
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 0
cmp qword [rsp + 0x130], 0
je 0x1400f3ee5
mov r8, qword [rsp + 0x128]
mov rcx, qword [0x1401e6138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
movabs rbx, 0x8080808080808080
mov rax, qword [rsp + 0x70]
mov qword [rsi + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x60]
movdqu xmmword [rsi], xmm0
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x138]
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x98], rax
mov word [rsp + 0xa0], 1
mov bpl, 1
jmp 0x1400f3fa3
mov rcx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
sub rcx, r15
cmp rcx, r12
jb 0x1400f4792
mov rcx, qword [rsp + 0x40]
add rcx, r15
mov rdx, rax
mov r8, r12
call sub.msvcrt.dll_memcpy
add r12, r15
mov qword [rsp + 0x50], r12
xor ebp, ebp
lea rcx, [rsp + 0x60]
call fcn.1400c5250
test rax, rax
je 0x1400f47b2
mov r12, rdx
test bpl, 1
jne 0x1400f3ff1
mov rdx, qword [rsp + 0x50]
cmp rdx, qword [rsp + 0x48]
jne 0x1400f3fe0
lea rcx, [rsp + 0x40]
mov rsi, rax
call fcn.140047930
mov rax, rsi
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + rdx], 0x2e
inc rdx
mov qword [rsp + 0x50], rdx
mov rcx, r12
cmp r12, 8
jb 0x1400f4050
lea rdx, [rax + 7]
and rdx, 0xfffffffffffffff8
mov r8, rdx
sub r8, rax
mov rcx, r12
cmp r8, r12
ja 0x1400f4050
test qword [rax], rbx
jne 0x1400f4067
cmp rdx, rax
mov ecx, 8
cmove r8, rcx
lea rcx, [r12 - 8]
cmp r8, rcx
jae 0x1400f403f
nop dword [rax + rax]
test qword [rax + r8], rbx
jne 0x1400f4067
add r8, 8
cmp r8, rcx
jb 0x1400f4030
test qword [rax + rcx], rbx
jne 0x1400f4067
jmp 0x1400f3f70
mov rdx, rcx
sub rdx, 1
jb 0x1400f3f70
cmp byte [rax + rcx - 1], 0
mov rcx, rdx
jns 0x1400f4050
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
sub rax, rsi
mov r8, rsi
cmp rax, 3
jbe 0x1400f41d0
mov qword [rsp + 0x148], rsi
mov r9, qword [rsp + 0x40]
mov dword [r9 + r8], 0x2d2d6e78
add r8, 4
mov qword [rsp + 0x50], r8
xor ebp, ebp
test r12, r12
je 0x1400f3fa3
mov rsi, qword [rsp + 0x100]
mov r14, rsi
add r14, r12
xor r15d, r15d
jmp 0x1400f40f0
mov byte [r9 + r8], dil
inc r8
mov qword [rsp + 0x50], r8
inc r15d
je 0x1400f4ec8
inc ebp
cmp rsi, r14
je 0x1400f41f0
movzx edi, byte [rsi]
test dil, dil
js 0x1400f4110
inc rsi
mov r12d, ebp
inc r12d
jne 0x1400f41a0
jmp 0x1400f4750
mov eax, edi
and eax, 0x1f
movzx edx, byte [rsi + 1]
and edx, 0x3f
cmp dil, 0xdf
jbe 0x1400f4165
movzx ecx, byte [rsi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp dil, 0xf0
jb 0x1400f417d
movzx edi, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edi, 0x3f
or edi, ecx
or edi, eax
cmp edi, 0x110000
je 0x1400f41ed
add rsi, 4
mov r12d, ebp
inc r12d
jne 0x1400f41a0
jmp 0x1400f4750
add rsi, 2
shl eax, 6
or eax, edx
mov edi, eax
mov r12d, ebp
inc r12d
jne 0x1400f41a0
jmp 0x1400f4750
add rsi, 3
shl eax, 0xc
or ecx, eax
mov edi, ecx
mov r12d, ebp
inc r12d
je 0x1400f4750
nop word cs:[rax + rax]
cmp edi, 0x7f
ja 0x1400f40e5
cmp r8, qword [rsp + 0x48]
jne 0x1400f40d0
lea rcx, [rsp + 0x40]
mov rdx, r8
call fcn.140047930
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
jmp 0x1400f40d0
mov r8d, 4
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.1400153f0
mov r8, qword [rsp + 0x50]
jmp 0x1400f4089
mov r12d, ebp
test r15d, r15d
je 0x1400f4232
cmp r8, qword [rsp + 0x48]
jne 0x1400f4213
lea rcx, [rsp + 0x40]
mov rdx, r8
call fcn.140047930
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
mov byte [r9 + r8], 0x2d
inc r8
mov qword [rsp + 0x50], r8
xor edx, edx
mov ebp, 0
cmp r15d, r12d
jae 0x1400f3fa3
jmp 0x1400f4245
xor r15d, r15d
xor edx, edx
mov ebp, 0
cmp r15d, r12d
jae 0x1400f3fa3
mov dword [rsp + 0x3c], 0x48
mov eax, pe_nt_image_headers64
mov r10d, r15d
mov qword [rsp + 0xf8], r14
mov dword [rsp + 0x10c], r15d
mov dword [rsp + 0xc4], r12d
mov rcx, qword [rsp + 0x100]
mov ebp, edx
jmp 0x1400f428b
inc rcx
cmp eax, ebx
jbe 0x1400f4322
cmp rcx, r14
je 0x1400f523e
movzx ebx, byte [rcx]
test bl, bl
jns 0x1400f4280
mov edx, ebx
and edx, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp bl, 0xdf
jbe 0x1400f42e8
movzx r11d, byte [rcx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp bl, 0xf0
jb 0x1400f42f5
movzx ebx, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r11d, 6
and ebx, 0x3f
or ebx, r11d
or ebx, edx
cmp ebx, 0x110000
je 0x1400f523e
add rcx, 4
jmp 0x1400f4283
add rcx, 2
shl edx, 6
or edx, esi
mov ebx, edx
jmp 0x1400f4283
add rcx, 3
shl edx, 0xc
or r11d, edx
mov ebx, r11d
jmp 0x1400f4283
inc rcx
cmp ebx, edx
mov r11d, edx
cmovb r11d, ebx
cmp eax, edx
cmovbe ebx, r11d
cmp rcx, r14
je 0x1400f43a0
movzx edx, byte [rcx]
test dl, dl
jns 0x1400f4310
mov r11d, edx
and r11d, 0x1f
movzx edi, byte [rcx + 1]
and edi, 0x3f
cmp dl, 0xdf
jbe 0x1400f4377
movzx esi, byte [rcx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp dl, 0xf0
jb 0x1400f4387
movzx edx, byte [rcx + 3]
and r11d, 7
shl r11d, 0x12
shl esi, 6
and edx, 0x3f
or edx, esi
or edx, r11d
cmp edx, 0x110000
je 0x1400f43a0
add rcx, 4
jmp 0x1400f4313
add rcx, 2
shl r11d, 6
or r11d, edi
mov edx, r11d
jmp 0x1400f4313
add rcx, 3
shl r11d, 0xc
or esi, r11d
mov edx, esi
jmp 0x1400f4313
mov ecx, ebx
sub ecx, eax
jb 0x1400f5188
lea r11d, [r10 + 1]
mov eax, ebp
not eax
xor edx, edx
div r11d
cmp ecx, eax
ja 0x1400f473c
mov eax, ecx
mul r11d
jo 0x1400f51a2
add ebp, eax
jb 0x1400f51bc
mov esi, r10d
mov r11, qword [rsp + 0x100]
jmp 0x1400f43ec
mov r10d, esi
cmp r11, r14
je 0x1400f4708
movzx eax, byte [r11]
test al, al
js 0x1400f4400
inc r11
cmp eax, ebx
jb 0x1400f4470
jmp 0x1400f4478
mov ecx, eax
and ecx, 0x1f
movzx r10d, byte [r11 + 1]
and r10d, 0x3f
cmp al, 0xdf
jbe 0x1400f444f
movzx edx, byte [r11 + 2]
shl r10d, 6
and edx, 0x3f
or edx, r10d
cmp al, 0xf0
jb 0x1400f4461
movzx eax, byte [r11 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x1400f4730
add r11, 4
cmp eax, ebx
jb 0x1400f4470
jmp 0x1400f4478
add r11, 2
shl ecx, 6
or ecx, r10d
mov eax, ecx
cmp eax, ebx
jb 0x1400f4470
jmp 0x1400f4478
add r11, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, ebx
jae 0x1400f4478
inc ebp
je 0x1400f473c
cmp eax, ebx
jne 0x1400f43e0
mov dword [rsp + 0xb0], esi
mov qword [rsp + 0xc8], r11
mov eax, dword [rsp + 0x3c]
mov esi, eax
add esi, 0x1a
setb r15b
mov r12d, ebp
mov ebp, eax
neg ebp
mov edi, 0x24
mov dword [rsp + 0x58], r12d
jmp 0x1400f44c8
add r14d, r13d
mov byte [r9 + r8], r14b
inc r8
mov qword [rsp + 0x50], r8
add edi, 0x24
jb 0x1400f4908
cmp edi, dword [rsp + 0x3c]
jbe 0x1400f4510
test r15b, r15b
jne 0x1400f4a16
lea ecx, [rdi + rbp]
cmp edi, esi
mov eax, 0x1a
cmovae ecx, eax
mov eax, r12d
sub eax, ecx
jb 0x1400f4590
mov r10d, ecx
sub r10d, 0x24
ja 0x1400f48d4
je 0x1400f48ee
neg r10d
jmp 0x1400f4526
test r12d, r12d
je 0x1400f4580
dec r12d
mov r10d, 0x23
mov ecx, 1
mov eax, r12d
xor edx, edx
div r10d
mov r12d, eax
mov r13d, edx
add r13d, ecx
mov r14d, 0x61
cmp r13d, 0x1a
jb 0x1400f4550
mov r14d, 0x16
cmp r13d, 0x24
jae 0x1400f5224
cmp r8, qword [rsp + 0x48]
jne 0x1400f44b0
lea rcx, [rsp + 0x40]
mov rdx, r8
call fcn.140047930
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
jmp 0x1400f44b0
mov esi, 0x61
xor r12d, r12d
jmp 0x1400f459b
mov esi, 0x61
cmp r12d, 0x1a
jae 0x1400f45a9
mov r14, qword [rsp + 0xf8]
mov edi, dword [rsp + 0x58]
jmp 0x1400f45c4
mov esi, 0x16
cmp r12d, 0x24
mov r14, qword [rsp + 0xf8]
mov edi, dword [rsp + 0x58]
jae 0x1400f5224
cmp r8, qword [rsp + 0x48]
jne 0x1400f45e2
lea rcx, [rsp + 0x40]
mov rdx, r8
call fcn.140047930
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
add esi, r12d
mov byte [r9 + r8], sil
inc r8
mov qword [rsp + 0x50], r8
mov eax, dword [rsp + 0xb0]
mov r10d, eax
inc r10d
je 0x1400f4fb2
mov r15d, dword [rsp + 0x10c]
cmp eax, r15d
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r11d, r11d
mov eax, edi
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r10d
add eax, ecx
cmp eax, 0x1c8
jb 0x1400f4690
xor r11d, r11d
mov esi, 0x874e2a13
mov r12d, dword [rsp + 0xc4]
nop word cs:[rax + rax]
cmp eax, 0x3e58
jb 0x1400f469c
cmp eax, 0x88608
jb 0x1400f46bc
add r11d, 0x6c
jb 0x1400f4eae
mov edx, eax
imul rdx, rsi
shr rdx, 0x20
mov ecx, eax
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0xf
cmp eax, 0x12a5317
mov eax, ecx
ja 0x1400f4650
jmp 0x1400f46d0
mov ecx, eax
mov r12d, dword [rsp + 0xc4]
jmp 0x1400f46d0
add r11d, 0x24
mov ecx, eax
mov edx, 0xd41d41d5
imul rcx, rdx
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 5
mov ecx, eax
jmp 0x1400f46d0
add r11d, 0x48
mov eax, eax
imul rcx, rax, 0x6aff5f81
shr rcx, 0x29
nop dword [rax]
lea eax, [rcx*4]
lea eax, [rax + rax*8]
add ecx, 0x26
xor edx, edx
div cx
movzx eax, ax
add eax, r11d
mov dword [rsp + 0x3c], eax
mov r11, qword [rsp + 0xc8]
jb 0x1400f4fcc
xor ebp, ebp
mov esi, r10d
cmp r11, r14
jne 0x1400f43ec
inc ebp
je 0x1400f520a
mov edx, ebp
inc ebx
xor ebp, ebp
mov eax, ebx
cmp r10d, r12d
movabs rbx, 0x8080808080808080
jb 0x1400f426d
jmp 0x1400f3fa3
mov r10d, esi
inc ebp
jne 0x1400f4710
jmp 0x1400f520a
movabs rbx, 0x8080808080808080
nop word cs:[rax + rax]
mov byte [rsp + 0xd4], 1
xor ebp, ebp
cmp r8, qword [rsp + 0x148]
jb 0x1400f3fa3
mov r12, qword [rsp + 0x148]
test r12, r12
je 0x1400f3f9c
cmp r8, r12
jbe 0x1400f3f9c
cmp byte [r9 + r12], 0xbf
jg 0x1400f3f9c
jmp 0x1400f52cc
lea rcx, [rsp + 0x40]
mov rdx, r15
mov rsi, rax
mov r8, r12
call fcn.1400153f0
mov rax, rsi
mov r15, qword [rsp + 0x50]
jmp 0x1400f3f86
movzx esi, byte [rsp + 0xd4]
movzx r8d, word [rsp + 0xd9]
mov r12d, r8d
shr r12d, 8
mov ebx, dword [rsp + 0xd5]
movzx edx, byte [rsp + 0xdb]
mov ebp, ebx
shr ebp, 8
mov r15d, ebx
shr r15d, 0x10
mov r13d, ebx
shr r13d, 0x18
mov r14d, dword [rsp + 0xdc]
cmp byte [rsp + 0x142], 0
je 0x1400f4a63
mov dword [rsp + 0x3c], esi
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
test rsi, rsi
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0xb0], edx
je 0x1400f496e
cmp byte [rax + rsi - 1], 0x2e
jne 0x1400f4835
dec rsi
je 0x1400f496e
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x98], rax
mov word [rsp + 0xa0], 1
lea rdi, [rsp + 0x60]
nop word cs:[rax + rax]
mov rcx, rdi
call fcn.1400c5250
test rax, rax
je 0x1400f48b2
test rdx, rdx
jne 0x1400f48a0
test rax, rax
je 0x1400f4a30
mov r8d, dword [rsp + 0x58]
mov edx, dword [rsp + 0xb0]
mov rax, qword [rsp + 0xc8]
jmp 0x1400f4970
lea rcx, [0x14015ca80]
lea r8, [0x14015cc88]
mov edx, 0x21
call fcn.140004ed0
ud2
lea rcx, [0x14015cb70]
lea r8, [0x14015cca0]
mov edx, 0x39
call fcn.140004ed0
ud2
lea rcx, [0x14015c9a0]
lea r8, [0x14015ccb8]
mov edx, 0x1c
call fcn.140004ed0
ud2
movdqu xmm0, xmmword [rsp + 0x61]
movdqu xmmword [r15 + 1], xmm0
mov al, 2
mov byte [r15], al
jmp 0x1400f4d33
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], r14
mov rbx, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xf0]
test rbx, rbx
je 0x1400f3bf6
jmp 0x1400f3bfe
xor esi, esi
and r14d, 0xff00ffff
or r14d, 0x10000
cmp rsi, 0xfd
ja 0x1400f4a51
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x98], rax
mov word [rsp + 0xa0], 1
lea rdi, [rsp + 0x60]
nop word cs:[rax + rax]
mov rcx, rdi
call fcn.1400c5250
test rax, rax
je 0x1400f4a03
cmp rdx, 0x40
jb 0x1400f49f0
test rax, rax
mov r8d, dword [rsp + 0x58]
mov edx, dword [rsp + 0xb0]
jne 0x1400f4a51
jmp 0x1400f4a5f
lea rcx, [0x14015c9a0]
lea r8, [0x14015cc70]
mov edx, 0x1c
call fcn.140004ed0
ud2
mov r8d, dword [rsp + 0x58]
mov edx, dword [rsp + 0xb0]
mov rax, qword [rsp + 0xc8]
cmp rsi, 0xfd
jbe 0x1400f498b
and r14d, 0xffff00ff
or r14d, 0x100
mov esi, dword [rsp + 0x3c]
mov eax, r14d
shr eax, 8
mov ecx, r14d
shr ecx, 0x10
or ecx, eax
or ecx, r14d
mov eax, esi
or al, bl
or al, bpl
or al, r15b
or al, cl
mov ecx, r13d
or cl, r8b
or cl, r12b
or cl, al
or cl, dl
jne 0x1400f4c24
cmp r14d, 0xffffff
ja 0x1400f4c24
mov rdi, qword [rsp + 0x40]
movzx esi, byte [rsp + 0x48]
movzx eax, byte [rsp + 0x4f]
shl eax, 0x10
movzx ecx, word [rsp + 0x4d]
or ecx, eax
shl rcx, 0x20
mov r13d, dword [rsp + 0x49]
or r13, rcx
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0xb8]
cmp qword [rsp + 0x118], 0
je 0x1400f4af3
mov r8, qword [rsp + 0x110]
mov rcx, qword [0x1401e6138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x130], 0
je 0x1400f4b14
mov r8, qword [rsp + 0x128]
mov rcx, qword [0x1401e6138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test rdi, rdi
je 0x1400f4c5e
test rbx, rbx
je 0x1400f4ce5
lea rax, [rdi + rbx]
lea rcx, [0x140146ba0]
mov rdx, rdi
cmp rdx, rax
je 0x1400f4d48
movzx r8d, byte [rdx]
test r8b, r8b
js 0x1400f4b58
inc rdx
cmp r8d, 0x20
jae 0x1400f4bf0
jmp case.0x1400f4c05.32
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rdx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x1400f4bb8
movzx r10d, byte [rdx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x1400f4bce
movzx r8d, byte [rdx + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0x110000
je 0x1400f4d48
add rdx, 4
cmp r8d, 0x20
jae 0x1400f4bf0
jmp case.0x1400f4c05.32
add rdx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
cmp r8d, 0x20
jae 0x1400f4bf0
jmp case.0x1400f4c05.32
add rdx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0x20
jb case.0x1400f4c05.32
nop word cs:[rax + rax]
add r8d, 0xffffffe0
cmp r8d, 0x5f
ja case.0x1400f4c05.33
movsxd r8, dword [rcx + r8*4]
add r8, rcx
jmp r8
mov word [r15], 0x503
shl r13, 8
movzx eax, sil
or rax, r13
jne 0x1400f4cfc
jmp 0x1400f4d0d
mov rdi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
cmp sil, 2
jne 0x1400f4c69
mov r13, rax
shr r13, 8
mov esi, eax
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0xb8]
cmp qword [rsp + 0x118], 0
jne 0x1400f4add
jmp 0x1400f4af3
mov word [r15], 0x103
jmp 0x1400f4d0d
movzx ecx, dl
shl rcx, 0x30
movzx edx, r12b
shl rdx, 0x28
or rdx, rcx
movzx ecx, r8b
shl rcx, 0x20
or rcx, rdx
movzx edx, r13b
shl rdx, 0x18
or rdx, rcx
movzx ecx, r15b
shl rcx, 0x10
or rcx, rdx
movzx edx, bpl
shl rdx, 8
or rdx, rcx
movzx r13d, bl
or r13, rdx
mov ebx, r14d
test rax, rax
je 0x1400f4cc7
mov rcx, qword [0x1401e6138]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
xor edi, edi
mov r15, qword [rsp + 0xb8]
cmp qword [rsp + 0x118], 0
jne 0x1400f4add
jmp 0x1400f4af3
xor eax, eax
mov byte [r15 + 1], al
mov byte [r15], 3
shl r13, 8
movzx eax, sil
or rax, r13
je 0x1400f4d0d
mov rcx, qword [0x1401e6138]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov r8, qword [rsp + 0xe0]
test r8, r8
je 0x1400f4d33
cmp qword [rsp + 0xe8], 0
je 0x1400f4d33
mov rcx, qword [0x1401e6138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
nop
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x3c], esi
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], 1
movabs rsi, 0x2e0000002e
mov qword [rsp + 0x98], rsi
mov word [rsp + 0xa0], 1
lea rcx, [rsp + 0x60]
call fcn.1400c5700
test rax, rax
je 0x1400f52fa
test rdx, rdx
je 0x1400f4ee2
xor ecx, ecx
cmp rdx, rcx
je 0x1400f4de6
movzx r8d, byte [rax + rcx]
add r8b, 0xd0
inc rcx
cmp r8b, 0xa
jb 0x1400f4dbe
mov rcx, rax
call fcn.1400f5370
cmp eax, 2
je 0x1400f4efa
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], 1
mov qword [rsp + 0x98], rsi
mov word [rsp + 0xa0], 1
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x60]
call fcn.1400f65c0
mov rbx, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x120]
test rsi, rsi
je 0x1400f5314
lea rax, [rsi - 1]
mov rcx, rax
shl rcx, 4
cmp qword [rbx + rcx + 8], 0
jne 0x1400f4e79
mov qword [rsp + 0x120], rax
mov rsi, rax
cmp rsi, 4
jbe 0x1400f4f1b
cmp qword [rsp + 0x118], 0
mov esi, dword [rsp + 0x3c]
je 0x1400f509d
mov rcx, qword [0x1401e6138]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
mov al, 3
jmp 0x1400f4ce7
lea rcx, [0x14015c9a0]
lea r8, [0x14015ca00]
mov edx, 0x1c
call fcn.140004ed0
ud2
lea rcx, [0x14015c9a0]
lea r8, [0x14015cce8]
mov edx, 0x1c
call fcn.140004ed0
ud2
lea rcx, [rsp + 0x60]
call fcn.1400c5700
test rax, rax
je 0x1400f4efa
test rdx, rdx
jne 0x1400f4dbc
shl r13, 8
movzx eax, byte [rsp + 0x3c]
or rax, r13
mov byte [r15], 0
mov qword [r15 + 8], rdi
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], rbx
jmp 0x1400f4d0d
mov qword [rsp + 0x60], 4
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov rdx, qword [rsp + 0x118]
test rsi, rsi
je 0x1400f5334
mov qword [rsp + 0xb0], rdx
shl rsi, 4
add rsi, rbx
mov r14d, 4
xor r15d, r15d
lea r12, [rsp + 0x60]
mov qword [rsp + 0x58], rbx
jmp 0x1400f4f81
mov dword [r14 + r15*4], ebp
mov r15, qword [rsp + 0x70]
inc r15
mov qword [rsp + 0x70], r15
add rbx, 0x10
cmp rbx, rsi
je 0x1400f5002
mov rcx, qword [rbx]
mov rdx, qword [rbx + 8]
call fcn.1400f5370
cmp eax, 1
jne 0x1400f4fe6
mov ebp, edx
cmp r15, qword [rsp + 0x68]
jne 0x1400f4f63
mov rcx, r12
mov rdx, r15
call fcn.1400f5d70
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
jmp 0x1400f4f63
lea rcx, [0x14015c9a0]
lea r8, [0x14015ccd0]
mov edx, 0x1c
call fcn.140004ed0
ud2
lea rcx, [0x14015c9a0]
lea r8, [0x14015c9e8]
mov edx, 0x1c
call fcn.140004ed0
ud2
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xb0]
call fcn.1400f6990
mov r15, qword [rsp + 0xb8]
jmp 0x1400f507e
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xb0]
call fcn.1400f6990
test r15, r15
je 0x1400f533c
lea rax, [r15 - 1]
mov qword [rsp + 0x70], rax
cmp eax, 0x1fffffff
ja 0x1400f5258
lea ecx, [rax*8]
cmp ecx, 0x20
jae 0x1400f5272
mov r8, qword [rsp + 0x60]
mov esi, dword [r8 + r15*4 - 4]
and cl, 0x18
mov edx, 0xffffffff
shr edx, cl
cmp esi, edx
mov r15, qword [rsp + 0xb8]
ja 0x1400f507e
lea rcx, [rax*4]
xor edx, edx
cmp rcx, rdx
je 0x1400f50bc
cmp dword [r8 + rdx], 0xff
lea rdx, [rdx + 4]
jbe 0x1400f506b
cmp qword [rsp + 0x68], 0
je 0x1400f5099
mov r8, qword [rsp + 0x60]
mov rcx, qword [0x1401e6138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov esi, dword [rsp + 0x3c]
mov al, 3
jmp 0x1400f4ce7
lea r8, [0x14014de10]
mov ecx, 4
mov edx, 4
call fcn.140004230
ud2
test rax, rax
je 0x1400f5113
mov ecx, dword [r8]
shl ecx, 0x18
add esi, ecx
jb 0x1400f5293
cmp rax, 1
je 0x1400f5113
mov ecx, dword [r8 + 4]
shl ecx, 0x10
add esi, ecx
jb 0x1400f5293
cmp rax, 2
je 0x1400f5113
mov ecx, dword [r8 + 8]
shl ecx, 8
add esi, ecx
jb 0x1400f5293
cmp rax, 3
je 0x1400f5113
add esi, dword [r8 + 0xc]
jb 0x1400f5293
cmp rax, 4
jne 0x1400f5356
bswap esi
movd xmm0, esi
movdqa xmmword [rsp + 0x150], xmm0
movzx r14d, byte [rsp + 0x153]
movzx ebx, byte [rsp + 0x151]
movzx ebp, byte [rsp + 0x152]
cmp qword [rsp + 0x68], 0
je 0x1400f5151
mov rcx, qword [0x1401e6138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov byte [r15], 1
mov byte [r15 + 1], sil
mov byte [r15 + 4], r14b
movzx eax, bl
movzx ecx, bpl
shl ecx, 8
or ecx, eax
mov word [r15 + 2], cx
mov esi, dword [rsp + 0x3c]
shl r13, 8
movzx eax, sil
or rax, r13
jne 0x1400f4cfc
jmp 0x1400f4d0d
lea rcx, [0x14015ca80]
lea r8, [0x14015cc10]
mov edx, 0x21
call fcn.140004ed0
ud2
lea rcx, [0x14015c9c0]
lea r8, [0x14015cc28]
mov edx, 0x21
call fcn.140004ed0
ud2
lea rcx, [0x14015c9a0]
lea r8, [0x14015cc40]
mov edx, 0x1c
call fcn.140004ed0
ud2
lea rcx, [0x14015f9a0]
lea r8, [0x14015f988]
mov edx, 0x21
call fcn.140004ed0
ud2
lea rcx, str.attempt_to_add_with_overflow_Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_percent_encoding_2.3.1_src_lib.rs_00_01_02_03_04_05_06_07_08_09_0A_0B_0C_0D_0E_0F_10_11_12_13_14_15_16_17_18_19_1A_1B_1C_1D_1E_1F_20_21_22_23_24_25_26_27_28_29_2A_2B_2C_2D_2E_2F_30_31_32_33_34_35_36_37_38_39_3A_3B_3C_3D_3E_3F_40_41_42_43_44_45_46_47_48_49_4A_4B_4C_4D_4E_4F_50_51_52_53_54_55_56_57_58_59_5A_5B_5C_5D_5E_5F_60_61_62_63_64_65_66_67_68_69_6A_6B_6C_6D_6E_6F_70_71_72_73_74_75_76_77_78_79_7A_7B_7C_7D_7E_7F_80_81_82_83_84_85_86_87_88_89_8A_8B_8C_8D_8E_8F_90_91_92_93_94_95_96_97_98_99_9A_9B_9C_9D_9E_9F_A0_A1_A2_A3_A4_A5_A6_A7_A8_A9_AA_AB_AC_AD_AE_AF_B0_B1_B2_B3_B4_B5_B6_B7_B8_B9_BA_BB_BC_BD_BE_BF_C0_C1_C2_C3_C4_C5_C6_C7_C8_C9_CA_CB_CC_CD_CE_CF_D0_D1_D2_D3_D4_D5_D6_D7_D8_D9_DA_DB_DC_DD_DE_DF_E0_E1_E2_E3_E4_E5_E6_E7_E8_E9_EA_EB_EC_ED_EE_EF_F0_F1_F2_F3_F4_F5_F6_F7_F8_F9_FA_FB_FC_FD_FE_FF
lea r8, [0x14015f970]
mov edx, 0x1c
call fcn.140004ed0
ud2
lea rcx, [0x14015c9a0]
lea r8, [0x14015cc58]
mov edx, 0x1c
call fcn.140004ed0
ud2
lea rcx, str.explicit_panic
lea r8, [0x14015cd10]
mov edx, 0xe
call fcn.140004ed0
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_a28077b28a02b92985b3a3faecf92813155f1ea1library_alloc_srccollections_btree_navigate.rs
lea r8, [0x14015cbf8]
mov edx, 0x2b
call fcn.140004ed0
ud2
lea rcx, [0x1401a8680]
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_2.5.0_src_host.rs
mov edx, 0x21
call fcn.140004ed0
ud2
lea rcx, str.attempt_to_shift_right_with_overflow
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_2.5.0_src_host.rs
mov edx, 0x24
call fcn.140004ed0
ud2
call fcn.140002a80
ud2
lea rcx, [0x1401a8440]
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_2.5.0_src_host.rs
mov edx, 0x1c
call fcn.140004ed0
ud2
lea rcx, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_2.5.0_src_host.rs
mov qword [rsp + 0x20], rcx
mov r8d, 1
mov rcx, rdi
mov rdx, rax
call fcn.140009910
ud2
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_J
lea r8, [0x1401a7a88]
mov edx, 0x30
call fcn.140004ed0
ud2
lea r8, [0x14015f9c8]
mov rcx, r14
mov rdx, rax
call fcn.140004b30
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_a28077b28a02b92985b3a3faecf92813155f1ea1library_alloc_srccollections_btree_navigate.rs
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_2.5.0_src_host.rs
mov edx, 0x2b
call fcn.140004ed0
ud2
mov rcx, rbx
mov qword [rsp + 0x60], 4
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov rdx, qword [rsp + 0x118]
jmp 0x1400f5337
mov rcx, rbx
call fcn.1400f6990
lea rcx, str.a_non_empty_list_of_numbers
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_2.5.0_src_host.rs
mov edx, 0x1b
call fcn.140008340
ud2
lea rcx, [0x1401a8550]
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_2.5.0_src_host.rs
mov edx, 0x21
call fcn.140004ed0
ud2