Function at 0x5088e0
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x170]
cmp r12, qword [r14 + 0x10]
jbe 0x50a0ac
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 + 0x128], xmm15
movups xmmword [rsp + 0x138], xmm15
mov edi, 1
lea rcx, [0x0056a6bb]
call fcn.004b0780
nop dword [rax + rax]
test sil, sil
je 0x508c92
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x148], rax
test rbx, rbx
jne 0x508972
xor edx, edx
jmp 0x5089a4
lea rcx, [0x005a58a8]
call fcn.004afe00
test rax, rax
setl dl
mov rax, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xa8]
test dl, dl
je 0x508c85
test rdi, rdi
jne 0x5089b5
xor edx, edx
jmp 0x5089ed
mov rax, rcx
mov rbx, rdi
lea rcx, [0x005a58a8]
call fcn.004afe00
test rax, rax
setl dl
mov rax, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xa8]
test dl, dl
je 0x508c85
call fcn.004af780
mov rcx, qword [rsp + 0x128]
nop
nop
test rcx, rcx
je 0x508a1b
lea rdx, [rsp + 0x128]
cmp rcx, rdx
je 0x508a2b
jmp 0x50a098
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
lea r8, [rbx + rdx]
mov r9, qword [rsp + 0x130]
cmp rcx, r8
jae 0x508a91
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x110], rax
mov rax, r9
mov rdi, rbx
lea rsi, [0x0053c0e0]
mov rbx, r8
call fcn.0044eb40
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
nop dword [rax + rax]
call fcn.0046b2c0
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x130], rdx
mov rdx, qword [rsp + 0x128]
nop
nop
nop
test rdx, rdx
je 0x508b17
lea r8, [rsp + 0x128]
cmp rdx, r8
je 0x508b27
jmp 0x50a085
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x138]
inc rbx
mov rax, qword [rsp + 0x130]
cmp rcx, rbx
jae 0x508b68
mov edi, 1
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rbx
mov byte [rbx + rax - 1], 0x2f
mov rax, qword [rsp + 0x160]
mov rbx, qword [rsp + 0xa8]
call fcn.004af780
mov rcx, qword [rsp + 0x128]
nop
test rcx, rcx
je 0x508baa
lea rdx, [rsp + 0x128]
cmp rcx, rdx
je 0x508bba
jmp 0x50a071
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
lea r8, [rdx + rbx]
mov r9, qword [rsp + 0x130]
cmp rcx, r8
jae 0x508c20
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x108], rax
mov qword [rsp + 0xd8], rdx
mov rax, r9
mov rdi, rbx
lea rsi, [0x0053c0e0]
mov rbx, r8
call fcn.0044eb40
mov rdx, qword [rsp + 0xd8]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x60]
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.0046b2c0
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x130], rdx
nop
jmp 0x508dd5
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 0x508e63
mov rax, qword [rsp + 0x1f8]
lea rcx, [0x005a58a8]
call fcn.004afe00
nop dword [rax]
test rax, rax
jge 0x508e63
mov rax, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x200]
call fcn.004af780
mov rcx, qword [rsp + 0x128]
nop
nop
test rcx, rcx
je 0x508cff
lea rdx, [rsp + 0x128]
cmp rcx, rdx
je 0x508d0f
jmp 0x50a05e
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
lea r8, [rdx + rbx]
mov r9, qword [rsp + 0x130]
cmp rcx, r8
jae 0x508d75
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xd8], rdx
mov rax, r9
mov rdi, rbx
lea rsi, [0x0053c0e0]
mov rbx, r8
call fcn.0044eb40
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
call fcn.0046b2c0
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x130], rdx
mov rdx, qword [rsp + 0x208]
nop dword [rax]
test rdx, rdx
je 0x508dea
mov rsi, qword [rdx]
jmp 0x508dec
xor esi, esi
mov qword [rsp + 0x80], rsi
lea rax, [0x0053c060]
xor ebx, ebx
mov rcx, rsi
call fcn.0044ea60
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.0046abeb
mov rbp, qword [rbp]
mov rbx, qword [rsp + 0x208]
lea rcx, [rsp + 0x188]
lea rax, [0x00543f20]
call fcn.00410540
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x178]
xor edx, edx
jmp 0x508e9e
xor eax, eax
xor ebx, ebx
add rsp, 0x1e8
pop rbp
ret
mov qword [rsp + 0x120], rcx
mov qword [rcx + rsi], rdx
lea rax, [rsp + 0x188]
call fcn.00410760
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x188]
test r8, r8
je 0x508f3e
lea rbx, [rdx + 1]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
cmp rax, rbx
jae 0x508f02
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0xa0], r8
mov edi, 1
lea rsi, [0x0053c060]
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.0044eb40
mov rdx, qword [rsp + 0x158]
mov r8, qword [rsp + 0xa0]
mov rsi, rcx
mov rcx, rax
mov rax, rsi
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], rax
lea rsi, [rbx - 1]
shl rsi, 4
mov qword [rcx + rsi + 8], r8
cmp dword [0x007b3d40], 0
je 0x508e70
call fcn.0046a560
mov qword [r11], rdx
mov rdi, qword [rcx + rsi]
mov qword [r11 + 8], rdi
jmp 0x508e70
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x170], rcx
mov rbx, rdx
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.0048c5e0
mov rdx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x78]
jmp 0x508f82
mov rdx, qword [rsp + 0x178]
add rdx, 0x10
mov rax, qword [rsp + 0xd8]
dec rax
test rax, rax
jle 0x509636
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x178], rdx
mov rdi, qword [rdx + 8]
mov qword [rsp + 0xc0], rdi
mov rcx, qword [rdx]
mov qword [rsp + 0x168], rcx
lea rax, [0x00543f20]
mov rbx, qword [rsp + 0x208]
call fcn.00412e60
mov rdx, qword [rsp + 0x128]
mov rsi, qword [rax + 8]
mov r8, qword [rax]
nop
nop
test rdx, rdx
je 0x508fee
lea r9, [rsp + 0x128]
cmp rdx, r9
je 0x508ffe
jmp 0x50a04b
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x150], r8
mov qword [rsp + 0x98], rsi
mov rcx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x138]
inc rbx
mov rax, qword [rsp + 0x130]
cmp rcx, rbx
jae 0x50905f
mov edi, 1
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x130], rax
mov rsi, qword [rsp + 0x98]
mov r8, qword [rsp + 0x150]
mov qword [rsp + 0x138], rbx
mov byte [rbx + rax - 1], 0x3b
mov rdx, qword [rsp + 0x128]
nop
nop
test rdx, rdx
je 0x50908d
lea r9, [rsp + 0x128]
cmp rdx, r9
je 0x50909d
jmp 0x50a038
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x138]
inc rbx
mov rax, qword [rsp + 0x130]
cmp rcx, rbx
jae 0x5090ee
mov edi, 1
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x130], rax
mov rsi, qword [rsp + 0x98]
mov r8, qword [rsp + 0x150]
mov qword [rsp + 0x138], rbx
mov byte [rbx + rax - 1], 0x20
mov rbx, qword [rsp + 0xc0]
test rbx, rbx
je 0x509629
mov rax, qword [rsp + 0x168]
lea rcx, [0x005a58a8]
nop dword [rax + rax]
call fcn.004afe00
test rax, rax
jge 0x509629
mov rax, qword [rsp + 0x168]
mov rbx, qword [rsp + 0xc0]
nop
call fcn.004af780
mov rcx, qword [rsp + 0x128]
nop
nop
test rcx, rcx
je 0x50916a
lea rdx, [rsp + 0x128]
nop dword [rax]
cmp rcx, rdx
je 0x50917a
jmp 0x50a025
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
lea r8, [rbx + rdx]
mov r9, qword [rsp + 0x130]
cmp rcx, r8
jae 0x5091e0
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x100], rax
mov rax, r9
mov rdi, rbx
lea rsi, [0x0053c0e0]
mov rbx, r8
call fcn.0044eb40
mov rdx, qword [rsp + 0xd0]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0x180], r9
mov qword [rsp + 0xc8], rcx
add rdx, r9
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
call fcn.0046b2c0
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x130], rdx
nop
mov rdx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x150]
xor eax, eax
jmp 0x509672
cmp rax, rdx
jge 0x509307
mov r8, qword [rsp + 0x128]
nop
nop
test r8, r8
je 0x50928a
lea r9, [rsp + 0x128]
cmp r8, r9
je 0x50929a
jmp 0x50a012
lea r8, [rsp + 0x128]
mov qword [rsp + 0x128], r8
mov rcx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x138]
inc rbx
mov r8, qword [rsp + 0x130]
cmp rcx, rbx
jae 0x5092f9
mov rax, r8
mov edi, 1
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x130], rax
mov rdx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x150]
mov r8, rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x138], rbx
mov byte [rbx + r8 - 1], 0x2a
mov r8, qword [rsp + 0x128]
nop
nop
test r8, r8
je 0x50932a
lea r9, [rsp + 0x128]
nop
cmp r8, r9
je 0x50933a
jmp 0x509fff
lea r8, [rsp + 0x128]
mov qword [rsp + 0x128], r8
mov rcx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x138]
inc rbx
mov r8, qword [rsp + 0x130]
cmp rcx, rbx
jb 0x50935f
cmp rax, rdx
jmp 0x5093a4
mov rax, r8
mov edi, 1
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x130], rax
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x98]
cmp rdx, rcx
mov rdx, rcx
mov rsi, qword [rsp + 0x150]
mov r8, rax
mov qword [rsp + 0x138], rbx
mov byte [rbx + r8 - 1], 0x3d
jge 0x509470
mov r8, qword [rsp + 0x128]
nop
test r8, r8
je 0x5093d8
lea r9, [rsp + 0x128]
cmp r8, r9
je 0x5093e8
jmp 0x509fec
lea r8, [rsp + 0x128]
mov qword [rsp + 0x128], r8
mov rbx, qword [rsp + 0x138]
lea r8, [rbx + 7]
mov rcx, qword [rsp + 0x140]
mov rax, qword [rsp + 0x130]
cmp rcx, r8
jae 0x509440
mov qword [rsp + 0xd0], rbx
mov rbx, r8
mov edi, 7
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov rdx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x150]
mov r8, rbx
mov rbx, qword [rsp + 0xd0]
mov dword [rax + rbx], 0x2d667475
mov dword [rax + rbx + 3], 0x2727382d
mov qword [rsp + 0x138], r8
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x130], rax
xor eax, eax
xor ecx, ecx
jmp 0x509ac9
test rdx, rdx
jne 0x509479
xor eax, eax
jmp 0x5094a3
mov rax, rsi
mov rbx, rdx
lea rcx, [0x005a58a8]
call fcn.004afe00
test rax, rax
setl dl
mov rsi, qword [rsp + 0x150]
mov eax, edx
mov rdx, qword [rsp + 0x98]
test al, al
jne 0x509545
mov r8, qword [rsp + 0x128]
nop
test r8, r8
je 0x5094cb
lea r9, [rsp + 0x128]
cmp r8, r9
je 0x5094db
jmp 0x509ab3
lea r8, [rsp + 0x128]
mov qword [rsp + 0x128], r8
mov rcx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x138]
inc rbx
mov rax, qword [rsp + 0x130]
cmp rcx, rbx
jae 0x50952c
mov edi, 1
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x130], rax
mov rdx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x150]
mov qword [rsp + 0x138], rbx
mov byte [rbx + rax - 1], 0x22
xor eax, eax
xor ecx, ecx
nop dword [rax]
jmp 0x5096f4
mov r8, qword [rsp + 0x128]
nop
nop
test r8, r8
je 0x50956a
lea r9, [rsp + 0x128]
nop dword [rax]
cmp r8, r9
je 0x50957a
jmp 0x5096de
lea r8, [rsp + 0x128]
mov qword [rsp + 0x128], r8
mov rcx, qword [rsp + 0x140]
mov r8, qword [rsp + 0x138]
lea rbx, [rdx + r8]
mov rax, qword [rsp + 0x130]
cmp rcx, rbx
jae 0x5095ca
mov qword [rsp + 0xd0], r8
mov rdi, rdx
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov rdx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x150]
mov r8, qword [rsp + 0xd0]
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0x180], rax
mov qword [rsp + 0xc8], rcx
lea rdi, [rax + r8]
mov rax, rdi
mov rbx, rsi
mov rcx, rdx
call fcn.0046b2c0
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x130], rdx
jmp 0x508f6b
xor eax, eax
xor ebx, ebx
add rsp, 0x1e8
pop rbp
ret
mov rbx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x130]
mov rcx, rax
neg rcx
nop
cmp rbx, rcx
ja 0x509660
add rsp, 0x1e8
pop rbp
ret
test rax, rax
je 0x50966a
call fcn.00461d00
call fcn.00461d40
mov rax, r9
mov qword [rsp + 0xd0], rax
nop word [rax + rax]
cmp rax, rdx
jge 0x509263
movzx r8d, byte [rsi + rax]
cmp r8d, 0x80
jge 0x50969d
lea r9, [rax + 1]
jmp 0x5096c9
mov rbx, rdx
mov rcx, rax
mov rax, rsi
call fcn.00461ec0
mov rdx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x150]
mov r8d, eax
mov r9, rbx
mov rax, qword [rsp + 0xd0]
lea r10d, [r8 - 0x20]
cmp r10d, 0x5e
jbe 0x50966f
cmp r8d, 9
je 0x50966f
jmp 0x509260
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
inc rax
cmp rax, rdx
jge 0x5098c0
movzx r8d, byte [rsi + rax]
cmp r8b, 0x22
je 0x50970e
cmp r8b, 0x5c
jne 0x5096f1
cmp rcx, rax
ja 0x509aa5
mov rdi, rax
sub rdi, rcx
mov r8, rdi
neg r8
sar r8, 0x3f
and rcx, r8
mov r8, qword [rsp + 0x128]
lea rbx, [rcx + rsi]
nop
test r8, r8
je 0x50974e
lea r9, [rsp + 0x128]
cmp r8, r9
je 0x50975e
jmp 0x509a8e
lea r8, [rsp + 0x128]
mov qword [rsp + 0x128], r8
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0x140]
mov r8, qword [rsp + 0x138]
lea r9, [r8 + rdi]
mov r10, qword [rsp + 0x130]
cmp rcx, r9
jae 0x5097c9
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xd0], r8
mov rax, r10
mov rbx, r9
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov rdi, qword [rsp + 0x48]
mov r8, qword [rsp + 0xd0]
mov r10, rax
mov r9, rbx
mov rbx, qword [rsp + 0xe8]
mov qword [rsp + 0x180], r10
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xc8], rcx
lea rax, [r10 + r8]
mov rcx, rdi
call fcn.0046b2c0
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x130], rdx
mov rdx, qword [rsp + 0x128]
nop
test rdx, rdx
je 0x50983d
lea r8, [rsp + 0x128]
cmp rdx, r8
je 0x50984d
jmp 0x509a7b
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x138]
inc rbx
mov rax, qword [rsp + 0x130]
cmp rcx, rbx
jae 0x50988e
mov edi, 1
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rbx
mov byte [rbx + rax - 1], 0x5c
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x150]
mov rcx, rax
jmp 0x5096f1
cmp rcx, rdx
ja 0x509a70
sub rdx, rcx
mov rdi, rdx
neg rdx
sar rdx, 0x3f
and rcx, rdx
mov rdx, qword [rsp + 0x128]
lea rbx, [rcx + rsi]
nop
test rdx, rdx
je 0x5098fd
lea r8, [rsp + 0x128]
cmp rdx, r8
je 0x50990d
jmp 0x509a5d
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
lea r8, [rdx + rdi]
mov rax, qword [rsp + 0x130]
cmp rcx, r8
jae 0x509970
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xc8], rdx
mov rbx, r8
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov rdx, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd0]
mov r8, rbx
mov rbx, qword [rsp + 0xe0]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0x180], rax
add rdx, rax
mov rax, rdx
mov rcx, rdi
call fcn.0046b2c0
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x130], rdx
mov rdx, qword [rsp + 0x128]
nop
test rdx, rdx
je 0x5099e7
lea r8, [rsp + 0x128]
nop dword [rax]
cmp rdx, r8
je 0x5099f7
jmp 0x509a4a
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x138]
inc rbx
mov rax, qword [rsp + 0x130]
cmp rcx, rbx
jae 0x509a38
mov edi, 1
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rbx
mov byte [rbx + rax - 1], 0x22
jmp 0x508f6b
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
mov rax, rcx
mov rcx, rdx
call fcn.0046a9c0
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
nop dword [rax]
call fcn.00437d80
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.0046a9c0
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
inc rax
cmp rax, rdx
jge 0x509e67
mov qword [rsp + 0x90], rax
movzx r8d, byte [rsi + rax]
mov byte [rsp + 0x47], r8b
lea r9d, [r8 - 0x21]
cmp r9b, 0x5e
jb 0x509af5
mov ebx, 1
jmp 0x509b68
cmp r8b, 0x2a
jne 0x509b02
mov ebx, 1
jmp 0x509b68
cmp r8b, 0x27
jne 0x509b0f
mov ebx, 1
jmp 0x509b68
cmp r8b, 0x25
jne 0x509b1c
mov ebx, 1
jmp 0x509b68
mov qword [rsp + 0xb8], rcx
nop
nop
lea rax, [0x0056d3e3]
mov ebx, 0xf
mov ecx, r8d
call fcn.004aea80
test rax, rax
setge dl
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x150]
movzx r8d, byte [rsp + 0x47]
mov ebx, edx
mov rdx, qword [rsp + 0x98]
test bl, bl
je 0x509ac6
cmp rcx, rax
ja 0x509fde
mov rdi, rax
sub rdi, rcx
mov r9, rdi
neg r9
sar r9, 0x3f
and rcx, r9
mov r9, qword [rsp + 0x128]
lea rbx, [rsi + rcx]
nop
test r9, r9
je 0x509bb0
lea r10, [rsp + 0x128]
cmp r9, r10
je 0x509bc0
jmp 0x509fcb
lea r9, [rsp + 0x128]
mov qword [rsp + 0x128], r9
mov rcx, qword [rsp + 0x140]
mov r9, qword [rsp + 0x138]
lea r10, [r9 + rdi]
mov r11, qword [rsp + 0x130]
nop dword [rax]
cmp rcx, r10
jae 0x509c27
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0xd0], r9
mov rax, r11
mov rbx, r10
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov rdi, qword [rsp + 0x50]
mov r9, qword [rsp + 0xd0]
mov r11, rax
mov r10, rbx
mov rbx, qword [rsp + 0xf8]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xc8], r10
mov qword [rsp + 0x180], r11
lea rax, [r11 + r9]
mov rcx, rdi
call fcn.0046b2c0
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x130], rdx
mov rdx, qword [rsp + 0x128]
nop
nop
test rdx, rdx
je 0x509c9c
lea r8, [rsp + 0x128]
cmp rdx, r8
je 0x509cac
jmp 0x509fb8
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x138]
inc rbx
mov rax, qword [rsp + 0x130]
cmp rcx, rbx
jae 0x509ced
mov edi, 1
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rbx
mov byte [rbx + rax - 1], 0x25
movzx edx, byte [rsp + 0x47]
mov r8d, edx
shr dl, 4
movzx edx, dl
mov r9, qword [rsp + 0x128]
lea r10, [0x0056d656]
movzx edx, byte [r10 + rdx]
nop
nop dword [rax]
test r9, r9
je 0x509d37
lea r11, [rsp + 0x128]
cmp r9, r11
je 0x509d47
jmp 0x509fa5
lea r9, [rsp + 0x128]
mov qword [rsp + 0x128], r9
mov rcx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x138]
inc rbx
mov rax, qword [rsp + 0x130]
cmp rcx, rbx
jae 0x509d9e
mov byte [rsp + 0x46], dl
mov edi, 1
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x130], rax
movzx edx, byte [rsp + 0x46]
movzx r8d, byte [rsp + 0x47]
lea r10, [0x0056d656]
mov qword [rsp + 0x138], rbx
mov byte [rbx + rax - 1], dl
and r8d, 0xf
mov rdx, qword [rsp + 0x128]
movzx r8d, byte [r8 + r10]
nop
nop dword [rax]
test rdx, rdx
je 0x509dd7
lea r9, [rsp + 0x128]
cmp rdx, r9
je 0x509de7
jmp 0x509f91
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x138]
inc rbx
mov rax, qword [rsp + 0x130]
cmp rcx, rbx
jae 0x509e33
mov byte [rsp + 0x45], r8b
mov edi, 1
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x130], rax
movzx r8d, byte [rsp + 0x45]
mov qword [rsp + 0x138], rbx
mov byte [rbx + rax - 1], r8b
mov rcx, qword [rsp + 0x90]
lea rdx, [rcx + 1]
mov rax, rcx
mov rsi, qword [rsp + 0x150]
mov rcx, rdx
mov rdx, qword [rsp + 0x98]
jmp 0x509ac6
cmp rcx, rdx
ja 0x509f86
sub rdx, rcx
mov rdi, rdx
neg rdx
sar rdx, 0x3f
and rcx, rdx
mov rdx, qword [rsp + 0x128]
lea rbx, [rsi + rcx]
nop
test rdx, rdx
je 0x509ea5
lea r8, [rsp + 0x128]
cmp rdx, r8
je 0x509eb5
nop
jmp 0x509f73
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
lea r8, [rdi + rdx]
mov rax, qword [rsp + 0x130]
cmp rcx, r8
jae 0x509f18
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xf0], rbx
mov rbx, r8
lea rsi, [0x0053c0e0]
call fcn.0044eb40
mov rdx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xc8]
mov r8, rbx
mov rbx, qword [rsp + 0xf0]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0x180], rax
mov qword [rsp + 0xc8], r8
add rdx, rax
mov rax, rdx
mov rcx, rdi
call fcn.0046b2c0
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x130], rdx
jmp 0x508f6b
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
mov rax, rcx
mov rcx, rdx
call fcn.0046a9c0
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
nop
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.0046a9c0
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
nop
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
lea rax, [0x0053c060]
lea rbx, [0x005cd288]
call fcn.00437d80
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
nop dword [rax + rax]
call fcn.00468620
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.005088e0