Function at 0x5224c0
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x170]
cmp r12, qword [r14 + 0x10]
jbe 0x523cac
push rbp
mov rbp, rsp
sub rsp, 0x1e8
mov qword [rsp + 0x208], rcx
mov qword [rsp + 0x200], rbx
mov qword [rsp + 0x1f8], rax
movups xmmword [rsp + 0x140], xmm15
movups xmmword [rsp + 0x150], xmm15
mov edi, 1
lea rcx, [0x00589e19]
call fcn.00476f80
nop dword [rax + rax]
test sil, sil
je 0x522872
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x130], rax
test rbx, rbx
jne 0x522552
xor edx, edx
jmp 0x522584
lea rcx, [0x00613d70]
call fcn.004c1680
test rax, rax
setl dl
mov rax, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x160]
mov rbx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb8]
test dl, dl
je 0x522865
test rdi, rdi
jne 0x522595
xor edx, edx
jmp 0x5225cd
mov rax, rcx
mov rbx, rdi
lea rcx, [0x00613d70]
call fcn.004c1680
test rax, rax
setl dl
mov rax, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x160]
mov rbx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb8]
test dl, dl
je 0x522865
call fcn.004c1020
mov rcx, qword [rsp + 0x140]
nop
nop
test rcx, rcx
je 0x5225fb
lea rdx, [rsp + 0x140]
cmp rcx, rdx
je 0x52260b
jmp 0x523c98
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x150]
lea r8, [rdx + rbx]
mov r9, qword [rsp + 0x148]
cmp rcx, r8
jae 0x522671
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xd8], rdx
mov rax, r9
mov rdi, rbx
lea rsi, [0x005513c0]
mov rbx, r8
call fcn.0046a4a0
mov rdx, qword [rsp + 0xd8]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0x180], r9
add rdx, r9
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
nop dword [rax + rax]
call fcn.00471840
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x150], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x158], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x140]
nop
nop
nop
test rdx, rdx
je 0x5226f7
lea r8, [rsp + 0x140]
cmp rdx, r8
je 0x522707
jmp 0x523c85
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x150]
inc rbx
mov rax, qword [rsp + 0x148]
cmp rcx, rbx
jae 0x522748
mov edi, 1
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rbx
mov byte [rbx + rax - 1], 0x2f
mov rax, qword [rsp + 0x160]
mov rbx, qword [rsp + 0xb8]
call fcn.004c1020
mov rcx, qword [rsp + 0x140]
nop
test rcx, rcx
je 0x52278a
lea rdx, [rsp + 0x140]
cmp rcx, rdx
je 0x52279a
jmp 0x523c71
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x150]
lea r8, [rdx + rbx]
mov r9, qword [rsp + 0x148]
cmp rcx, r8
jae 0x522800
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x110], rax
mov qword [rsp + 0xd8], rdx
mov rax, r9
mov rdi, rbx
lea rsi, [0x005513c0]
mov rbx, r8
call fcn.0046a4a0
mov rdx, qword [rsp + 0xd8]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0x180], r9
add rdx, r9
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
call fcn.00471840
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x150], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x158], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x148], rdx
nop
jmp 0x5229b5
xor eax, eax
xor ebx, ebx
add rsp, 0x1e8
pop rbp
ret
mov rbx, qword [rsp + 0x200]
nop word [rax + rax]
test rbx, rbx
je 0x522a43
mov rax, qword [rsp + 0x1f8]
lea rcx, [0x00613d70]
call fcn.004c1680
nop dword [rax]
test rax, rax
jge 0x522a43
mov rax, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x200]
call fcn.004c1020
mov rcx, qword [rsp + 0x140]
nop
nop
test rcx, rcx
je 0x5228df
lea rdx, [rsp + 0x140]
cmp rcx, rdx
je 0x5228ef
jmp 0x523c5e
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x150]
lea r8, [rdx + rbx]
mov r9, qword [rsp + 0x148]
cmp rcx, r8
jae 0x522955
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x120], rax
mov qword [rsp + 0xd8], rdx
mov rax, r9
mov rdi, rbx
lea rsi, [0x005513c0]
mov rbx, r8
call fcn.0046a4a0
mov rdx, qword [rsp + 0xd8]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x78]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0x180], r9
add rdx, r9
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
nop
call fcn.00471840
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x150], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x158], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x208]
nop dword [rax]
test rdx, rdx
je 0x5229ca
mov rsi, qword [rdx]
jmp 0x5229cc
xor esi, esi
mov qword [rsp + 0x98], rsi
lea rax, [0x00551340]
xor ebx, ebx
mov rcx, rsi
call fcn.0046a3c0
mov qword [rsp + 0x178], rax
lea rdi, [rsp + 0x188]
lea rdi, [rdi - 0x20]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0047116b
mov rbp, qword [rbp]
mov rbx, qword [rsp + 0x208]
lea rcx, [rsp + 0x188]
lea rax, [0x0055a780]
call fcn.00465e20
xor eax, eax
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x178]
jmp 0x522a81
xor eax, eax
xor ebx, ebx
add rsp, 0x1e8
pop rbp
ret
mov qword [rsp + 0x128], rdx
mov qword [rdx + rsi], r8
lea rax, [rsp + 0x188]
call fcn.00466040
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x128]
mov r10, qword [rsp + 0x188]
test r10, r10
je 0x522b1b
lea rbx, [rax + 1]
mov r8, qword [r10]
mov r9, qword [r10 + 8]
nop dword [rax]
cmp rcx, rbx
jae 0x522adc
mov qword [rsp + 0x138], r8
mov qword [rsp + 0xb0], r9
mov rax, rdx
mov edi, 1
lea rsi, [0x00551340]
call fcn.0046a4a0
mov r8, qword [rsp + 0x138]
mov r9, qword [rsp + 0xb0]
mov rdx, rax
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rcx
lea rsi, [rbx - 1]
shl rsi, 4
mov qword [rdx + rsi + 8], r9
cmp dword [0x007db4e0], 0
je 0x522a50
call fcn.00470ae0
mov qword [r11], r8
mov rdi, qword [rdx + rsi]
mov qword [r11 + 8], rdi
jmp 0x522a50
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x170], rdx
lea r10, [0x00641260]
bsr r9, rax
mov r11, 0xffffffffffffffff
cmove r9, r11
inc r9
mov rbx, rdx
mov rdi, rcx
xor esi, esi
mov r8, rax
mov rax, r10
mov rcx, r8
call fcn.004e1520
mov rdx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x90]
jmp 0x522b83
mov rdx, qword [rsp + 0x178]
add rdx, 0x10
mov rax, qword [rsp + 0xd8]
dec rax
test rax, rax
jle 0x523236
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x178], rdx
mov rdi, qword [rdx + 8]
mov qword [rsp + 0x48], rdi
mov rcx, qword [rdx]
mov qword [rsp + 0xe0], rcx
lea rax, [0x0055a780]
mov rbx, qword [rsp + 0x208]
nop
call fcn.0040fbc0
mov rdx, qword [rsp + 0x140]
mov rsi, qword [rax + 8]
mov r8, qword [rax]
nop
nop
test rdx, rdx
je 0x522bed
lea r9, [rsp + 0x140]
cmp rdx, r9
je 0x522bfd
jmp 0x523c4b
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0x168], r8
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x150]
inc rbx
mov rax, qword [rsp + 0x148]
cmp rcx, rbx
jae 0x522c5e
mov edi, 1
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x148], rax
mov rsi, qword [rsp + 0xc0]
mov r8, qword [rsp + 0x168]
mov qword [rsp + 0x150], rbx
mov byte [rbx + rax - 1], 0x3b
mov rdx, qword [rsp + 0x140]
nop
nop
test rdx, rdx
je 0x522c8c
lea r9, [rsp + 0x140]
cmp rdx, r9
je 0x522c9c
jmp 0x523c38
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x150]
inc rbx
mov rax, qword [rsp + 0x148]
cmp rcx, rbx
jae 0x522ced
mov edi, 1
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x148], rax
mov rsi, qword [rsp + 0xc0]
mov r8, qword [rsp + 0x168]
mov qword [rsp + 0x150], rbx
mov byte [rbx + rax - 1], 0x20
mov rbx, qword [rsp + 0x48]
nop
test rbx, rbx
je 0x523229
mov rax, qword [rsp + 0xe0]
lea rcx, [0x00613d70]
call fcn.004c1680
nop dword [rax]
test rax, rax
jge 0x523229
mov rax, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x48]
call fcn.004c1020
mov rcx, qword [rsp + 0x140]
nop
nop
test rcx, rcx
je 0x522d5c
lea rdx, [rsp + 0x140]
cmp rcx, rdx
je 0x522d6c
jmp 0x523c25
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x150]
lea r8, [rbx + rdx]
mov r9, qword [rsp + 0x148]
cmp rcx, r8
jae 0x522dd2
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x108], rax
mov rax, r9
mov rdi, rbx
lea rsi, [0x005513c0]
mov rbx, r8
call fcn.0046a4a0
mov rdx, qword [rsp + 0xd0]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0x180], r9
add rdx, r9
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
nop dword [rax]
call fcn.00471840
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x150], rdx
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x158], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x148], rdx
nop
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x168]
xor eax, eax
jmp 0x523272
cmp rax, rdx
jge 0x522ef4
mov r8, qword [rsp + 0x140]
nop
nop
test r8, r8
je 0x522e77
lea r9, [rsp + 0x140]
cmp r8, r9
je 0x522e87
jmp 0x523c12
lea r8, [rsp + 0x140]
mov qword [rsp + 0x140], r8
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x150]
inc rbx
mov r8, qword [rsp + 0x148]
cmp rcx, rbx
jae 0x522ee6
mov rax, r8
mov edi, 1
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x148], rax
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x168]
mov r8, rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x150], rbx
mov byte [rbx + r8 - 1], 0x2a
mov r8, qword [rsp + 0x140]
nop
nop
nop
test r8, r8
je 0x522f17
lea r9, [rsp + 0x140]
cmp r8, r9
je 0x522f27
jmp 0x523bff
lea r8, [rsp + 0x140]
mov qword [rsp + 0x140], r8
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x150]
inc rbx
mov r8, qword [rsp + 0x148]
cmp rcx, rbx
jb 0x522f4c
cmp rax, rdx
jmp 0x522f96
mov rax, r8
mov edi, 1
lea rsi, [0x005513c0]
nop dword [rax + rax]
call fcn.0046a4a0
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x148], rax
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc0]
cmp rdx, rcx
mov rdx, rcx
mov rsi, qword [rsp + 0x168]
mov r8, rax
mov qword [rsp + 0x150], rbx
mov byte [rbx + r8 - 1], 0x3d
jge 0x523065
mov r8, qword [rsp + 0x140]
nop
test r8, r8
je 0x522fca
lea r9, [rsp + 0x140]
cmp r8, r9
je 0x522fda
jmp 0x523bec
lea r8, [rsp + 0x140]
mov qword [rsp + 0x140], r8
mov rbx, qword [rsp + 0x150]
lea r8, [rbx + 7]
mov rcx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x148]
cmp rcx, r8
jae 0x523032
mov qword [rsp + 0xd0], rbx
mov rbx, r8
mov edi, 7
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x168]
mov r8, rbx
mov rbx, qword [rsp + 0xd0]
mov dword [rax + rbx], 0x2d667475
mov dword [rax + rbx + 3], 0x2727382d
mov qword [rsp + 0x150], r8
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x148], rax
xor eax, eax
xor ecx, ecx
nop dword [rax]
jmp 0x5236c9
test rdx, rdx
jne 0x52306e
xor eax, eax
jmp 0x5230a0
mov rax, rsi
mov rbx, rdx
lea rcx, [0x00613d70]
nop dword [rax + rax]
call fcn.004c1680
test rax, rax
setl dl
mov rsi, qword [rsp + 0x168]
mov eax, edx
mov rdx, qword [rsp + 0xc0]
nop dword [rax]
test al, al
jne 0x523145
mov r8, qword [rsp + 0x140]
nop
test r8, r8
je 0x5230ca
lea r9, [rsp + 0x140]
nop
cmp r8, r9
je 0x5230da
jmp 0x5236b3
lea r8, [rsp + 0x140]
mov qword [rsp + 0x140], r8
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x150]
inc rbx
mov rax, qword [rsp + 0x148]
cmp rcx, rbx
jae 0x52312b
mov edi, 1
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x148], rax
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x168]
mov qword [rsp + 0x150], rbx
mov byte [rbx + rax - 1], 0x22
xor eax, eax
xor ecx, ecx
nop dword [rax]
jmp 0x5232f4
mov r8, qword [rsp + 0x140]
nop
nop
test r8, r8
je 0x52316a
lea r9, [rsp + 0x140]
nop dword [rax]
cmp r8, r9
je 0x52317a
jmp 0x5232de
lea r8, [rsp + 0x140]
mov qword [rsp + 0x140], r8
mov rcx, qword [rsp + 0x158]
mov r8, qword [rsp + 0x150]
lea rbx, [rdx + r8]
mov rax, qword [rsp + 0x148]
cmp rcx, rbx
jae 0x5231ca
mov qword [rsp + 0xd0], r8
mov rdi, rdx
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x168]
mov r8, qword [rsp + 0xd0]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xc8], rbx
lea rdi, [rax + r8]
mov rax, rdi
mov rbx, rsi
mov rcx, rdx
call fcn.00471840
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x150], rdx
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x158], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x148], rdx
jmp 0x522b6c
xor eax, eax
xor ebx, ebx
add rsp, 0x1e8
pop rbp
ret
mov rbx, qword [rsp + 0x150]
mov rax, qword [rsp + 0x148]
mov rcx, rax
neg rcx
nop
cmp rbx, rcx
ja 0x523260
add rsp, 0x1e8
pop rbp
ret
test rax, rax
je 0x52326a
call fcn.00461340
call fcn.00461380
mov rax, r9
mov qword [rsp + 0xd0], rax
nop word [rax + rax]
cmp rax, rdx
jge 0x522e50
movzx r8d, byte [rsi + rax]
cmp r8d, 0x80
jge 0x52329d
lea r9, [rax + 1]
jmp 0x5232c9
mov rbx, rdx
mov rcx, rax
mov rax, rsi
call fcn.00461500
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x168]
mov r8d, eax
mov r9, rbx
mov rax, qword [rsp + 0xd0]
lea r10d, [r8 - 0x20]
cmp r10d, 0x5e
jbe 0x52326f
cmp r8d, 9
je 0x52326f
jmp 0x522e4d
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
inc rax
cmp rax, rdx
jge 0x5234c0
movzx r8d, byte [rsi + rax]
cmp r8b, 0x22
je 0x52330e
cmp r8b, 0x5c
jne 0x5232f1
cmp rcx, rax
ja 0x5236a5
mov rdi, rax
sub rdi, rcx
mov r8, rdi
neg r8
sar r8, 0x3f
and rcx, r8
mov r8, qword [rsp + 0x140]
lea rbx, [rcx + rsi]
nop
test r8, r8
je 0x52334e
lea r9, [rsp + 0x140]
cmp r8, r9
je 0x52335e
jmp 0x52368e
lea r8, [rsp + 0x140]
mov qword [rsp + 0x140], r8
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x158]
mov r8, qword [rsp + 0x150]
lea r9, [r8 + rdi]
mov r10, qword [rsp + 0x148]
cmp rcx, r9
jae 0x5233c9
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xd0], r8
mov rax, r10
mov rbx, r9
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0xd0]
mov r10, rax
mov r9, rbx
mov rbx, qword [rsp + 0xf0]
mov qword [rsp + 0x180], r10
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xc8], rcx
lea rax, [r10 + r8]
mov rcx, rdi
call fcn.00471840
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x150], rdx
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x158], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x140]
nop
test rdx, rdx
je 0x52343d
lea r8, [rsp + 0x140]
cmp rdx, r8
je 0x52344d
jmp 0x52367b
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x150]
inc rbx
mov rax, qword [rsp + 0x148]
cmp rcx, rbx
jae 0x52348e
mov edi, 1
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rbx
mov byte [rbx + rax - 1], 0x5c
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x168]
mov rcx, rax
jmp 0x5232f1
cmp rcx, rdx
ja 0x523670
sub rdx, rcx
mov rdi, rdx
neg rdx
sar rdx, 0x3f
and rcx, rdx
mov rdx, qword [rsp + 0x140]
lea rbx, [rcx + rsi]
nop
test rdx, rdx
je 0x5234fd
lea r8, [rsp + 0x140]
cmp rdx, r8
je 0x52350d
jmp 0x52365d
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x150]
lea r8, [rdx + rdi]
mov rax, qword [rsp + 0x148]
cmp rcx, r8
jae 0x523570
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xc8], rdx
mov rbx, r8
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov rdx, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd0]
mov r8, rbx
mov rbx, qword [rsp + 0xe8]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xc8], r8
add rdx, rax
mov rax, rdx
mov rcx, rdi
call fcn.00471840
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x150], rdx
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x158], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x140]
nop
test rdx, rdx
je 0x5235e7
lea r8, [rsp + 0x140]
nop dword [rax]
cmp rdx, r8
je 0x5235f7
jmp 0x52364a
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x150]
inc rbx
mov rax, qword [rsp + 0x148]
cmp rcx, rbx
jae 0x523638
mov edi, 1
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rbx
mov byte [rbx + rax - 1], 0x22
jmp 0x522b6c
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
mov rax, rcx
mov rcx, rdx
call fcn.00470f40
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
nop dword [rax]
call fcn.00468f20
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.00470f40
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
inc rax
cmp rax, rdx
jge 0x523a67
mov qword [rsp + 0xa8], rax
movzx r8d, byte [rsi + rax]
mov byte [rsp + 0x45], r8b
lea r9d, [r8 - 0x21]
cmp r9b, 0x5e
jb 0x5236f5
mov ebx, 1
jmp 0x523768
cmp r8b, 0x2a
jne 0x523702
mov ebx, 1
jmp 0x523768
cmp r8b, 0x27
jne 0x52370f
mov ebx, 1
jmp 0x523768
cmp r8b, 0x25
jne 0x52371c
mov ebx, 1
jmp 0x523768
mov qword [rsp + 0x88], rcx
nop
nop
lea rax, [0x0058c5a2]
mov ebx, 0xf
mov ecx, r8d
call fcn.004bfea0
test rax, rax
setge dl
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x168]
movzx r8d, byte [rsp + 0x45]
mov ebx, edx
mov rdx, qword [rsp + 0xc0]
test bl, bl
je 0x5236c6
cmp rcx, rax
ja 0x523bde
mov rdi, rax
sub rdi, rcx
mov r9, rdi
neg r9
sar r9, 0x3f
and rcx, r9
mov r9, qword [rsp + 0x140]
lea rbx, [rsi + rcx]
nop
test r9, r9
je 0x5237b0
lea r10, [rsp + 0x140]
cmp r9, r10
je 0x5237c0
jmp 0x523bcb
lea r9, [rsp + 0x140]
mov qword [rsp + 0x140], r9
mov rcx, qword [rsp + 0x158]
mov r9, qword [rsp + 0x150]
lea r10, [r9 + rdi]
mov r11, qword [rsp + 0x148]
nop dword [rax]
cmp rcx, r10
jae 0x523827
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0xd0], r9
mov rax, r11
mov rbx, r10
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov rdi, qword [rsp + 0x58]
mov r9, qword [rsp + 0xd0]
mov r11, rax
mov r10, rbx
mov rbx, qword [rsp + 0x100]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xc8], r10
mov qword [rsp + 0x180], r11
lea rax, [r11 + r9]
mov rcx, rdi
call fcn.00471840
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x150], rdx
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x158], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x140]
nop
nop
test rdx, rdx
je 0x52389c
lea r8, [rsp + 0x140]
cmp rdx, r8
je 0x5238ac
jmp 0x523bb8
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x150]
inc rbx
mov rax, qword [rsp + 0x148]
cmp rcx, rbx
jae 0x5238ed
mov edi, 1
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rbx
mov byte [rbx + rax - 1], 0x25
movzx edx, byte [rsp + 0x45]
mov r8d, edx
shr dl, 4
movzx edx, dl
mov r9, qword [rsp + 0x140]
lea r10, [0x0058c9aa]
movzx edx, byte [r10 + rdx]
nop
nop dword [rax]
test r9, r9
je 0x523937
lea r11, [rsp + 0x140]
cmp r9, r11
je 0x523947
jmp 0x523ba5
lea r9, [rsp + 0x140]
mov qword [rsp + 0x140], r9
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x150]
inc rbx
mov rax, qword [rsp + 0x148]
cmp rcx, rbx
jae 0x52399e
mov byte [rsp + 0x47], dl
mov edi, 1
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x148], rax
movzx edx, byte [rsp + 0x47]
movzx r8d, byte [rsp + 0x45]
lea r10, [0x0058c9aa]
mov qword [rsp + 0x150], rbx
mov byte [rbx + rax - 1], dl
and r8d, 0xf
mov rdx, qword [rsp + 0x140]
movzx r8d, byte [r8 + r10]
nop
nop dword [rax]
test rdx, rdx
je 0x5239d7
lea r9, [rsp + 0x140]
cmp rdx, r9
je 0x5239e7
jmp 0x523b91
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x150]
inc rbx
mov rax, qword [rsp + 0x148]
cmp rcx, rbx
jae 0x523a33
mov byte [rsp + 0x46], r8b
mov edi, 1
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x148], rax
movzx r8d, byte [rsp + 0x46]
mov qword [rsp + 0x150], rbx
mov byte [rbx + rax - 1], r8b
mov rcx, qword [rsp + 0xa8]
lea rdx, [rcx + 1]
mov rax, rcx
mov rsi, qword [rsp + 0x168]
mov rcx, rdx
mov rdx, qword [rsp + 0xc0]
jmp 0x5236c6
cmp rcx, rdx
ja 0x523b86
sub rdx, rcx
mov rdi, rdx
neg rdx
sar rdx, 0x3f
and rcx, rdx
mov rdx, qword [rsp + 0x140]
lea rbx, [rsi + rcx]
nop
test rdx, rdx
je 0x523aa5
lea r8, [rsp + 0x140]
cmp rdx, r8
je 0x523ab5
nop
jmp 0x523b73
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x150]
lea r8, [rdi + rdx]
mov rax, qword [rsp + 0x148]
cmp rcx, r8
jae 0x523b18
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xf8], rbx
mov rbx, r8
lea rsi, [0x005513c0]
call fcn.0046a4a0
mov rdx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xc8]
mov r8, rbx
mov rbx, qword [rsp + 0xf8]
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x180], rax
add rdx, rax
mov rax, rdx
mov rcx, rdi
call fcn.00471840
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x150], rdx
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x158], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x148], rdx
jmp 0x522b6c
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
mov rax, rcx
mov rcx, rdx
call fcn.00470f40
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
nop
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.00470f40
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
nop
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
lea rax, [0x00551340]
lea rbx, [0x0063ef40]
call fcn.00468f20
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
nop dword [rax + rax]
call fcn.0046eba0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.005224c0