Function at 0x516020
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x170]
cmp r12, qword [r14 + 0x10]
jbe 0x5177c6
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 + 0x130], xmm15
movups xmmword [rsp + 0x140], xmm15
mov edi, 1
lea rcx, [0x0056d6fa]
call fcn.004adcc0
nop dword [rax + rax]
test sil, sil
je 0x5163d2
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x160], rax
test rbx, rbx
jne 0x5160b2
xor edx, edx
jmp 0x5160e4
lea rcx, [0x00595410]
call fcn.004acac0
test rax, rax
setl dl
mov rax, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
test dl, dl
je 0x5163c5
test rdi, rdi
jne 0x5160f5
xor edx, edx
jmp 0x51612d
mov rax, rcx
mov rbx, rdi
lea rcx, [0x00595410]
call fcn.004acac0
test rax, rax
setl dl
mov rax, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
test dl, dl
je 0x5163c5
call fcn.004ac440
mov rcx, qword [rsp + 0x130]
nop
nop
test rcx, rcx
je 0x51615b
lea rdx, [rsp + 0x130]
cmp rcx, rdx
je 0x51616b
jmp 0x5177b1
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x140]
lea r8, [rbx + rdx]
mov r9, qword [rsp + 0x138]
cmp rcx, r8
jae 0x5161d7
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x118], rax
mov rax, r9
mov rdi, rbx
lea rsi, [0x0053bd60]
mov rbx, r8
call fcn.00447440
mov rdx, qword [rsp + 0xd8]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x80]
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.0045f420
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0x130]
nop
nop
test rdx, rdx
je 0x516257
lea r8, [rsp + 0x130]
cmp rdx, r8
je 0x516267
jmp 0x51779e
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
inc rbx
mov rax, qword [rsp + 0x138]
cmp rcx, rbx
jae 0x5162a8
mov edi, 1
lea rsi, [0x0053bd60]
call fcn.00447440
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rbx
mov byte [rbx + rax - 1], 0x2f
mov rax, qword [rsp + 0x158]
mov rbx, qword [rsp + 0xa8]
call fcn.004ac440
mov rcx, qword [rsp + 0x130]
nop
test rcx, rcx
je 0x5162ea
lea rdx, [rsp + 0x130]
cmp rcx, rdx
je 0x5162fa
jmp 0x51778b
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x140]
lea r8, [rdx + rbx]
mov r9, qword [rsp + 0x138]
cmp rcx, r8
jae 0x516360
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x110], rax
mov qword [rsp + 0xd8], rdx
mov rax, r9
mov rdi, rbx
lea rsi, [0x0053bd60]
mov rbx, r8
call fcn.00447440
mov rdx, qword [rsp + 0xd8]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x110]
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
call fcn.0045f420
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x138], rdx
nop
jmp 0x51651a
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 0x5165a3
mov rax, qword [rsp + 0x1f8]
lea rcx, [0x00595410]
call fcn.004acac0
nop dword [rax]
test rax, rax
jge 0x5165a3
mov rax, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x200]
call fcn.004ac440
mov rcx, qword [rsp + 0x130]
nop
nop
test rcx, rcx
je 0x51643f
lea rdx, [rsp + 0x130]
cmp rcx, rdx
je 0x51644f
jmp 0x517778
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x140]
lea r8, [rdx + rbx]
mov r9, qword [rsp + 0x138]
cmp rcx, r8
jae 0x5164bb
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x120], rax
mov qword [rsp + 0xd8], rdx
mov rax, r9
mov rdi, rbx
lea rsi, [0x0053bd60]
mov rbx, r8
call fcn.00447440
mov rdx, qword [rsp + 0xd8]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x88]
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.0045f420
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0x208]
test rdx, rdx
je 0x51652c
mov rsi, qword [rdx]
jmp 0x51652e
xor esi, esi
mov qword [rsp + 0x98], rsi
lea rax, [0x0053bce0]
xor ebx, ebx
mov rcx, rsi
call fcn.00447360
mov qword [rsp + 0x178], rax
lea rdi, [rsp + 0x188]
lea rdi, [rdi - 0x20]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0045ed4b
mov rbp, qword [rbp]
mov rbx, qword [rsp + 0x208]
lea rcx, [rsp + 0x188]
lea rax, [0x00543a40]
call fcn.0040f000
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x178]
xor edx, edx
jmp 0x5165e1
xor eax, eax
xor ebx, ebx
add rsp, 0x1e8
pop rbp
ret
mov qword [rsp + 0x128], rcx
mov qword [rcx + rsi], rdx
lea rax, [rsp + 0x188]
call fcn.0040f220
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x188]
test r8, r8
je 0x516687
lea rbx, [rdx + 1]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
nop dword [rax]
cmp rax, rbx
jae 0x516648
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0xa0], r8
mov edi, 1
lea rsi, [0x0053bce0]
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.00447440
mov rdx, qword [rsp + 0x150]
mov r8, qword [rsp + 0xa0]
mov rsi, rcx
mov rcx, rax
mov rax, rsi
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rax
lea rsi, [rbx - 1]
shl rsi, 4
mov qword [rcx + rsi + 8], r8
cmp dword [0x00724ed0], 0
je 0x5165b0
call fcn.0045e6c0
mov qword [r11], rdx
mov rdi, qword [rcx + rsi]
mov qword [r11 + 8], rdi
jmp 0x5165b0
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x170], rcx
mov rbx, rdx
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.00465d60
mov rdx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x90]
jmp 0x5166d1
mov rdx, qword [rsp + 0x178]
add rdx, 0x10
mov rax, qword [rsp + 0xd8]
dec rax
test rax, rax
jle 0x516d56
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x178], rdx
mov rdi, qword [rdx + 8]
mov qword [rsp + 0xb8], rdi
mov rcx, qword [rdx]
mov qword [rsp + 0x168], rcx
lea rax, [0x00543a40]
mov rbx, qword [rsp + 0x208]
call fcn.00411920
mov rdx, qword [rsp + 0x130]
mov rsi, qword [rax + 8]
mov r8, qword [rax]
nop
nop
test rdx, rdx
je 0x51673d
lea r9, [rsp + 0x130]
cmp rdx, r9
je 0x51674d
jmp 0x517765
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0x58], rsi
mov rcx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
inc rbx
mov rax, qword [rsp + 0x138]
cmp rcx, rbx
jae 0x5167a8
mov edi, 1
lea rsi, [0x0053bd60]
call fcn.00447440
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
mov rsi, qword [rsp + 0x58]
mov r8, qword [rsp + 0xe0]
mov qword [rsp + 0x140], rbx
mov byte [rbx + rax - 1], 0x3b
mov rdx, qword [rsp + 0x130]
nop
nop
nop
test rdx, rdx
je 0x5167d7
lea r9, [rsp + 0x130]
cmp rdx, r9
je 0x5167e7
jmp 0x517752
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
inc rbx
mov rax, qword [rsp + 0x138]
cmp rcx, rbx
jae 0x516835
mov edi, 1
lea rsi, [0x0053bd60]
call fcn.00447440
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
mov rsi, qword [rsp + 0x58]
mov r8, qword [rsp + 0xe0]
mov qword [rsp + 0x140], rbx
mov byte [rbx + rax - 1], 0x20
mov rbx, qword [rsp + 0xb8]
test rbx, rbx
je 0x516d49
mov rax, qword [rsp + 0x168]
lea rcx, [0x00595410]
call fcn.004acac0
test rax, rax
jge 0x516d49
mov rax, qword [rsp + 0x168]
mov rbx, qword [rsp + 0xb8]
call fcn.004ac440
mov rcx, qword [rsp + 0x130]
nop
nop
test rcx, rcx
je 0x5168aa
lea rdx, [rsp + 0x130]
nop dword [rax]
cmp rcx, rdx
je 0x5168ba
jmp 0x51773f
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x140]
lea r8, [rbx + rdx]
mov r9, qword [rsp + 0x138]
cmp rcx, r8
jae 0x516920
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x108], rax
mov rax, r9
mov rdi, rbx
lea rsi, [0x0053bd60]
mov rbx, r8
call fcn.00447440
mov rdx, qword [rsp + 0xd0]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x70]
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.0045f420
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x138], rdx
nop
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xe0]
xor eax, eax
jmp 0x516d92
cmp rax, rdx
jge 0x516a3b
mov r8, qword [rsp + 0x130]
nop
nop
test r8, r8
je 0x5169be
lea r9, [rsp + 0x130]
cmp r8, r9
je 0x5169ce
jmp 0x51772c
lea r8, [rsp + 0x130]
mov qword [rsp + 0x130], r8
mov rcx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
inc rbx
mov r8, qword [rsp + 0x138]
cmp rcx, rbx
jae 0x516a2d
mov rax, r8
mov edi, 1
lea rsi, [0x0053bd60]
nop dword [rax]
call fcn.00447440
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xe0]
mov r8, rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x140], rbx
mov byte [rbx + r8 - 1], 0x2a
mov r8, qword [rsp + 0x130]
nop
nop
test r8, r8
je 0x516a5c
lea r9, [rsp + 0x130]
cmp r8, r9
je 0x516a6c
jmp 0x517719
lea r8, [rsp + 0x130]
mov qword [rsp + 0x130], r8
mov rcx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
inc rbx
mov r8, qword [rsp + 0x138]
cmp rcx, rbx
jb 0x516a91
cmp rax, rdx
jmp 0x516ad3
mov rax, r8
mov edi, 1
lea rsi, [0x0053bd60]
call fcn.00447440
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x58]
cmp rdx, rcx
mov rdx, rcx
mov rsi, qword [rsp + 0xe0]
mov r8, rax
mov qword [rsp + 0x140], rbx
mov byte [rbx + r8 - 1], 0x3d
jge 0x516b9f
mov r8, qword [rsp + 0x130]
nop
test r8, r8
je 0x516b0a
lea r9, [rsp + 0x130]
nop dword [rax]
cmp r8, r9
je 0x516b1a
jmp 0x517706
lea r8, [rsp + 0x130]
mov qword [rsp + 0x130], r8
mov rbx, qword [rsp + 0x140]
lea r8, [rbx + 7]
mov rcx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x138]
cmp rcx, r8
jae 0x516b6f
mov qword [rsp + 0xd0], rbx
mov rbx, r8
mov edi, 7
lea rsi, [0x0053bd60]
call fcn.00447440
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xe0]
mov r8, rbx
mov rbx, qword [rsp + 0xd0]
mov dword [rax + rbx], 0x2d667475
mov dword [rax + rbx + 3], 0x2727382d
mov qword [rsp + 0x140], r8
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
xor eax, eax
xor ecx, ecx
jmp 0x5171e0
nop
test rdx, rdx
jne 0x516ba9
xor eax, eax
jmp 0x516bd0
mov rax, rsi
mov rbx, rdx
lea rcx, [0x00595410]
call fcn.004acac0
test rax, rax
setl dl
mov rsi, qword [rsp + 0xe0]
mov eax, edx
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x516c6c
mov r8, qword [rsp + 0x130]
nop
test r8, r8
je 0x516bf8
lea r9, [rsp + 0x130]
cmp r8, r9
je 0x516c08
jmp 0x5171c6
lea r8, [rsp + 0x130]
mov qword [rsp + 0x130], r8
mov rcx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
inc rbx
mov rax, qword [rsp + 0x138]
cmp rcx, rbx
jae 0x516c56
mov edi, 1
lea rsi, [0x0053bd60]
call fcn.00447440
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xe0]
mov qword [rsp + 0x140], rbx
mov byte [rbx + rax - 1], 0x22
xor eax, eax
xor ecx, ecx
jmp 0x516e11
mov r8, qword [rsp + 0x130]
nop
nop
test r8, r8
je 0x516c8d
lea r9, [rsp + 0x130]
cmp r8, r9
je 0x516c9d
jmp 0x516dfb
lea r8, [rsp + 0x130]
mov qword [rsp + 0x130], r8
mov rcx, qword [rsp + 0x148]
mov r8, qword [rsp + 0x140]
lea rbx, [rdx + r8]
mov rax, qword [rsp + 0x138]
cmp rcx, rbx
jae 0x516cea
mov qword [rsp + 0xd0], r8
mov rdi, rdx
lea rsi, [0x0053bd60]
call fcn.00447440
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xe0]
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.0045f420
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x138], rdx
jmp 0x5166ba
xor eax, eax
xor ebx, ebx
add rsp, 0x1e8
pop rbp
ret
mov rbx, qword [rsp + 0x140]
mov rax, qword [rsp + 0x138]
mov rcx, rax
neg rcx
nop
cmp rbx, rcx
ja 0x516d80
add rsp, 0x1e8
pop rbp
ret
test rax, rax
je 0x516d8a
call fcn.004562c0
call fcn.00456300
mov rax, r9
mov qword [rsp + 0xd0], rax
nop word [rax + rax]
cmp rax, rdx
jge 0x516997
movzx r8d, byte [rsi + rax]
cmp r8d, 0x80
jge 0x516dbd
lea r9, [rax + 1]
jmp 0x516de6
mov rbx, rdx
mov rcx, rax
mov rax, rsi
call fcn.00456480
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xe0]
mov r8d, eax
mov r9, rbx
mov rax, qword [rsp + 0xd0]
lea r10d, [r8 - 0x20]
cmp r10d, 0x5e
jbe 0x516d8f
cmp r8d, 9
je 0x516d8f
jmp 0x516994
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
inc rax
cmp rax, rdx
jge 0x516fd3
movzx r8d, byte [rsi + rax]
nop
cmp r8b, 0x22
je 0x516e2c
cmp r8b, 0x5c
jne 0x516e0e
cmp rcx, rax
ja 0x5171b8
mov rdi, rax
sub rdi, rcx
mov r8, rdi
neg r8
sar r8, 0x3f
and rcx, r8
mov r8, qword [rsp + 0x130]
lea rbx, [rcx + rsi]
nop
test r8, r8
je 0x516e6c
lea r9, [rsp + 0x130]
cmp r8, r9
je 0x516e7c
jmp 0x5171a5
lea r8, [rsp + 0x130]
mov qword [rsp + 0x130], r8
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x148]
mov r8, qword [rsp + 0x140]
lea r9, [r8 + rdi]
mov r10, qword [rsp + 0x138]
nop dword [rax]
cmp rcx, r9
jae 0x516ee7
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xd0], r8
mov rax, r10
mov rbx, r9
lea rsi, [0x0053bd60]
call fcn.00447440
mov rdi, qword [rsp + 0x60]
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.0045f420
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0x130]
nop
test rdx, rdx
je 0x516f5b
lea r8, [rsp + 0x130]
cmp rdx, r8
je 0x516f6b
jmp 0x517190
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
inc rbx
mov rax, qword [rsp + 0x138]
cmp rcx, rbx
jae 0x516fac
mov edi, 1
lea rsi, [0x0053bd60]
call fcn.00447440
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rbx
mov byte [rbx + rax - 1], 0x5c
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xe0]
mov rcx, rax
jmp 0x516e0e
cmp rcx, rdx
ja 0x517185
sub rdx, rcx
mov rdi, rdx
neg rdx
sar rdx, 0x3f
and rcx, rdx
mov rdx, qword [rsp + 0x130]
lea rbx, [rcx + rsi]
nop
test rdx, rdx
je 0x517010
lea r8, [rsp + 0x130]
cmp rdx, r8
je 0x517020
jmp 0x517170
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x140]
lea r8, [rdx + rdi]
mov rax, qword [rsp + 0x138]
nop dword [rax]
cmp rcx, r8
jae 0x517087
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xc8], rdx
mov rbx, r8
lea rsi, [0x0053bd60]
call fcn.00447440
mov rdx, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd0]
mov r8, rbx
mov rbx, qword [rsp + 0xe8]
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.0045f420
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0x130]
nop
test rdx, rdx
je 0x5170fa
lea r8, [rsp + 0x130]
cmp rdx, r8
je 0x51710a
jmp 0x51715d
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
inc rbx
mov rax, qword [rsp + 0x138]
cmp rcx, rbx
jae 0x51714b
mov edi, 1
lea rsi, [0x0053bd60]
call fcn.00447440
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rbx
mov byte [rbx + rax - 1], 0x22
jmp 0x5166ba
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
nop
call fcn.00433160
mov rax, rcx
mov rcx, rdx
call fcn.0045eb20
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
nop
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.0045eb20
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
inc rax
nop dword [rax]
cmp rax, rdx
jge 0x517580
mov qword [rsp + 0xc0], rax
movzx r8d, byte [rsi + rax]
mov byte [rsp + 0x45], r8b
lea r9d, [r8 - 0x21]
nop
cmp r9b, 0x5e
jb 0x51720d
mov ebx, 1
jmp 0x517280
cmp r8b, 0x2a
jne 0x517220
mov ebx, 1
jmp 0x517280
cmp r8b, 0x27
jne 0x51722d
mov ebx, 1
jmp 0x517280
cmp r8b, 0x25
jne 0x51723a
mov ebx, 1
jmp 0x517280
mov qword [rsp + 0x50], rcx
nop
nop
lea rax, [0x0056fa6d]
mov ebx, 0xf
mov ecx, r8d
call fcn.004ab2e0
test rax, rax
setge dl
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0xe0]
movzx r8d, byte [rsp + 0x45]
mov ebx, edx
mov rdx, qword [rsp + 0x58]
nop dword [rax]
test bl, bl
je 0x5171d9
cmp rcx, rax
ja 0x5176f8
mov rdi, rax
sub rdi, rcx
mov r9, rdi
neg r9
sar r9, 0x3f
and rcx, r9
mov r9, qword [rsp + 0x130]
lea rbx, [rsi + rcx]
nop
test r9, r9
je 0x5172ca
lea r10, [rsp + 0x130]
nop
cmp r9, r10
je 0x5172da
jmp 0x5176e5
lea r9, [rsp + 0x130]
mov qword [rsp + 0x130], r9
mov rcx, qword [rsp + 0x148]
mov r9, qword [rsp + 0x140]
lea r10, [r9 + rdi]
mov r11, qword [rsp + 0x138]
cmp rcx, r10
jae 0x517340
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0xd0], r9
mov rax, r11
mov rbx, r10
lea rsi, [0x0053bd60]
nop dword [rax]
call fcn.00447440
mov rdi, qword [rsp + 0x68]
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
nop
call fcn.0045f420
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0x130]
nop
nop
nop
test rdx, rdx
je 0x5173b7
lea r8, [rsp + 0x130]
cmp rdx, r8
je 0x5173c7
jmp 0x5176cf
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
inc rbx
mov rax, qword [rsp + 0x138]
cmp rcx, rbx
jae 0x517408
mov edi, 1
lea rsi, [0x0053bd60]
call fcn.00447440
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 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 + 0x130]
lea r10, [0x0056fb43]
movzx edx, byte [r10 + rdx]
nop
test r9, r9
je 0x51744f
lea r11, [rsp + 0x130]
cmp r9, r11
je 0x51745f
jmp 0x5176bc
lea r9, [rsp + 0x130]
mov qword [rsp + 0x130], r9
mov rcx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
inc rbx
mov rax, qword [rsp + 0x138]
cmp rcx, rbx
jae 0x5174b6
mov byte [rsp + 0x47], dl
mov edi, 1
lea rsi, [0x0053bd60]
call fcn.00447440
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
movzx edx, byte [rsp + 0x47]
movzx r8d, byte [rsp + 0x45]
lea r10, [0x0056fb43]
mov qword [rsp + 0x140], rbx
mov byte [rbx + rax - 1], dl
and r8d, 0xf
mov rdx, qword [rsp + 0x130]
movzx r8d, byte [r8 + r10]
nop
test rdx, rdx
je 0x5174eb
lea r9, [rsp + 0x130]
cmp rdx, r9
je 0x5174fb
jmp 0x5176a9
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
inc rbx
mov rax, qword [rsp + 0x138]
cmp rcx, rbx
jae 0x517547
mov byte [rsp + 0x46], r8b
mov edi, 1
lea rsi, [0x0053bd60]
call fcn.00447440
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
movzx r8d, byte [rsp + 0x46]
mov qword [rsp + 0x140], rbx
mov byte [rbx + rax - 1], r8b
mov rcx, qword [rsp + 0xc0]
lea rdx, [rcx + 1]
mov rax, rcx
mov rsi, qword [rsp + 0xe0]
mov rcx, rdx
mov rdx, qword [rsp + 0x58]
jmp 0x5171d9
cmp rcx, rdx
ja 0x51769e
sub rdx, rcx
mov rdi, rdx
neg rdx
sar rdx, 0x3f
and rcx, rdx
mov rdx, qword [rsp + 0x130]
lea rbx, [rsi + rcx]
nop
test rdx, rdx
je 0x5175bd
lea r8, [rsp + 0x130]
cmp rdx, r8
je 0x5175cd
jmp 0x51768b
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x140]
lea r8, [rdi + rdx]
mov rax, qword [rsp + 0x138]
cmp rcx, r8
jae 0x517630
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xf8], rbx
mov rbx, r8
lea rsi, [0x0053bd60]
call fcn.00447440
mov rdx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xc8]
mov r8, rbx
mov rbx, qword [rsp + 0xf8]
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.0045f420
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x138], rdx
jmp 0x5166ba
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
mov rax, rcx
mov rcx, rdx
call fcn.0045eb20
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
nop dword [rax]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.0045eb20
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
call fcn.00433160
lea rax, [0x0053bce0]
lea rbx, [0x005bceb0]
nop
call fcn.00433160
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.0045c780
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00516020