Function at 0x4f8930
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3b8
mov rdi, r9
mov esi, edx
mov r15, rcx
test r8b, r8b
je 0x4f8984
lea rdx, [rdi + 0x90]
lea rcx, [rsp + 0x2b9]
mov r8d, 0xff
call sub.msvcrt.dll_memcpy
movzx r13d, byte [rdi + 0x18f]
mov r8, qword [rdi + 0x10]
test sil, sil
jne 0x4f8abb
jmp 0x4f8aa1
movaps xmm0, xmmword [0x006e2d90]
movaps xmmword [rsp + 0x110], xmm0
movaps xmm0, xmmword [0x006e2da0]
movaps xmmword [rsp + 0x120], xmm0
movaps xmm0, xmmword [0x006e2db0]
movaps xmmword [rsp + 0x130], xmm0
movaps xmm0, xmmword [0x006e2dc0]
movaps xmmword [rsp + 0x140], xmm0
movaps xmm0, xmmword [0x006e2dd0]
movaps xmmword [rsp + 0x150], xmm0
movaps xmm0, xmmword [0x006e2de0]
movaps xmmword [rsp + 0x160], xmm0
movaps xmm0, xmmword [0x006e2df0]
movaps xmmword [rsp + 0x170], xmm0
movaps xmm0, xmmword [0x006e2e00]
movaps xmmword [rsp + 0x180], xmm0
movaps xmm0, xmmword [0x006e2e10]
movaps xmmword [rsp + 0x190], xmm0
movaps xmm0, xmmword [0x006e2e20]
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmm0, xmmword [0x006e2e30]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmm0, xmmword [0x006e2e40]
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmm0, xmmword [0x006e2e50]
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmm0, xmmword [0x006e2e60]
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmm0, xmmword [0x006e2e70]
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmm0, xmmword [0x006e2e80]
movaps xmmword [rsp + 0x200], xmm0
lea rcx, [rsp + 0x2b9]
lea rdx, [rsp + 0x110]
mov r8d, 0xff
call sub.msvcrt.dll_memcpy
movzx r13d, byte [rsp + 0x20f]
mov r8, qword [rdi + 0x10]
test sil, sil
jne 0x4f8abb
test r8, r8
js 0x4fa447
add r8, r8
cmp r8, 4
jb 0x4fa453
add r8, 0xfffffffffffffffc
movzx ebx, r13b
bsr rcx, rbx
not ecx
mov rax, 0xffffffffffffffff
shr rax, cl
lea rcx, [rax + 1]
tzcnt rdx, rcx
not rax
and rax, rcx
xor ecx, ecx
test bl, bl
cmovne rcx, rdx
mov edx, 1
cmovne rdx, rax
mov rbp, r8
mov qword [rsp + 0x60], rcx
shl rbp, cl
mov rax, rbp
sub rax, rdx
jb 0x4fa3dc
cmp rax, 0x7ffffffe
jbe 0x4f8b34
mov dword [r15 + 8], 0
mov qword [r15 + 0x10], 0x7ffffffe
mov qword [r15 + 0x18], rax
movabs rax, 0x8000000000000000
mov qword [r15], rax
jmp 0x4fa29b
mov qword [rsp + 0x48], r8
mov r12d, dword [rdi + 0x1a4]
test sil, sil
je 0x4f8bbe
test r12, r12
je 0x4fa4d9
dec r12
movabs rax, 0x1fffffffffffffff
test rbp, rbp
je 0x4f8bde
cmp rbp, rax
ja 0x4fa4e5
lea r14, [rbp*4]
movzx eax, byte [0x0076d188]
xor ecx, ecx
mov rdx, r14
call fcn.0069df80
test rax, rax
je 0x4fa4ea
mov rcx, rax
cmp rbp, 1
mov qword [rsp + 0x38], rax
je 0x4f8bb6
lea r8, [r14 - 4]
mov rcx, qword [rsp + 0x38]
xor edx, edx
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0x38]
lea rcx, [r14 + rax]
add rcx, 0xfffffffffffffffc
mov dword [rcx], 0
jmp 0x4f8be8
test r12, r12
je 0x4fa50d
lea r12, [r12*2 - 2]
movabs rax, 0x1fffffffffffffff
test rbp, rbp
jne 0x4f8b60
mov eax, 4
mov qword [rsp + 0x38], rax
mov byte [rsp + 0x58], r13b
mov byte [rsp + 0x50], sil
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], 4
mov qword [rsp + 0x120], 0
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x110]
mov r8, r12
call fcn.00504620
mov r13, qword [rdi + 0x68]
mov rsi, qword [rdi + 0x70]
test rsi, rsi
movabs rax, 0x1fffffffffffffff
je 0x4f8c75
lea r14, [rsi*4]
cmp rsi, rax
ja 0x4fa4f7
movzx eax, byte [0x0076d188]
xor ecx, ecx
mov rdx, r14
call fcn.0069df80
test rax, rax
je 0x4fa4fb
mov r12, rax
jmp 0x4f8c7e
mov r12d, 4
xor r14d, r14d
mov rcx, r12
mov rdx, r13
mov r8, r14
call sub.msvcrt.dll_memcpy
mov r14, qword [rdi + 0x78]
test r14, r14
mov qword [rsp + 0xf8], r15
je 0x4f8cbc
mov rax, qword [rdi + 0x80]
mov qword [rsp + 0x30], rax
lock inc qword [r14]
jle 0x4fa604
mov r15, qword [rdi + 0x88]
jmp 0x4f8cbc
movzx r13d, byte [rdi + 0x1b0]
inc rbx
lea rcx, [rsp + 0x190]
lea rdx, [rsp + 0x2b9]
mov r8d, 0xff
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x110], rbp
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rbp
movups xmm0, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0x128], xmm0
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x140], rsi
mov qword [rsp + 0x148], r12
mov qword [rsp + 0x150], rsi
mov qword [rsp + 0x160], r14
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], r15
mov byte [rsp + 0x2b0], r13b
mov r12, qword [rsp + 0x48]
mov qword [rsp + 0x178], r12
mov qword [rsp + 0x180], rbx
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x188], rax
movzx eax, byte [rsp + 0x58]
mov byte [rsp + 0x28f], al
movups xmm0, xmmword [rdi + 0x190]
movups xmmword [rsp + 0x290], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x2a0], xmm0
movzx eax, byte [rsp + 0x50]
cmp al, 2
je 0x4f8dcf
movzx eax, al
cmp eax, 1
jne 0x4f9549
mov dword [rsp + 0x78], 0
jmp 0x4f8dd5
mov al, 1
mov dword [rsp + 0x78], eax
mov r13, qword [rdi + 0x10]
cmp r13, 0x7fffffff
ja 0x4fa45f
mov rax, qword [rsp + 0x60]
and eax, 0x3f
mov qword [rsp + 0x60], rax
test r13, r13
je 0x4f94a1
mov r12, qword [rdi + 8]
lea rax, [r13*4]
add rax, r13
lea rax, [r12 + rax*4]
mov qword [rsp + 0x70], rax
mov rbx, qword [rdi + 0x20]
mov r14, qword [rdi + 0x28]
mov r15, qword [rdi + 0x40]
mov rsi, qword [rdi + 0x38]
mov rax, qword [rdi + 0x50]
mov qword [rsp + 0x48], rax
mov rax, qword [rdi + 0x58]
mov qword [rsp + 0x80], rax
mov r11d, 0xff
xor eax, eax
mov qword [rsp + 0x30], r12
jmp 0x4f8e71
mov rcx, qword [rsp + 0x30]
add rcx, 0x14
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x30], rcx
cmp rcx, qword [rsp + 0x70]
je 0x4f94a1
cmp rax, r13
je 0x4fa366
mov rdx, rax
mov rcx, qword [rsp + 0x60]
shl rdx, cl
mov qword [rsp + 0x40], rax
mov ebp, eax
mov rax, qword [rsp + 0x30]
cmp dword [rax + 8], 0
je 0x4f8ee3
cmp r13, rbp
jbe 0x4fa397
lea rax, [rbp*4]
add rax, rbp
mov eax, dword [r12 + rax*4 + 8]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x110]
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x80]
call fcn.00504ac0
mov rdx, qword [rsp + 0x38]
mov r11d, 0xff
lea rax, [rbp*4]
add rax, rbp
mov r8d, dword [r12 + rax*4]
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x38], rax
mov eax, edx
test r8d, r8d
je 0x4f9350
mov qword [rsp + 0x50], rax
xor r9d, r9d
mov dword [rsp + 0x6c], r8d
xor edx, edx
jmp 0x4f8f43
inc r9
mov dl, 1
mov r8d, dword [rsp + 0x68]
test r8d, r8d
je 0x4f9270
mov ebp, r8d
cmp r14, rbp
jbe 0x4fa2b0
lea rax, [rbp*8]
add rax, rbp
movzx r10d, byte [rbx + rax]
mov r11d, dword [rbx + rax + 1]
mov eax, dword [rbx + rax + 5]
cmp r9, r10
mov dword [rsp + 0x68], eax
jae 0x4f8fc3
cmp byte [rsp + 0x78], 0
je 0x4f902a
movzx eax, byte [rsp + r9 + 0x190]
cmp cl, al
sete r8b
test dl, r8b
jne 0x4f8fb1
movzx ebp, al
add rbp, qword [rsp + 0x50]
cmp rbp, qword [rsp + 0x38]
jae 0x4fa31d
mov rcx, qword [rsp + 0x58]
mov dword [rcx + rbp*4], 0
mov ecx, eax
lea rax, [r9 + 1]
mov dl, 1
cmp rax, r10
jne 0x4f91db
mov r9, r10
movzx eax, byte [rsp + r10 + 0x190]
test dl, dl
je 0x4f8fd8
cmp cl, al
je 0x4f8f30
cmp r11d, 1
setne cl
mov edx, 0
cmove r11d, edx
or cl, byte [rsp + 0x78]
jne 0x4f9240
mov rcx, qword [rsp + 0x30]
mov ebp, dword [rcx + 0xc]
test rbp, rbp
je 0x4f922f
cmp r13, rbp
ja 0x4f913c
jmp 0x4fa2bc
inc r9
mov dl, 1
cmp r9, r10
je 0x4f8fc0
movzx eax, byte [rsp + r9 + 0x190]
test dl, dl
je 0x4f903b
cmp cl, al
je 0x4f9020
mov rcx, qword [rsp + 0x30]
mov ebp, dword [rcx + 0xc]
test rbp, rbp
je 0x4f90f7
cmp r13, rbp
jbe 0x4fa2bc
movzx ecx, r9b
jmp 0x4f9079
mov r8d, dword [r8]
cmp r8d, 1
jne 0x4f90fa
mov ebp, dword [rdx + 0xc]
cmp r13, rbp
jbe 0x4fa2bc
lea r8, [rbp*4]
add r8, rbp
lea rdx, [r12 + r8*4]
mov r8d, dword [r12 + r8*4 + 4]
test r8, r8
je 0x4f90b0
movzx ebp, byte [rdi + rcx + 0x90]
add rbp, r8
cmp rbp, r15
jae 0x4fa2c5
lea r8, [rsi + rbp*4]
jmp 0x4f9060
mov r8d, dword [rdx]
test r8d, r8d
je 0x4f906d
nop dword [rax + rax]
mov ebp, r8d
cmp r14, rbp
jbe 0x4fa2b0
lea rbp, [rbp + rbp*8]
lea r8, [rbx + rbp]
movzx ebp, byte [rbx + rbp]
cmp bpl, r9b
jae 0x4f90e9
mov r8d, dword [r8 + 5]
test r8d, r8d
jne 0x4f90c0
jmp 0x4f906d
jne 0x4f906d
inc r8
jmp 0x4f9060
xor r8d, r8d
movzx ebp, al
add rbp, qword [rsp + 0x50]
cmp rbp, qword [rsp + 0x38]
jae 0x4fa31d
mov rcx, qword [rsp + 0x60]
shl r8, cl
mov rcx, qword [rsp + 0x58]
mov dword [rcx + rbp*4], r8d
mov ecx, eax
jmp 0x4f9020
mov ebp, dword [rcx + 0xc]
cmp r13, rbp
jbe 0x4fa2bc
lea rdx, [rbp*4]
add rdx, rbp
lea rcx, [r12 + rdx*4]
mov edx, dword [r12 + rdx*4 + 4]
test rdx, rdx
je 0x4f9180
movzx ebp, byte [rdi + r10 + 0x90]
add rbp, rdx
cmp rbp, r15
jae 0x4fa2c5
lea rdx, [rsi + rbp*4]
mov r11d, dword [rdx]
cmp r11d, 1
je 0x4f9130
jmp 0x4f9240
mov edx, dword [rcx]
test edx, edx
je 0x4f9130
nop word cs:[rax + rax]
mov ebp, edx
cmp r14, rbp
jbe 0x4fa2b0
lea r8, [rbp*8]
add r8, rbp
lea rdx, [rbx + r8]
movzx r8d, byte [rbx + r8]
cmp r8b, r10b
jae 0x4f91c0
mov edx, dword [rdx + 5]
test edx, edx
jne 0x4f9190
jmp 0x4f9130
cmp r8b, r10b
jne 0x4f9130
inc rdx
mov r11d, dword [rdx]
cmp r11d, 1
je 0x4f9130
jmp 0x4f9240
lea rax, [r10 - 1]
jmp 0x4f91fc
inc r9
cmp rax, r9
je 0x4f8fc0
movzx r8d, byte [rsp + r9 + 0x191]
cmp cl, r8b
je 0x4f91f0
movzx ebp, r8b
add rbp, qword [rsp + 0x50]
cmp rbp, qword [rsp + 0x38]
jae 0x4fa31d
mov rcx, qword [rsp + 0x58]
mov dword [rcx + rbp*4], 0
mov ecx, r8d
jmp 0x4f91f0
xor r11d, r11d
nop word cs:[rax + rax]
movzx ebp, al
add rbp, qword [rsp + 0x50]
cmp rbp, qword [rsp + 0x38]
jae 0x4fa31d
mov rcx, qword [rsp + 0x60]
shl r11, cl
mov rcx, qword [rsp + 0x58]
mov dword [rcx + rbp*4], r11d
mov ecx, eax
jmp 0x4f8f30
mov dl, 1
cmp r9, 0xff
mov r11d, 0xff
mov r8d, dword [rsp + 0x6c]
ja 0x4f8e50
cmp byte [rsp + 0x78], 0
je 0x4f9370
lea rax, [r9 + 1]
cmp r9, 0xff
cmove rax, r9
movzx edx, byte [rsp + r9 + 0x190]
test r8d, r8d
je 0x4f92b6
cmp cl, dl
je 0x4f92d7
movzx ebp, dl
add rbp, qword [rsp + 0x50]
cmp rbp, qword [rsp + 0x38]
jae 0x4fa31d
mov rcx, qword [rsp + 0x58]
mov dword [rcx + rbp*4], 0
mov ecx, edx
cmp r9, 0xff
je 0x4f8e50
cmp rax, 0xff
ja 0x4f8e50
lea rdx, [rax + 1]
cmp rax, 0xff
cmovae rdx, r11
movzx r8d, byte [rsp + rax + 0x190]
cmp cl, r8b
je 0x4f932f
movzx ebp, r8b
add rbp, qword [rsp + 0x50]
cmp rbp, qword [rsp + 0x38]
jae 0x4fa31d
mov rcx, qword [rsp + 0x58]
mov dword [rcx + rbp*4], 0
mov ecx, r8d
cmp rax, 0xfe
ja 0x4f8e50
mov rax, rdx
cmp rdx, 0xff
jbe 0x4f92f0
jmp 0x4f8e50
mov qword [rsp + 0x50], rax
xor r9d, r9d
xor edx, edx
cmp byte [rsp + 0x78], 0
jne 0x4f9295
nop word cs:[rax + rax]
lea r10, [r9 + 1]
cmp r9, 0xff
cmovae r10, r11
movzx eax, byte [rsp + r9 + 0x190]
test dl, dl
je 0x4f9394
cmp cl, al
je 0x4f947d
mov rcx, qword [rsp + 0x30]
mov ebp, dword [rcx + 0xc]
test rbp, rbp
je 0x4f9456
cmp r13, rbp
ja 0x4f93bc
jmp 0x4fa2bc
mov ebp, dword [rcx + 0xc]
cmp r13, rbp
jbe 0x4fa2bc
lea rdx, [rbp*4]
add rdx, rbp
lea rcx, [r12 + rdx*4]
mov edx, dword [r12 + rdx*4 + 4]
test rdx, rdx
je 0x4f9400
movzx ebp, byte [rdi + r9 + 0x90]
add rbp, rdx
cmp rbp, r15
jae 0x4fa2c5
lea rdx, [rsi + rbp*4]
mov edx, dword [rdx]
cmp edx, 1
je 0x4f93b0
jmp 0x4f9458
mov edx, dword [rcx]
test edx, edx
je 0x4f93b0
nop word cs:[rax + rax]
mov ebp, edx
cmp r14, rbp
jbe 0x4fa2b0
lea r8, [rbp*8]
add r8, rbp
lea rdx, [rbx + r8]
movzx r8d, byte [rbx + r8]
cmp r8b, r9b
jae 0x4f9440
mov edx, dword [rdx + 5]
test edx, edx
jne 0x4f9410
jmp 0x4f93b0
jne 0x4f93b0
inc rdx
mov edx, dword [rdx]
cmp edx, 1
je 0x4f93b0
jmp 0x4f9458
xor edx, edx
movzx ebp, al
add rbp, qword [rsp + 0x50]
cmp rbp, qword [rsp + 0x38]
jae 0x4fa31d
mov rcx, qword [rsp + 0x60]
shl rdx, cl
mov rcx, qword [rsp + 0x58]
mov dword [rcx + rbp*4], edx
mov ecx, eax
cmp r9, 0xfe
ja 0x4f8e50
mov dl, 1
mov r9, r10
cmp r10, 0xff
jbe 0x4f9370
jmp 0x4f8e50
mov eax, dword [rdi + 0x1a0]
mov rcx, qword [rsp + 0x60]
shl rax, cl
mov edx, dword [rdi + 0x1a4]
shl rdx, cl
mov dword [rsp + 0x2a0], eax
mov dword [rsp + 0x2a4], edx
mov eax, dword [rdi + 0x1a8]
mov edx, dword [rdi + 0x1ac]
shl rdx, cl
shl rax, cl
xor ecx, ecx
cmp byte [rsp + 0x78], 0
cmovne eax, ecx
cmove edx, ecx
mov dword [rsp + 0x2a8], eax
mov dword [rsp + 0x2ac], edx
mov rbx, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0x120]
cmp qword [rsp + 0x110], rdi
jbe 0x4fa1a9
mov r8, qword [rsp + 0x118]
test rdi, rdi
je 0x4f9623
lea rsi, [rdi*4]
mov rcx, qword [0x0076d128]
xor edx, edx
mov r9, rsi
call sub.kernel32.dll_HeapReAlloc
test rax, rax
jne 0x4f9636
jmp 0x4fa1ea
mov eax, 1
mov rcx, qword [rsp + 0x60]
shl rax, cl
mov qword [rsp + 0x70], rax
mov eax, 1
mov qword [rsp + 0x80], rax
mov r15, qword [rdi + 8]
mov rbp, qword [rdi + 0x10]
test rbp, rbp
je 0x4f9677
lea rsi, [rbp*4]
movabs rax, 0x1fffffffffffffff
cmp rbp, rax
ja 0x4fa5d6
movzx eax, byte [0x0076d188]
xor ecx, ecx
mov rdx, rsi
call fcn.0069df80
test rax, rax
je 0x4fa1ea
mov rbx, rax
cmp rbp, 1
je 0x4f95cd
lea r8, [rsi - 4]
mov rcx, rbx
xor edx, edx
call sub.msvcrt.dll_memset
lea rax, [rsi + rbx]
add rax, 0xfffffffffffffffc
mov dword [rax], 0
movzx eax, byte [0x0076d188]
xor ecx, ecx
mov rdx, rsi
call fcn.0069df80
test rax, rax
je 0x4fa5e2
mov qword [rsp + 0x30], rax
cmp rbp, 1
je 0x4f9613
lea r8, [rsi - 4]
mov r14, qword [rsp + 0x30]
mov rcx, r14
xor edx, edx
call sub.msvcrt.dll_memset
lea rax, [rsi + r14]
add rax, 0xfffffffffffffffc
mov dword [rax], 0
test r12, r12
jne 0x4f968b
jmp 0x4f96af
mov rcx, qword [0x0076d128]
xor edx, edx
call fcn.006d3c74
mov eax, 4
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x110], rdi
mov rdi, qword [rsp + 0x150]
cmp qword [rsp + 0x140], rdi
ja 0x4fa1bf
mov rdi, qword [rsp + 0x138]
cmp qword [rsp + 0x128], rdi
ja 0x4fa229
jmp 0x4fa285
mov ebx, 4
mov eax, 4
mov qword [rsp + 0x30], rax
test r12, r12
je 0x4f96af
js 0x4fa5f1
mov ecx, 8
mov rdx, r12
call fcn.0069df80
mov qword [rsp + 0x80], rax
test rax, rax
je 0x4fa5f5
mov qword [rsp + 0x40], rbx
cmp rbp, 0x7fffffff
ja 0x4fa519
mov r11, r12
test rbp, rbp
je 0x4f9eed
lea rax, [rbp*4]
add rax, rbp
lea rcx, [r15 + rax*4]
mov eax, dword [rdi + 0x1a8]
mov qword [rsp + 0x108], rax
mov eax, dword [rdi + 0x1ac]
mov qword [rsp + 0x100], rax
mov r14, qword [rdi + 0x20]
mov r12, qword [rdi + 0x28]
mov rbx, qword [rdi + 0x40]
mov rsi, qword [rdi + 0x38]
mov rax, qword [rdi + 0x50]
mov qword [rsp + 0xb8], rax
mov rax, qword [rdi + 0x58]
mov qword [rsp + 0xb0], rax
xor r13d, r13d
mov qword [rsp + 0x58], r15
xor r11d, r11d
mov qword [rsp + 0x90], rcx
jmp 0x4f9776
mov rax, qword [rsp + 0x40]
mov dword [rax + r13*4], r11d
mov rax, qword [rsp + 0x30]
mov dword [rax + r13*4], r11d
mov edx, r11d
mov rax, qword [rsp + 0x58]
add rax, 0x14
inc r13
add edx, dword [rsp + 0x70]
mov r11d, edx
mov qword [rsp + 0x58], rax
cmp rax, rcx
je 0x4f9ee5
cmp r13, rbp
je 0x4fa377
cmp r13, 2
jb 0x4f9740
mov rcx, qword [rsp + 0x108]
cmp r13, rcx
mov qword [rsp + 0x78], r13
jne 0x4f97d0
mov rax, qword [rsp + 0x40]
mov dword [rax + rcx*4], r11d
mov rax, qword [rsp + 0x30]
mov dword [rax + rcx*4], 0
mov rax, qword [rsp + 0x58]
cmp dword [rax + 8], 0
mov qword [rsp + 0x98], r11
jne 0x4f982b
jmp 0x4f9867
mov rcx, qword [rsp + 0x100]
cmp r13, rcx
jne 0x4f9a4c
mov rax, qword [rsp + 0x40]
mov dword [rax + rcx*4], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + rcx*4], r11d
mov eax, r11d
mov rcx, qword [rsp + 0x60]
shr rax, cl
cmp rax, qword [rsp + 0x48]
jae 0x4fa415
mov rcx, qword [rsp + 0x80]
mov byte [rcx + rax], 1
mov rax, qword [rsp + 0x58]
cmp dword [rax + 8], 0
mov qword [rsp + 0x98], r11
je 0x4f9867
lea rax, [r13*4]
add rax, r13
mov eax, dword [r15 + rax*4 + 8]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x110]
mov edx, r11d
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xb0]
call fcn.00504ac0
mov r11, qword [rsp + 0x98]
lea rax, [r13*4]
add rax, r13
mov ecx, dword [r15 + rax*4]
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x120]
mov eax, r11d
mov qword [rsp + 0x38], rax
test ecx, ecx
je 0x4f9a14
xor r11d, r11d
mov dword [rsp + 0xf4], ecx
mov r10d, ecx
xor ecx, ecx
jmp 0x4f98ee
movzx eax, r9b
add rax, qword [rsp + 0x38]
cmp rax, rdx
jae 0x4fa34d
mov r8d, dword [rsp + 0x68]
cmp r8d, 1
mov ecx, 0
cmove r8d, ecx
mov rcx, qword [rsp + 0x50]
mov dword [rcx + rax*4], r8d
mov r8d, r9d
inc r11
mov cl, 1
test r10d, r10d
je 0x4f99f0
mov eax, r10d
cmp r12, rax
jbe 0x4fa2df
lea rax, [rax + rax*8]
movzx r13d, byte [r14 + rax]
mov r9d, dword [r14 + rax + 1]
mov r10d, dword [r14 + rax + 5]
cmp r11, r13
mov dword [rsp + 0x68], r9d
jae 0x4f9959
movzx r9d, byte [rsp + r11 + 0x190]
cmp r8b, r9b
sete al
test cl, al
jne 0x4f994b
movzx eax, r9b
add rax, qword [rsp + 0x38]
cmp rax, rdx
jae 0x4fa32b
mov rcx, qword [rsp + 0x50]
mov dword [rcx + rax*4], 0
mov r8d, r9d
lea rax, [r11 + 1]
mov cl, 1
cmp rax, r13
jne 0x4f9980
mov r11, r13
movzx r9d, byte [rsp + r13 + 0x190]
test cl, cl
mov r13, qword [rsp + 0x78]
je 0x4f98b0
cmp r8b, r9b
je 0x4f98e0
jmp 0x4f98b0
mov dword [rsp + 0x6c], r10d
lea r9, [r13 - 1]
jmp 0x4f99a8
mov r8, qword [rsp + 0x50]
mov dword [r8 + rax*4], 0
mov r8d, r10d
inc r11
cmp r9, r11
je 0x4f99d0
movzx r10d, byte [rsp + r11 + 0x191]
cmp r8b, r10b
je 0x4f99a0
movzx eax, r10b
add rax, qword [rsp + 0x38]
cmp rax, rdx
jb 0x4f9990
jmp 0x4fa32b
mov r11, r13
mov r10d, dword [rsp + 0x6c]
movzx r9d, byte [rsp + r13 + 0x190]
test cl, cl
mov r13, qword [rsp + 0x78]
jne 0x4f996f
jmp 0x4f98b0
cmp r11, 0xff
jbe 0x4f9d11
mov rax, qword [rsp + 0x98]
mov edx, eax
mov rcx, qword [rsp + 0x90]
jmp 0x4f9755
mov ecx, 1
movzx r9d, byte [rsp + 0x190]
xor r10d, r10d
movzx eax, r9b
add rax, qword [rsp + 0x38]
cmp rax, rdx
jae 0x4fa32b
mov r8, qword [rsp + 0x50]
mov dword [r8 + rax*4], 0
mov r8d, r9d
jmp 0x4f9d4c
mov dword [rsp + 0x8c], r11d
mov rax, qword [rsp + 0x70]
add eax, r11d
mov dword [rsp + 0x68], eax
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0x40]
mov dword [rax + r13*4], r11d
mov eax, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0x30]
mov dword [rcx + r13*4], eax
mov rcx, qword [rsp + 0x60]
shr rax, cl
cmp rax, qword [rsp + 0x48]
jae 0x4fa429
mov rcx, qword [rsp + 0x80]
mov byte [rcx + rax], 1
mov rax, qword [rsp + 0x58]
cmp dword [rax + 8], 0
lea rcx, [rsp + 0x110]
je 0x4f9b1a
mov rax, qword [rsp + 0x78]
lea r13, [rax + rax*4]
mov eax, dword [r15 + r13*4 + 8]
mov edx, dword [rsp + 0x8c]
mov dword [rsp + 0x20], eax
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xb0]
call fcn.00504ac0
lea rax, [r15 + r13*4]
add rax, 8
mov eax, dword [rax]
mov edx, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x110]
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xb0]
call fcn.00504ac0
lea rcx, [rsp + 0x110]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], rcx
lea rax, [rsp + 0x8c]
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x78]
lea rax, [rax + rax*4]
mov eax, dword [r15 + rax*4]
test eax, eax
je 0x4f9e09
xor r13d, r13d
mov dword [rsp + 0x6c], eax
xor edx, edx
jmp 0x4f9bad
lea rcx, [rsp + 0xc0]
mov edx, r8d
mov r8d, eax
mov byte [rsp + 0x50], al
call fcn.00504910
movzx ecx, byte [rsp + 0x50]
inc r13
mov dl, 1
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x4f9dc9
mov eax, eax
cmp r12, rax
jbe 0x4fa2df
lea rax, [rax + rax*8]
movzx r8d, byte [r14 + rax]
mov r9d, dword [r14 + rax + 1]
mov eax, dword [r14 + rax + 5]
mov dword [rsp + 0x38], eax
cmp r13, r8
jb 0x4f9c26
movzx eax, byte [rsp + r8 + 0x190]
test dl, dl
jne 0x4f9d04
jmp 0x4f9b80
xor r11d, r11d
movzx ecx, r10b
mov eax, dword [rsp + 0x8c]
add rax, rcx
mov rdx, qword [rsp + 0x120]
cmp rax, rdx
jae 0x4fa334
mov rcx, qword [rsp + 0x118]
mov dword [rcx + rax*4], r11d
mov ecx, r10d
inc r13
mov dl, 1
cmp r13, r8
je 0x4f9cf0
movzx r10d, byte [rsp + r13 + 0x190]
test dl, dl
je 0x4f9c38
cmp cl, r10b
je 0x4f9c18
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0xc]
test rax, rax
je 0x4f9be7
cmp rbp, rax
jbe 0x4fa2eb
movzx ecx, r13b
jmp 0x4f9c75
mov r11d, dword [rax]
cmp r11d, 1
jne 0x4f9bea
mov eax, dword [rdx + 0xc]
cmp rbp, rax
jbe 0x4fa2eb
lea rax, [rax + rax*4]
lea rdx, [r15 + rax*4]
mov r11d, dword [r15 + rax*4 + 4]
test r11, r11
je 0x4f9cb0
movzx eax, byte [rdi + rcx + 0x90]
add rax, r11
cmp rax, rbx
jae 0x4fa2f7
lea rax, [rsi + rax*4]
jmp 0x4f9c60
mov eax, dword [rdx]
test eax, eax
je 0x4f9c69
nop word cs:[rax + rax]
mov eax, eax
cmp r12, rax
jbe 0x4fa2df
lea r11, [rax + rax*8]
lea rax, [r14 + r11]
movzx r11d, byte [r14 + r11]
cmp r11b, r13b
jae 0x4f9ce6
mov eax, dword [rax + 5]
test eax, eax
jne 0x4f9cc0
jmp 0x4f9c69
jne 0x4f9c69
inc rax
jmp 0x4f9c60
mov r13, r8
movzx eax, byte [rsp + r8 + 0x190]
test dl, dl
je 0x4f9b80
cmp cl, al
je 0x4f9b9c
jmp 0x4f9b80
lea rcx, [r11 + 1]
cmp r11, 0xff
sete r10b
cmove rcx, r11
movzx r9d, byte [rsp + r11 + 0x190]
cmp dword [rsp + 0xf4], 0
je 0x4f9ed8
cmp r8b, r9b
mov r11, qword [rsp + 0x98]
jne 0x4f9a25
test r10b, r10b
jne 0x4f9db9
cmp rcx, 0xff
ja 0x4f9db9
nop word [rax + rax]
lea r10, [rcx + 1]
cmp rcx, 0xff
mov eax, 0xff
cmovae r10, rax
movzx r9d, byte [rsp + rcx + 0x190]
cmp r8b, r9b
je 0x4f9da4
movzx eax, r9b
add rax, qword [rsp + 0x38]
cmp rax, rdx
jae 0x4fa32b
mov r8, qword [rsp + 0x50]
mov dword [r8 + rax*4], 0
mov r8d, r9d
cmp rcx, 0xfe
ja 0x4f9db9
mov rcx, r10
cmp r10, 0xff
jbe 0x4f9d60
mov edx, r11d
mov rcx, qword [rsp + 0x90]
jmp 0x4f9755
cmp r13, 0xff
ja 0x4f9ec2
lea rax, [r13 + 1]
cmp r13, 0xff
sete dl
mov qword [rsp + 0x50], rdx
cmove rax, r13
mov qword [rsp + 0x38], rax
movzx r8d, byte [rsp + r13 + 0x190]
cmp dword [rsp + 0x6c], 0
je 0x4f9e26
cmp cl, r8b
je 0x4f9e42
jmp 0x4f9e26
mov eax, 1
mov qword [rsp + 0x38], rax
movzx r8d, byte [rsp + 0x190]
xor eax, eax
mov qword [rsp + 0x50], rax
xor r13d, r13d
lea rcx, [rsp + 0xc0]
mov edx, r13d
mov r13d, r8d
mov r9d, 1
call fcn.00504910
mov ecx, r13d
cmp byte [rsp + 0x50], 0
mov r13, qword [rsp + 0x38]
jne 0x4f9ec2
cmp r13, 0xff
ja 0x4f9ec2
nop word [rax + rax]
lea rdx, [r13 + 1]
cmp r13, 0xff
mov eax, 0xff
cmovae rdx, rax
mov qword [rsp + 0x38], rdx
movzx eax, byte [rsp + r13 + 0x190]
cmp cl, al
je 0x4f9ea8
lea rcx, [rsp + 0xc0]
mov edx, r13d
mov r8d, eax
mov byte [rsp + 0x50], al
mov r9d, 1
call fcn.00504910
movzx ecx, byte [rsp + 0x50]
cmp r13, 0xfe
ja 0x4f9ec2
mov rdx, qword [rsp + 0x38]
mov r13, rdx
cmp rdx, 0xff
jbe 0x4f9e60
mov rcx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x78]
mov edx, dword [rsp + 0x68]
jmp 0x4f9755
mov r11, qword [rsp + 0x98]
jmp 0x4f9a25
mov r11, qword [rsp + 0x178]
test r11, r11
je 0x4fa0d7
cmp qword [rsp + 0x60], 0x3d
jbe 0x4f9fab
mov rdx, qword [rsp + 0x120]
xor esi, esi
lea r13, [0x006f3e80]
lea rbx, [0x006f3e98]
lea r14, [0x006f3eb0]
lea r8, [0x006f3ee0]
lea r9, [0x006f3ef8]
mov r12, qword [rsp + 0x48]
jmp 0x4f9f4c
inc rsi
cmp r11, rsi
je 0x4fa0d7
mov r10, rsi
mov rcx, qword [rsp + 0x60]
shl r10, cl
cmp r12, rsi
je 0x4fa3a3
mov rax, qword [rsp + 0x80]
cmp byte [rax + rsi], 0
je 0x4f9f90
mov rax, rdx
sub rax, r10
jb 0x4fa408
cmp qword [rsp + 0x70], rax
jbe 0x4f9f40
jmp 0x4fa3f0
mov rax, rdx
sub rax, r10
jb 0x4fa3e8
cmp qword [rsp + 0x70], rax
jbe 0x4f9f40
mov r9, r14
jmp 0x4fa3f0
mov rax, qword [rsp + 0x70]
lea rsi, [rax*4]
xor ebx, ebx
lea r14, [0x006f3e98]
lea r15, [0x006f3eb0]
lea r12, [0x006f3ec8]
lea r8, [0x006f3ee0]
lea r9, [0x006f3ef8]
lea r13, [0x006f3f10]
jmp 0x4f9ffc
inc rbx
cmp rbx, r11
je 0x4fa0d7
mov r10, rbx
mov rcx, qword [rsp + 0x60]
shl r10, cl
cmp rbx, qword [rsp + 0x48]
je 0x4fa3bb
mov rax, qword [rsp + 0x80]
cmp byte [rax + rbx], 0
mov rdx, qword [rsp + 0x120]
mov rax, rdx
je 0x4fa080
sub rax, r10
jb 0x4fa408
cmp qword [rsp + 0x70], rax
ja 0x4fa3f0
shl r10, 2
add r10, qword [rsp + 0x118]
xor ecx, ecx
nop dword [rax]
mov eax, dword [r10 + rcx]
cmp rbp, rax
jbe 0x4fa33d
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + rax*4]
mov dword [r10 + rcx], eax
add rcx, 4
cmp rsi, rcx
jne 0x4fa050
jmp 0x4f9ff0
sub rax, r10
jb 0x4fa405
cmp qword [rsp + 0x70], rax
ja 0x4fa3ed
shl r10, 2
add r10, qword [rsp + 0x118]
xor ecx, ecx
nop word cs:[rax + rax]
mov eax, dword [r10 + rcx]
cmp rbp, rax
jbe 0x4fa345
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + rax*4]
mov dword [r10 + rcx], eax
add rcx, 4
cmp rsi, rcx
jne 0x4fa0b0
jmp 0x4f9ff0
mov eax, dword [rdi + 0x1a0]
cmp rbp, rax
jbe 0x4fa59a
mov r15, qword [rsp + 0x30]
mov eax, dword [r15 + rax*4]
mov dword [rsp + 0x2a0], eax
mov eax, dword [rdi + 0x1a4]
cmp rbp, rax
mov rbx, qword [rsp + 0xf8]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
jbe 0x4fa5a9
mov eax, dword [r15 + rax*4]
mov dword [rsp + 0x2a4], eax
mov eax, dword [rdi + 0x1a8]
cmp rbp, rax
jbe 0x4fa5b8
mov eax, dword [r14 + rax*4]
mov dword [rsp + 0x2a8], eax
mov eax, dword [rdi + 0x1ac]
cmp rbp, rax
jbe 0x4fa5c7
mov eax, dword [r15 + rax*4]
mov dword [rsp + 0x2ac], eax
test r12, r12
je 0x4fa171
mov rcx, qword [0x0076d128]
xor edx, edx
mov r8, qword [rsp + 0x80]
call fcn.006d3c74
mov rcx, qword [0x0076d128]
xor edx, edx
mov r8, r15
call fcn.006d3c74
mov rcx, qword [0x0076d128]
xor edx, edx
mov r8, r14
call fcn.006d3c74
mov rdi, qword [rsp + 0x120]
cmp qword [rsp + 0x110], rdi
ja 0x4f9511
mov rdi, qword [rsp + 0x150]
cmp qword [rsp + 0x140], rdi
jbe 0x4f965c
mov r8, qword [rsp + 0x148]
test rdi, rdi
je 0x4fa1f4
lea rsi, [rdi*4]
mov rcx, qword [0x0076d128]
xor edx, edx
mov r9, rsi
call sub.kernel32.dll_HeapReAlloc
test rax, rax
jne 0x4fa207
mov ecx, 4
jmp 0x4fa5d8
mov rcx, qword [0x0076d128]
xor edx, edx
call fcn.006d3c74
mov eax, 4
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x140], rdi
mov rdi, qword [rsp + 0x138]
cmp qword [rsp + 0x128], rdi
jbe 0x4fa285
mov r8, qword [rsp + 0x130]
test rdi, rdi
je 0x4fa262
lea rax, [rdi*8]
lea rsi, [rax + rax*2]
mov rcx, qword [0x0076d128]
xor edx, edx
mov r9, rsi
call sub.kernel32.dll_HeapReAlloc
test rax, rax
jne 0x4fa275
mov ecx, 8
jmp 0x4fa5d8
mov rcx, qword [0x0076d128]
xor edx, edx
call fcn.006d3c74
mov eax, 8
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x128], rdi
lea rdx, [rsp + 0x110]
mov r8d, 0x1a8
mov rcx, rbx
call sub.msvcrt.dll_memcpy
nop
add rsp, 0x3b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r13, r14
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_aho_corasick_1.1.3_src_nfa_noncontiguous.rs
jmp 0x4fa2cf
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_aho_corasick_1.1.3_src_nfa_noncontiguous.rs
jmp 0x4fa2cf
mov r13, r15
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_aho_corasick_1.1.3_src_nfa_noncontiguous.rs
mov rcx, rbp
mov rdx, r13
call fcn.0056d4e0
jmp 0x4fa604
mov rdx, r12
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_aho_corasick_1.1.3_src_nfa_noncontiguous.rs
jmp 0x4fa301
mov rdx, rbp
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_aho_corasick_1.1.3_src_nfa_noncontiguous.rs
jmp 0x4fa301
mov rdx, rbx
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_aho_corasick_1.1.3_src_nfa_noncontiguous.rs
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
mov rcx, rax
call fcn.0056d4e0
jmp 0x4fa604
mov r13, qword [rsp + 0x38]
lea r8, [0x006f3e08]
jmp 0x4fa2cf
lea r8, [0x006f3f58]
jmp 0x4fa301
lea r8, [0x006f3f88]
jmp 0x4fa301
mov rdx, rbp
mov r8, r13
jmp 0x4fa301
mov rdx, rbp
mov r8, r12
jmp 0x4fa301
cmp dword [rsp + 0x68], 1
lea rcx, [0x006f3f58]
lea r8, [0x006f3f70]
cmove r8, rcx
jmp 0x4fa301
lea rcx, [0x006f5898]
call fcn.005722f0
jmp 0x4fa604
lea rcx, [0x006f5898]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
call fcn.005722f0
jmp 0x4fa604
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_aho_corasick_1.1.3_src_nfa_noncontiguous.rs
jmp 0x4fa2cf
mov rax, r12
mov rdx, r12
mov r14, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
mov r8, r13
jmp 0x4fa310
mov r12, qword [rsp + 0x48]
mov rax, r12
mov rdx, r12
mov r14, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
lea r8, [0x006f3e80]
jmp 0x4fa310
lea rcx, [0x006f3df0]
call fcn.005722f0
mov r8, rbx
jmp 0x4fa408
mov r9, r15
mov rcx, qword [rsp + 0x70]
mov rdx, rax
mov r8, r9
call fcn.0056ddd0
jmp 0x4fa604
mov r8, r14
mov rcx, r10
call fcn.0056d470
jmp 0x4fa604
mov r12, qword [rsp + 0x48]
mov rdx, r12
lea r8, [0x006f3f40]
jmp 0x4fa306
mov r12, qword [rsp + 0x48]
mov rdx, r12
mov r14, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
lea r8, [0x006f3f28]
jmp 0x4fa310
lea rcx, [0x006f3da8]
call fcn.005722f0
lea rcx, [0x006f3d90]
call fcn.005722f0
lea rax, [0x00720258]
mov qword [rsp + 0xa0], rax
lea rax, [0x005aa790]
mov qword [rsp + 0xa8], rax
lea rax, [0x00720cf8]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
mov qword [rsp + 0xe0], 0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 1
lea rdx, [0x006f5898]
lea rcx, [rsp + 0xc0]
call fcn.0056d430
jmp 0x4fa604
lea rcx, [0x006f3dd8]
call fcn.005722f0
call fcn.00522eb0
mov ecx, 4
mov rdx, r14
call fcn.00522e90
xor ecx, ecx
jmp 0x4fa500
mov ecx, 4
mov rdx, r14
call fcn.00522e90
jmp 0x4fa604
lea rcx, [0x006f3dc0]
call fcn.005722f0
lea rax, [0x00720258]
mov qword [rsp + 0xa0], rax
lea rax, [0x005aa790]
mov qword [rsp + 0xa8], rax
lea rax, [0x00720cf8]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
mov qword [rsp + 0xe0], 0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 1
lea rdx, [0x006f5898]
lea rcx, [rsp + 0xc0]
mov r14, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
call fcn.0056d430
jmp 0x4fa604
lea r8, [0x006f3e20]
mov rdx, rbp
jmp 0x4fa301
lea r8, [0x006f3e38]
mov rdx, rbp
jmp 0x4fa310
lea r8, [0x006f3e50]
mov rdx, rbp
jmp 0x4fa310
lea r8, [0x006f3e68]
mov rdx, rbp
jmp 0x4fa310
xor ecx, ecx
mov rdx, rsi
call fcn.00522e90
jmp 0x4fa604
mov ecx, 4
mov rdx, rsi
call fcn.00522e90
jmp 0x4fa604
xor ecx, ecx
jmp 0x4fa5fa
mov ecx, 1
mov rdx, qword [rsp + 0x48]
call fcn.00522e90
ud2