Function at 0x4c63c0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
lea r12, [rsp - 0x1e0]
cmp r12, qword [r14 + 0x10]
jbe 0x4c74b6
sub rsp, 0x260
mov qword [rsp + 0x258], rbp
lea rbp, [rsp + 0x258]
mov qword [rsp + 0x320], rax
mov qword [rsp + 0x328], rbx
mov rax, qword [rsp + 0x260]
call fcn.004a1b60
movups xmmword [rsp + 0x268], xmm15
lea rdi, [rsp + 0x270]
lea rdi, [rdi - 0x10]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0049f78f
mov rbp, qword [rbp]
lea rax, [0x00597340]
call fcn.0044a300
mov qword [rsp + 0x168], rax
mov word [rsp + 0x34], 0
movups xmmword [rsp + 0x210], xmm15
movups xmmword [rsp + 0x218], xmm15
movups xmmword [rsp + 0x228], xmm15
movups xmmword [rsp + 0x238], xmm15
movups xmmword [rsp + 0x248], xmm15
mov rbx, qword [rsp + 0x328]
test rbx, rbx
jne 0x4c648f
xor ecx, ecx
jmp 0x4c68cf
lea rax, [rsp + 0x210]
call fcn.004c4ec0
nop dword [rax]
test rax, rax
je 0x4c68bf
test bl, bl
je 0x4c66bd
mov rax, qword [rsp + 0x168]
call fcn.004a0800
mov rcx, qword [rsp + 0x168]
mov edx, dword [rcx]
test edx, 7
jne 0x4c65c2
lea rax, [rcx + 8]
mov qword [rsp + 0x1b8], rax
call fcn.004a0800
mov rcx, qword [rsp + 0x168]
mov rdx, qword [rcx + 0x10]
mov rdi, qword [rcx + 0x18]
mov rbx, rdi
sub rdi, rdx
mov rsi, qword [rcx + 8]
nop
cmp rdi, 1
jge 0x4c652e
lea r8, [rdx + 1]
lea rax, [0x0058df80]
mov rcx, rdx
mov rdi, rbx
mov rbx, rsi
mov rsi, r8
nop dword [rax]
call fcn.004869c0
mov rsi, rax
mov rdx, rbx
mov rbx, rcx
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0x1b0], rsi
lea rax, [rsi + rdx]
call fcn.004a0840
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x1b0]
mov byte [rdx + rcx], 0
mov rax, qword [rsp + 0x1b8]
call fcn.004a0840
mov rcx, qword [rsp + 0xc8]
inc rcx
mov rdx, qword [rsp + 0x168]
mov qword [rdx + 0x10], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rdx + 0x18], rcx
cmp dword [0x007950f0], 0
jne 0x4c65aa
mov rcx, qword [rsp + 0x1b0]
mov qword [rdx + 8], rcx
jmp 0x4c65bf
mov rdi, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.0049f120
mov rcx, rdx
lea rax, [rcx + 8]
call fcn.004a0800
mov rax, qword [rsp + 0x168]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x1b0], rcx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0xd0], rdx
call fcn.004a0800
mov rcx, qword [rsp + 0x168]
mov eax, dword [rcx]
shr eax, 3
mov rdx, qword [rsp + 0xd0]
cmp rdx, rax
jbe 0x4c74ad
mov dword [rsp + 0x3c], eax
mov rcx, qword [rsp + 0x1b0]
lea rdx, [rcx + rax]
mov qword [rsp + 0x1a8], rdx
mov rax, rdx
call fcn.004a0800
mov rcx, qword [rsp + 0x1b0]
mov edx, dword [rsp + 0x3c]
movzx ebx, byte [rdx + rcx]
mov byte [rsp + 0x2f], bl
mov rax, qword [rsp + 0x168]
call fcn.004a0800
mov rcx, qword [rsp + 0x168]
mov edx, dword [rcx]
mov dword [rsp + 0x38], edx
mov rax, qword [rsp + 0x1a8]
call fcn.004a0840
mov ecx, dword [rsp + 0x38]
and ecx, 7
movzx edx, byte [rsp + 0x2f]
bts edx, ecx
mov ecx, dword [rsp + 0x3c]
mov rbx, qword [rsp + 0x1b0]
mov byte [rbx + rcx], dl
mov rax, qword [rsp + 0x168]
call fcn.004a0800
mov rax, qword [rsp + 0x168]
mov ecx, dword [rax]
mov dword [rsp + 0x3c], ecx
call fcn.004a0840
mov ecx, dword [rsp + 0x3c]
inc ecx
mov rdx, qword [rsp + 0x168]
mov dword [rdx], ecx
jmp 0x4c68bb
nop
mov rax, qword [rsp + 0x168]
call fcn.004a0800
mov rcx, qword [rsp + 0x168]
mov edx, dword [rcx]
nop word [rax + rax]
nop
test edx, 7
jne 0x4c67da
lea rax, [rcx + 8]
mov qword [rsp + 0x1b8], rax
call fcn.004a0800
mov rcx, qword [rsp + 0x168]
mov rdx, qword [rcx + 0x10]
mov rdi, qword [rcx + 0x18]
mov rbx, rdi
sub rdi, rdx
mov rsi, qword [rcx + 8]
cmp rdi, 1
jge 0x4c6742
lea r8, [rdx + 1]
lea rax, [0x0058df80]
mov rcx, rdx
mov rdi, rbx
mov rbx, rsi
mov rsi, r8
call fcn.004869c0
mov rsi, rax
mov rdx, rbx
mov rbx, rcx
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0x1b0], rsi
lea rax, [rsi + rdx]
nop
call fcn.004a0840
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x1b0]
mov byte [rdx + rcx], 0
mov rax, qword [rsp + 0x1b8]
call fcn.004a0840
mov rcx, qword [rsp + 0xc8]
inc rcx
mov rdx, qword [rsp + 0x168]
mov qword [rdx + 0x10], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rdx + 0x18], rcx
cmp dword [0x007950f0], 0
jne 0x4c67c2
mov rcx, qword [rsp + 0x1b0]
mov qword [rdx + 8], rcx
nop
jmp 0x4c67d7
mov rdi, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.0049f120
mov rcx, rdx
lea rax, [rcx + 8]
nop
call fcn.004a0800
mov rax, qword [rsp + 0x168]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x1b0], rcx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0xd0], rdx
call fcn.004a0800
mov rcx, qword [rsp + 0x168]
mov eax, dword [rcx]
shr eax, 3
mov rdx, qword [rsp + 0xd0]
nop
cmp rdx, rax
jbe 0x4c74a5
mov dword [rsp + 0x3c], eax
mov rcx, qword [rsp + 0x1b0]
lea rdx, [rcx + rax]
mov qword [rsp + 0x1a8], rdx
mov rax, rdx
call fcn.004a0800
mov rcx, qword [rsp + 0x1b0]
mov edx, dword [rsp + 0x3c]
movzx ebx, byte [rdx + rcx]
mov byte [rsp + 0x2f], bl
mov rax, qword [rsp + 0x168]
call fcn.004a0800
mov rax, qword [rsp + 0x1a8]
call fcn.004a0840
mov ecx, dword [rsp + 0x3c]
movzx edx, byte [rsp + 0x2f]
mov rbx, qword [rsp + 0x1b0]
mov byte [rbx + rcx], dl
mov rax, qword [rsp + 0x168]
call fcn.004a0800
mov rax, qword [rsp + 0x168]
mov ecx, dword [rax]
mov dword [rsp + 0x3c], ecx
call fcn.004a0840
mov ecx, dword [rsp + 0x3c]
inc ecx
mov rdx, qword [rsp + 0x168]
mov dword [rdx], ecx
xor eax, eax
jmp 0x4c68cc
mov rdx, qword [rsp + 0x168]
mov eax, 8
mov rcx, rax
mov qword [rsp + 0x80], rcx
mov rdx, qword [rsp + 0x320]
test byte [rdx], al
lea rax, [rdx + 0x14]
mov qword [rsp + 0x1a0], rax
call fcn.004a0800
mov rcx, qword [rsp + 0x320]
movzx edx, byte [rcx + 0x14]
nop
test dl, 1
je 0x4c690c
mov eax, 0x48
jmp 0x4c6911
mov eax, 0x38
mov qword [rsp + 0x70], rax
lea rdx, [rcx + 0x30]
mov qword [rsp + 0x198], rdx
mov rax, rdx
call fcn.004a0800
mov rcx, qword [rsp + 0x320]
cmp word [rcx + 0x30], 0
jne 0x4c6945
xor eax, eax
xor edx, edx
nop dword [rax]
jmp 0x4c6a0a
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x180], rcx
mov rdx, qword [rsp + 0x70]
lea rax, [rdx + rcx]
mov qword [rsp + 0x150], rax
lea rbx, [rsp + 0x180]
mov edi, 1
mov rcx, rdi
call fcn.00443a20
mov rax, qword [rsp + 0x198]
call fcn.004a0800
mov rdx, qword [rsp + 0x320]
movzx esi, word [rdx + 0x30]
mov qword [rsp + 0xd0], rsi
mov rax, qword [rsp + 0x198]
call fcn.004a0800
mov rdx, qword [rsp + 0x320]
movzx ecx, word [rdx + 0x30]
nop dword [rax]
cmp rcx, 0x100000
ja 0x4c7497
mov rsi, qword [rsp + 0xd0]
cmp rsi, rcx
ja 0x4c748d
mov rax, qword [rsp + 0x150]
lea rbx, [0x005a9220]
call fcn.004438c0
mov rcx, qword [rsp + 0x320]
mov rax, qword [rsp + 0x150]
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x140], rax
xor ebx, ebx
mov rsi, qword [rsp + 0x80]
jmp 0x4c6a47
mov rdi, qword [rsp + 0xa0]
lea rbx, [rdi + 1]
mov rcx, qword [rsp + 0x320]
mov rdx, qword [rsp + 0x58]
mov rsi, rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x80], rsi
cmp rdx, rbx
jle 0x4c6ca5
mov qword [rsp + 0xa0], rbx
lea rcx, [rax + rbx*8]
mov rax, rcx
call fcn.004a0800
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x140]
mov rbx, qword [rdx + rcx*8]
mov qword [rsp + 0x178], rbx
lea rax, [rsp + 0x210]
call fcn.004c4900
test rax, rax
je 0x4c6adc
mov qword [rsp + 0x160], rax
lea rcx, [rax + 0x18]
mov rax, rcx
call fcn.004a0800
mov rcx, qword [rsp + 0x160]
mov rbx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x178]
call fcn.004ccbe0
mov rax, qword [rsp + 0x80]
jmp 0x4c6a23
mov rcx, qword [rsp + 0x178]
test byte [rcx], al
lea rax, [rcx + 0x15]
call fcn.004a0800
mov rax, qword [rsp + 0x178]
movzx ecx, byte [rax + 0x15]
mov qword [rsp + 0xc0], rcx
call fcn.004a0800
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x80]
lea rdx, [rdx + rcx]
lea rdx, [rdx - 1]
neg rcx
and rcx, rdx
mov rdx, qword [rsp + 0x178]
add rcx, qword [rdx]
mov rdx, qword [rsp + 0x228]
mov rbx, qword [rsp + 0x230]
mov rax, qword [rsp + 0xa0]
cmp rax, rbx
jae 0x4c7485
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x190], rdx
lea rcx, [rdx + rax*8]
mov rax, rcx
call fcn.004a0800
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x190]
mov rdx, qword [rdx + rcx*8]
mov qword [rsp + 0x90], rdx
lea rax, [rsp + 0x228]
call fcn.004a0800
mov rcx, qword [rsp + 0x230]
dec rcx
mov rdx, qword [rsp + 0xa0]
cmp rdx, rcx
jne 0x4c6bc9
lea rax, [rsp + 0x210]
call fcn.004a0800
mov rcx, qword [rsp + 0x218]
mov rdx, rcx
jmp 0x4c6c25
lea rax, [rsp + 0x228]
call fcn.004a0800
mov rcx, qword [rsp + 0x228]
mov rdx, qword [rsp + 0x230]
mov rbx, qword [rsp + 0xa0]
lea rax, [rbx + 1]
cmp rdx, rax
jbe 0x4c7479
mov qword [rsp + 0x190], rcx
lea rax, [rcx + rbx*8]
lea rax, [rax + 8]
call fcn.004a0800
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x190]
mov rdx, qword [rdx + rcx*8 + 8]
mov qword [rsp + 0xb0], rdx
lea rax, [rsp + 0x210]
call fcn.004a0800
mov rdx, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x210]
mov rbx, qword [rsp + 0xb0]
cmp rbx, rdx
ja 0x4c7471
mov rax, qword [rsp + 0x90]
cmp rbx, rax
jb 0x4c7469
sub rbx, rax
mov rsi, rax
sub rax, rdx
lea rdx, [rsi + rsi*2]
shl rdx, 4
sar rax, 0x3f
and rdx, rax
add rcx, rdx
test rbx, rbx
je 0x4c6c98
mov qword [rsp + 0x50], rbx
xor eax, eax
jmp 0x4c7359
mov rax, qword [rsp + 0x80]
jmp 0x4c6a23
nop
mov rcx, qword [rsp + 0x240]
mov qword [rsp + 0x78], rcx
nop
mov word [rsp + 0x30], 0
movups xmmword [rsp + 0x1c8], xmm15
movups xmmword [rsp + 0x1d0], xmm15
movups xmmword [rsp + 0x1e0], xmm15
movups xmmword [rsp + 0x1f0], xmm15
movups xmmword [rsp + 0x200], xmm15
lea rdx, [rcx + 7]
and rdx, 0xfffffffffffffff8
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x1f8], rdx
mov rax, qword [rsp + 0x1a0]
call fcn.004a0800
mov rcx, qword [rsp + 0x320]
movzx edx, byte [rcx + 0x14]
test dl, 1
je 0x4c6d22
mov eax, 0x48
jmp 0x4c6d27
mov eax, 0x38
mov qword [rsp + 0x68], rax
lea rdx, [rcx + 0x32]
mov rax, rdx
call fcn.004a0800
mov rcx, qword [rsp + 0x320]
movzx edx, word [rcx + 0x32]
and edx, 0x7fff
test dx, dx
jne 0x4c6d58
xor esi, esi
xor edx, edx
jmp 0x4c6e87
mov word [rsp + 0x32], dx
mov qword [rsp + 0x1c0], 0
mov qword [rsp + 0x1c0], rcx
mov rdx, qword [rsp + 0x68]
lea rax, [rdx + rcx]
mov qword [rsp + 0x148], rax
lea rbx, [rsp + 0x1c0]
mov edi, 1
mov rcx, rdi
call fcn.00443a20
mov rax, qword [rsp + 0x198]
nop
call fcn.004a0800
mov rdx, qword [rsp + 0x320]
movzx esi, word [rdx + 0x30]
mov qword [rsp + 0xd0], rsi
mov rax, qword [rsp + 0x198]
call fcn.004a0800
mov rdx, qword [rsp + 0x320]
movzx esi, word [rdx + 0x30]
mov word [rsp + 0x36], si
mov rax, qword [rsp + 0x198]
nop
call fcn.004a0800
movzx edx, word [rsp + 0x32]
movzx esi, word [rsp + 0x36]
add esi, edx
mov r8, qword [rsp + 0x320]
movzx r8d, word [r8 + 0x30]
add edx, r8d
movzx ecx, si
movzx esi, dx
cmp rcx, rsi
ja 0x4c734a
mov rax, qword [rsp + 0xd0]
nop dword [rax + rax]
cmp rax, rcx
ja 0x4c7345
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0xb8], rcx
movzx ecx, dx
mov rax, qword [rsp + 0x148]
lea rbx, [0x005a9220]
call fcn.004438c0
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xd0]
sub rdx, rsi
mov rdi, qword [rsp + 0xc8]
mov r8, rsi
sub rsi, rdi
shl r8, 3
sar rsi, 0x3f
and r8, rsi
mov rsi, qword [rsp + 0x148]
add rsi, r8
mov qword [rsp + 0x138], rsi
mov qword [rsp + 0x48], rdx
xor eax, eax
jmp 0x4c6eb1
mov rcx, qword [rsp + 0x98]
lea rax, [rcx + 1]
mov rdx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x138]
cmp rdx, rax
jle 0x4c70b3
mov qword [rsp + 0x98], rax
lea rcx, [rsi + rax*8]
mov rax, rcx
call fcn.004a0800
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x138]
mov rbx, qword [rdx + rcx*8]
mov qword [rsp + 0x170], rbx
lea rax, [rsp + 0x1c8]
call fcn.004c4900
nop word [rax + rax]
test rax, rax
jne 0x4c7079
mov rdx, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e8]
mov rax, qword [rsp + 0x98]
cmp rax, rcx
jae 0x4c7340
mov qword [rsp + 0x190], rdx
lea rcx, [rdx + rax*8]
mov rax, rcx
call fcn.004a0800
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x190]
mov rdx, qword [rdx + rcx*8]
mov qword [rsp + 0x88], rdx
lea rax, [rsp + 0x1e0]
call fcn.004a0800
mov rcx, qword [rsp + 0x1e8]
dec rcx
mov rdx, qword [rsp + 0x98]
cmp rdx, rcx
jne 0x4c6f99
lea rax, [rsp + 0x1c8]
call fcn.004a0800
mov rcx, qword [rsp + 0x1d0]
mov rdx, rcx
jmp 0x4c6ffa
lea rax, [rsp + 0x1e0]
call fcn.004a0800
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x98]
lea rax, [rbx + 1]
cmp rdx, rax
jbe 0x4c7335
mov qword [rsp + 0x190], rcx
lea rax, [rcx + rbx*8]
lea rax, [rax + 8]
nop dword [rax + rax]
call fcn.004a0800
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x190]
mov rdx, qword [rdx + rcx*8 + 8]
mov qword [rsp + 0xa8], rdx
lea rax, [rsp + 0x1c8]
call fcn.004a0800
mov rdx, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x1c8]
mov rbx, qword [rsp + 0xa8]
cmp rbx, rdx
ja 0x4c732d
mov rax, qword [rsp + 0x88]
nop dword [rax + rax]
cmp rbx, rax
jb 0x4c7325
sub rbx, rax
mov rsi, rax
sub rax, rdx
lea rdx, [rsi + rsi*2]
shl rdx, 4
sar rax, 0x3f
and rdx, rax
add rcx, rdx
test rbx, rbx
je 0x4c6e98
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x4c7206
mov qword [rsp + 0x158], rax
lea rcx, [rax + 0x18]
mov rax, rcx
call fcn.004a0800
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x170]
call fcn.004ccbe0
jmp 0x4c6e98
mov rax, qword [rsp + 0x60]
sub qword [rsp + 0x1f8], rax
movups xmmword [rsp + 0x268], xmm15
lea rdi, [rsp + 0x270]
lea rdi, [rdi - 0x10]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0049f78f
mov rbp, qword [rbp]
mov rcx, qword [rsp + 0x210]
mov qword [rsp + 0x268], rcx
movups xmm0, xmmword [rsp + 0x218]
movups xmmword [rsp + 0x270], xmm0
movups xmm0, xmmword [rsp + 0x228]
movups xmmword [rsp + 0x280], xmm0
movups xmm0, xmmword [rsp + 0x238]
movups xmmword [rsp + 0x290], xmm0
movups xmm0, xmmword [rsp + 0x248]
movups xmmword [rsp + 0x2a0], xmm0
mov rcx, qword [rsp + 0x1c8]
mov qword [rsp + 0x2b0], rcx
movups xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rsp + 0x2b8], xmm0
movups xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rsp + 0x2c8], xmm0
movups xmm0, xmmword [rsp + 0x1f0]
movups xmmword [rsp + 0x2d8], xmm0
movups xmm0, xmmword [rsp + 0x200]
movups xmmword [rsp + 0x2e8], xmm0
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x2f8], rcx
mov qword [rsp + 0x300], rax
mov rax, qword [rsp + 0x80]
add rax, 7
and rax, 0xfffffffffffffff8
mov qword [rsp + 0x308], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x310], rax
movzx eax, word [rsp + 0x34]
mov word [rsp + 0x318], ax
movzx eax, word [rsp + 0x30]
mov word [rsp + 0x31a], ax
call fcn.004a1ba0
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
add rcx, 0x30
mov rax, rdx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x188], rcx
mov ebx, 0x30
mov rax, rcx
nop
call fcn.004a1bc0
mov rcx, qword [rsp + 0x188]
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0xd8], xmm0
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rsp + 0xe8], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rsp + 0xf8], xmm0
cmp qword [rsp + 0xd8], 3
jne 0x4c72f7
mov rdx, qword [rsp + 0xf8]
mov rbx, rdx
sar rdx, 0x3f
shr rdx, 0x3d
lea rax, [rbx + rdx]
sar rax, 3
nop word [rax + rax]
cmp rax, 2
jae 0x4c731a
movzx edx, byte [rsp + rax + 0x30]
lea rsi, [rsp + rax + 0x30]
mov rdi, rax
shl rax, 3
sub rbx, rax
nop
test rbx, rbx
jl 0x4c7315
mov qword [rsp + 0xc8], rdi
mov byte [rsp + 0x2e], dl
mov qword [rsp + 0xb8], rbx
mov rax, rsi
nop dword [rax]
call fcn.004a0840
mov rcx, qword [rsp + 0xb8]
cmp rcx, 0x20
sbb edx, edx
mov ebx, 1
shl ebx, cl
and edx, ebx
movzx ecx, byte [rsp + 0x2e]
or ecx, edx
mov rdx, qword [rsp + 0xc8]
mov byte [rsp + rdx + 0x30], cl
mov rcx, qword [rsp + 0x188]
mov rdx, qword [rsp + 0xd0]
inc rdx
mov rsi, qword [rsp + 0x40]
cmp rsi, rdx
jg 0x4c71ff
jmp 0x4c6e98
call fcn.004700e0
mov ecx, 2
nop
call fcn.0049f4c0
mov rcx, rbx
call fcn.0049f580
mov rcx, rbx
call fcn.0049f540
mov rcx, rdx
call fcn.0049f4c0
nop dword [rax]
call fcn.0049f4c0
call fcn.0049f640
mov rdx, rsi
call fcn.0049f620
add rcx, 0x30
mov rax, rdx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x188], rcx
mov ebx, 0x30
mov rax, rcx
call fcn.004a1bc0
mov rcx, qword [rsp + 0x188]
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x108], xmm0
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x118], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rsp + 0x128], xmm0
cmp qword [rsp + 0x108], 3
jne 0x4c743c
mov rdx, qword [rsp + 0x128]
mov rbx, rdx
sar rdx, 0x3f
shr rdx, 0x3d
lea rax, [rbx + rdx]
sar rax, 3
cmp rax, 2
jae 0x4c745f
movzx edx, byte [rsp + rax + 0x34]
lea rsi, [rsp + rax + 0x34]
mov rdi, rax
shl rax, 3
sub rbx, rax
test rbx, rbx
jl 0x4c745a
mov qword [rsp + 0xc8], rdi
mov byte [rsp + 0x2e], dl
mov qword [rsp + 0xb8], rbx
mov rax, rsi
call fcn.004a0840
mov rcx, qword [rsp + 0xb8]
cmp rcx, 0x20
sbb edx, edx
mov ebx, 1
shl ebx, cl
and ebx, edx
movzx ecx, byte [rsp + 0x2e]
or ecx, ebx
mov rdx, qword [rsp + 0xc8]
mov byte [rsp + rdx + 0x34], cl
mov rcx, qword [rsp + 0x188]
mov rdx, qword [rsp + 0xd0]
inc rdx
mov rsi, qword [rsp + 0x50]
cmp rsi, rdx
jg 0x4c7352
jmp 0x4c6c98
call fcn.004700e0
mov ecx, 2
call fcn.0049f4c0
mov rcx, rbx
call fcn.0049f580
mov rcx, rbx
call fcn.0049f540
mov rcx, rdx
nop dword [rax]
call fcn.0049f4c0
mov rcx, rbx
call fcn.0049f4c0
mov edx, ecx
mov rcx, rsi
call fcn.0049f620
mov edx, ecx
mov ebx, 0x100000
nop
call fcn.0049f5c0
mov rcx, rdx
call fcn.0049f4c0
mov rcx, rdx
call fcn.0049f4c0
nop
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rbx
call fcn.0049cdc0
mov rax, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
nop dword [rax + rax]
jmp fcn.004c63c0