Function at 0x1400285e0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x1f]
sub rsp, 0xc8
movsd qword [rbp - 0x51], xmm0
mov edi, r8d
mov rbx, qword [rbp - 0x51]
mov r11d, edx
mov rcx, rbx
movaps xmm1, xmm0
shr rcx, 0x20
test ecx, ecx
jns 0x14002862b
mov esi, ecx
btr esi, 0x1f
mov dword [rbp - 0x4d], esi
mov rbx, qword [rbp - 0x51]
movsd xmm1, qword [rbp - 0x51]
jmp 0x14002862e
mov esi, dword [rbp - 0x4d]
mov rax, qword [rbp + 0x67]
shr ecx, 0x1f
mov qword [rsp + 0xb8], r14
mov dword [rax], ecx
mov eax, esi
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x140028710
cmp dword [rbp - 0x51], 0
mov dword [r9], 0x270f
jne 0x1400286c2
test esi, 0xfffff
jne 0x1400286c2
mov r14, qword [rbp + 0x77]
test r14, r14
jne 0x1400286b2
lea ecx, [r14 + 8]
call fcn.140028500
mov r14, rax
lea rdx, str.Infinity
mov byte [r14], 0x49
sub rdx, r14
mov rcx, r14
nop dword [rax]
movzx eax, byte [rdx + rcx + 1]
inc rcx
mov byte [rcx], al
test al, al
jne 0x140028690
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x1400286aa
mov qword [rax], rcx
mov rax, r14
jmp 0x140029c87
cmp qword [rbp + 0x7f], 8
ja 0x14002867b
xor r14d, r14d
lea ecx, [r14 + 8]
jmp 0x14002869e
mov r14, qword [rbp + 0x77]
test r14, r14
jne 0x140028700
lea ecx, [r14 + 3]
call fcn.140028500
mov r14, rax
lea rdx, [0x140085554]
mov byte [r14], 0x4e
sub rdx, r14
mov rcx, r14
nop dword [rax + rax]
movzx eax, byte [rdx + rcx + 1]
inc rcx
mov byte [rcx], al
test al, al
jne 0x1400286f0
jmp 0x14002869e
cmp qword [rbp + 0x7f], 3
ja 0x1400286d7
xor r14d, r14d
lea ecx, [r14 + 3]
jmp 0x14002869e
xorps xmm0, xmm0
mov qword [rsp + 0xb0], r15
ucomisd xmm1, xmm0
jp 0x14002878f
jne 0x14002878f
mov r14, qword [rbp + 0x77]
mov r15d, 1
mov dword [r9], r15d
test r14, r14
jne 0x140028784
mov ecx, r15d
call fcn.140028500
mov r14, rax
lea rcx, [0x14008560c]
mov byte [r14], 0x30
sub rcx, r14
mov r15, r14
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r15 + 1]
inc r15
mov byte [r15], al
test al, al
jne 0x140028760
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x14002877c
mov qword [rax], r15
mov rax, r14
jmp 0x140029c7f
cmp qword [rbp + 0x7f], r15
ja 0x140028740
xor r14d, r14d
jmp 0x140028770
mov r10, rbx
mov qword [rsp + 0xc0], r13
shr rbx, 0x34
movabs rax, 0xfffffffffffff
and r10, rax
mov dword [rbp - 0x79], ebx
shl r10, 0xb
mov r15d, 1
test ebx, ebx
je 0x1400287df
movabs rax, 0x8000000000000000
mov edx, ebx
or r10, rax
xor r14d, r14d
mov qword [rbp + 0x47], r10
mov dword [rbp - 0x75], r14d
mov dword [rbp - 0x59], r14d
jmp 0x1400288ab
add r10, r10
mov dword [rbp - 0x59], r15d
xor r14d, r14d
mov qword [rbp + 0x47], r10
movabs rax, 0xffffffff00000000
mov edx, r14d
test rax, r10
jne 0x140028811
mov edx, 0xffffffe0
shl r10, 0x20
mov qword [rbp + 0x47], r10
mov ebx, edx
mov dword [rbp - 0x79], edx
movabs rax, 0xffff000000000000
test rax, r10
jne 0x140028830
shl r10, 0x10
add edx, 0xfffffff0
mov qword [rbp + 0x47], r10
mov ebx, edx
mov dword [rbp - 0x79], edx
movabs rax, 0xff00000000000000
test rax, r10
jne 0x14002884f
shl r10, 8
add edx, 0xfffffff8
mov qword [rbp + 0x47], r10
mov ebx, edx
mov dword [rbp - 0x79], edx
movabs rax, 0xf000000000000000
test rax, r10
jne 0x14002886e
shl r10, 4
add edx, 0xfffffffc
mov qword [rbp + 0x47], r10
mov ebx, edx
mov dword [rbp - 0x79], edx
movabs rax, 0xc000000000000000
test rax, r10
jne 0x14002888d
shl r10, 2
add edx, 0xfffffffe
mov qword [rbp + 0x47], r10
mov ebx, edx
mov dword [rbp - 0x79], edx
test r10, r10
js 0x1400288a0
add r10, r10
dec edx
mov qword [rbp + 0x47], r10
mov ebx, edx
mov dword [rbp - 0x79], edx
mov edi, r15d
sub edi, edx
mov dword [rbp - 0x75], edi
mov edi, dword [rbp + 0x57]
lea eax, [rbx + 0x33]
mov r8d, r10d
movsxd rcx, eax
mov r13, r10
lea rax, [0x140000000]
shr r13, 0x20
add edx, 0xfffffc02
mov qword [rbp - 0x11], r8
movsx r9, word [rax + rcx*2 + 0x91e80]
lea rcx, [0x14008f4d0]
mov rax, r9
mov dword [rbp - 0x69], r9d
shl rax, 4
add rax, rcx
cmp edx, dword [rax + 0xc]
jl 0x140028902
jne 0x140028909
mov ecx, dword [rax]
cmp r13, rcx
jb 0x140028902
jne 0x140028909
mov eax, dword [rax + 4]
cmp r8, rax
jae 0x140028909
dec r9d
mov dword [rbp - 0x69], r9d
mov qword [rsp + 0xf8], r12
lea r8d, [r9 - 0x156]
mov dword [rsp + 0x20], r8d
mov eax, 0xffffffff
cmp r11d, 9
ja 0x140028996
cmp r11d, 5
mov dword [rbp - 0x5d], r15d
lea ecx, [r11 - 4]
mov dword [rsp + 0x24], eax
cmovle ecx, r11d
mov r12d, r15d
mov dword [rbp - 0x39], ecx
cmp ecx, 5
ja case.default.0x140028964
lea r11, [0x140000000]
mov dword [rsp + 0x24], eax
movsxd rax, ecx
mov dword [rbp - 0x5d], r15d
mov ecx, dword [r11 + rax*4 + 0x29c9c]
add rcx, r11
jmp rcx
mov r12d, r14d
mov dword [rbp - 0x5d], r14d
test edi, edi
mov eax, r15d
cmovg eax, edi
mov dword [rbp + 0x57], eax
mov edx, eax
jmp 0x1400289b1
mov r12d, r14d
mov dword [rbp - 0x5d], r14d
lea edx, [rdi + 1]
add edx, r8d
mov dword [rsp + 0x24], edx
test edx, edx
jg case.default.0x140028964
mov edx, r15d
jmp case.default.0x140028964
mov dword [rbp - 0x39], r14d
jmp 0x1400289a1
mov eax, 0xffffffff
mov edx, 0x12
mov dword [rbp + 0x57], r14d
mov r12d, r15d
mov dword [rbp - 0x5d], r15d
mov dword [rsp + 0x24], eax
mov rax, qword [rbp + 0x77]
mov qword [rbp - 0x49], rax
test rax, rax
jne 0x140028a3d
mov ecx, edx
call fcn.140028500
mov r10, qword [rbp + 0x47]
mov r9d, dword [rbp - 0x69]
mov qword [rbp - 0x49], rax
mov ecx, dword [rbp - 0x39]
mov rdi, rax
mov eax, r14d
mov dword [rbp - 0x71], eax
cmp ecx, 2
jl 0x1400289eb
test r12d, r12d
je 0x140028a06
cmp dword [rbp - 0x51], 0
jne 0x140028a06
test esi, 0xfffff
jne 0x140028a06
test esi, 0x7fe00000
cmovne eax, r15d
mov dword [rbp - 0x71], eax
movsxd rdx, dword [rsp + 0x24]
mov r12, r14
test edx, edx
jns 0x140028a59
lea eax, [rcx - 3]
test eax, 0xfffffffd
jne 0x140028a59
mov eax, dword [rbp + 0x57]
mov r13, r14
mov rbx, qword [rbp + 0x47]
not eax
mov rdi, qword [rbp - 0x49]
mov dword [rsp + 0x20], eax
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x69], rbx
jmp 0x140029b48
movsxd rcx, edx
cmp qword [rbp + 0x7f], rcx
ja 0x1400289d5
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140028a52
mov qword [rax], rcx
xor eax, eax
jmp 0x140029c6f
mov r11d, 0x433
mov dword [rbp - 0x3d], r14d
sub r11d, ebx
mov qword [rbp - 0x19], rdx
lea ecx, [r9 - 0x156]
mov dword [rbp - 0x35], r11d
mov r8d, r15d
test ecx, ecx
jns 0x140028b4d
cmp ecx, 0xffffffe7
jl 0x140028b9d
mov eax, ecx
lea r9, [0x140000000]
not eax
mov rsi, r10
movsxd rdx, eax
shr rsi, 0xb
mov eax, dword [r9 + rdx*4 + 0x92fd0]
add eax, 0x35
cmp eax, 0x3d
jle 0x140028ad5
lea ecx, [rax - 0x3d]
mov r9, r15
shl r9, cl
dec r9
mov dword [rbp - 0x3d], ecx
mov qword [rbp - 0x21], r9
test rsi, r9
jne 0x140028ba7
sub r11d, ecx
mov r10d, ecx
shr rsi, cl
jmp 0x140028adc
mov r9, qword [rbp + 0x47]
mov r10d, r12d
lea rax, [0x140000000]
mov rax, qword [rax + rdx*8 + 0x92ef0]
imul rsi, rax
mov rbx, rax
test r10d, r10d
je 0x140028afd
mov ecx, r10d
shr rbx, cl
add r11d, dword [rsp + 0x20]
cmp dword [rsp + 0x24], 0
jne 0x140028b3e
mov ecx, r11d
mov qword [rbp - 0x59], r14
mov eax, 5
mov r13, r14
shl rax, cl
cmp rsi, rax
ja 0x140028d01
mov rdx, qword [rbp + 0x47]
mov qword [rbp - 0x69], rdx
mov eax, dword [rbp + 0x57]
mov rdi, qword [rbp - 0x49]
not eax
mov dword [rsp + 0x20], eax
jmp 0x140029b48
test r10d, r10d
cmove rax, r14
mov r14, rax
jmp 0x140029284
lea eax, [r11 + rcx]
mov dword [rbp - 0x6d], eax
test edx, edx
jne 0x140028b84
test eax, eax
js 0x140028b84
movsxd rax, r9d
mov ecx, r11d
lea r9, [0x140000000]
shr r10, 0xb
mov r13, r14
mov qword [rbp - 0x59], r14
mov rdx, qword [r9 + rax*8 + 0x92438]
shl rdx, cl
cmp r10, rdx
jmp 0x140028b1e
cmp ecx, dword [0x14008f4c0]
jg 0x140028b9d
test eax, eax
js 0x140028b9d
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x21], rax
jmp 0x1400290b6
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x21], rax
jmp 0x140028baf
mov edx, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
cmp edx, 0x1c
jg 0x1400295a2
mov r11, qword [rbp - 0x11]
mov eax, 0x156
sub eax, ecx
movsxd rsi, eax
lea rax, [0x14008f4d0]
shl rsi, 4
add rsi, rax
mov qword [rbp - 0x29], rsi
mov edx, dword [rsi + 8]
mov r9d, dword [rsi + 4]
mov ecx, edx
mov r8d, dword [rsi]
mov eax, r9d
imul rax, r11
imul rcx, r11
imul rdx, r13
shr rcx, 0x20
add rcx, rax
mov eax, ecx
shr rcx, 0x20
add rdx, rax
mov eax, r8d
imul rax, r11
imul r8, r13
shr rdx, 0x20
add rdx, rax
add rdx, rcx
mov ecx, r9d
mov eax, edx
imul rcx, r13
shr rdx, 0x20
add rcx, rax
mov rax, rcx
mov qword [rbp - 0x11], rcx
shr rax, 0x20
add r8, rax
mov eax, dword [rsi + 0xc]
add r8, rdx
lea eax, [rax - 0x3fe]
lea eax, [rax + rbx]
mov ebx, dword [rbp - 0x75]
mov dword [rbp - 0x79], eax
mov r11d, eax
lea ebx, [rbx - 0x36]
lea ebx, [rbx + rax]
mov dword [rbp + 0x47], ebx
mov esi, ebx
mov dword [rsp + 0x28], ebx
js 0x140028c7f
add rcx, rcx
lea r11d, [rax - 1]
mov qword [rbp - 0x11], rcx
lea rax, [r8 + r8]
shr rcx, 0x20
and ecx, r15d
mov dword [rbp - 0x79], r11d
mov r8d, ecx
or r8, rax
mov r13d, dword [rsp + 0x24]
movabs rdx, 0x1000000000000000
mov qword [rbp - 9], r8
mov qword [rbp - 0x31], 4
cmp r13d, 0x13
jg 0x140028e66
mov ecx, 4
shr r9, 3
sub ecx, r11d
shr r8, cl
mov rcx, qword [rbp - 0x29]
mov eax, dword [rcx]
shl rax, 0x1d
or r9, rax
test r13d, r13d
jne 0x140028d1d
movabs rcx, 0x7fffffffffffffe
test rcx, r8
je 0x1400295a2
mov rax, r8
not rax
test rcx, rax
je 0x1400295a2
movabs rax, 0x5000000000000000
mov qword [rbp - 0x59], r14
mov r13, r14
cmp r8, rax
jb 0x140028b24
mov rax, qword [rbp - 0x49]
mov rdx, qword [rbp + 0x47]
inc dword [rsp + 0x20]
mov qword [rbp - 0x69], rdx
mov byte [rax], 0x31
lea rdi, [rax + 1]
jmp 0x140029b48
lea eax, [rbx + 0x3f]
mov ecx, ebx
neg ecx
mov dword [rbp - 0x6d], eax
lea eax, [rbx - 1]
mov dword [rbp - 0x61], ecx
mov r13d, r15d
mov dword [rbp - 0x41], eax
mov r11, r15
sub r13d, ebx
mov ebx, r11d
nop dword [rax]
mov rax, r8
shr rax, 0x3c
add al, 0x30
mov byte [rdi], al
movabs rax, 0xfffffffffffffff
and r8, rax
inc rdi
cmp qword [rbp - 0x19], 0
jge 0x140028f9e
sub rdx, r8
test esi, esi
jle 0x140028e00
mov ecx, dword [rbp - 0x41]
mov rsi, r9
shl rsi, cl
cmp r8, rdx
ja 0x140028de6
sub rdx, r11
lea rax, [r11 + r8]
cmp rax, rdx
ja 0x140028e63
cmp r8, rsi
jb 0x140029bfb
mov ecx, dword [rbp - 0x61]
mov esi, dword [rsp + 0x28]
lea rax, [r11 + r11*4]
lea r11, [rax + rax]
movabs rax, 0x1000000000000000
cmp r11, rax
jae 0x140028e63
lea r9, [r9 + r9*4]
lea rax, [r8 + r8*4]
lea r8, [rax + rax]
test r9, r9
jns 0x140028ff9
add dword [rbp - 0x41], 4
add esi, 4
add dword [rbp - 0x6d], 4
sub ecx, 4
sub r13d, 4
jmp 0x14002900b
mov rcx, r8
lea rax, [r11 + rdx]
sub rcx, r11
cmp rcx, rax
jbe 0x140028e63
cmp rdx, rsi
jb 0x1400294b2
jmp 0x140028d98
mov ecx, dword [rbp - 0x6d]
mov rsi, r15
shl rsi, cl
neg rsi
test r8, rsi
jne 0x140028e35
mov ecx, r13d
mov rax, r8
shl rax, cl
cmp rax, r9
jae 0x140028e35
cmp dword [rbp - 0x71], 0
je 0x14002903b
add rax, rax
cmp rax, r9
jb 0x14002903b
test rdx, rsi
jne 0x140028d98
mov ecx, dword [rbp - 0x61]
mov rax, rdx
shl rax, cl
cmp rax, r9
jae 0x140028d9b
mov ecx, r15d
sub ecx, dword [rsp + 0x28]
shl rdx, cl
cmp rdx, r9
jb 0x1400294b2
mov ebx, dword [rbp + 0x47]
mov r8, qword [rbp - 9]
mov edx, 4
sub edx, dword [rbp - 0x79]
mov r9, r8
mov rdi, qword [rbp - 0x49]
mov ecx, edx
mov esi, dword [rbp - 0x11]
shr r9, cl
test edx, edx
je 0x140028ea0
mov eax, esi
mov ecx, 0x40
sub ecx, edx
shl r8, cl
mov ecx, edx
shr r8, 0x20
mov rsi, r8
shr rax, cl
or rsi, rax
mov rax, qword [rbp - 0x29]
lea r13d, [rbx + 0x1f]
lea edx, [rbx + 0x3c]
mov ecx, r15d
mov ebx, r15d
mov dword [rbp - 0x69], ecx
sub ebx, dword [rbp + 0x47]
mov r11d, 0xffffffe1
mov r8d, dword [rax]
mov r10, r14
mov eax, dword [rax + 4]
shr rax, 3
shl r8, 0x1d
or r8, rax
sub r11d, dword [rbp + 0x47]
mov rax, r9
mov dword [rsp + 0x28], r11d
shr rax, 0x3c
add al, 0x30
mov dword [rbp - 0x7d], edx
mov byte [rdi], al
movabs rax, 0xfffffffffffffff
and r9, rax
inc rdi
cmp qword [rbp - 0x19], 0
jge 0x140029463
movabs rax, 0x1000000000000000
movabs rcx, 0x100000000
sub rax, r9
sub rcx, rsi
test rsi, rsi
cmove rcx, r14
lea r11, [rax - 1]
mov qword [rbp - 9], rcx
cmove r11, rax
mov eax, dword [rbp + 0x47]
test eax, eax
jg 0x140029540
mov ecx, edx
lea rax, [r10 + r9]
mov rdx, r15
shl rdx, cl
neg rdx
test rdx, rax
jne 0x140029439
mov rax, r9
mov ecx, ebx
sub rax, r10
mov qword [rbp - 0x29], rax
shl rax, cl
cmp rax, r8
jae 0x140029439
cmp dword [rbp - 0x71], 0
je 0x140028f7d
add rax, rax
cmp rax, r8
jae 0x140029439
mov rax, qword [rbp - 0x31]
mov rdx, r9
shl rdx, cl
add rax, rsi
test r13d, r13d
jle 0x140029399
mov ecx, r13d
shr rax, cl
jmp 0x1400293a0
cmp ebx, dword [rsp + 0x24]
jne 0x140028d9f
mov rcx, rdx
sub rcx, r8
cmp rcx, r8
jae 0x140029079
cmp rcx, r11
jbe 0x140028fcc
sub r8, r11
lea rax, [r11 + rcx]
cmp r8, rax
ja 0x1400294b2
mov r11d, dword [rbp - 0x35]
mov ecx, dword [rsp + 0x20]
lea eax, [rcx + r11]
mov dword [rbp - 0x6d], eax
test eax, eax
js 0x140028e63
test ecx, ecx
js 0x140028e63
cmp ecx, 0x1b
jle 0x1400290b6
jmp 0x140028e63
add dword [rbp - 0x41], 3
add esi, 3
add dword [rbp - 0x6d], 3
sub ecx, 3
sub r13d, 3
mov dword [rbp - 0x61], ecx
mov rax, r9
mov rcx, r9
mov dword [rsp + 0x28], esi
shr rcx, 2
inc ebx
shr r9, 3
movabs rdx, 0x1000000000000000
test rax, rax
cmovns r9, rcx
mov ecx, dword [rbp - 0x61]
jmp 0x140028d40
lea r10, [r11 + r8]
mov rax, r10
shl rax, cl
cmp rax, r9
jae 0x140028e63
cmp rdx, r8
jae 0x140029068
sub r8, r11
lea rax, [r11 + rdx]
cmp rax, r8
jae 0x140028e63
jmp 0x1400294b2
sub rdx, r11
cmp rdx, r10
jb 0x140028e63
jmp 0x140029bfb
cmp r8, r11
jbe 0x14002908e
sub rcx, r11
lea rax, [r11 + r8]
cmp rcx, rax
ja 0x140029bfb
mov r11d, dword [rbp - 0x35]
mov ecx, dword [rsp + 0x20]
lea eax, [rcx + r11]
mov dword [rbp - 0x6d], eax
test eax, eax
js 0x140028e63
test ecx, ecx
js 0x140028e63
cmp ecx, 0x1b
jg 0x140028e63
mov rdi, qword [rbp - 0x49]
mov rsi, r10
shr rsi, 0xb
mov rbx, r15
mov r8d, r15d
test ecx, ecx
jle 0x14002927c
movsxd r9, dword [rbp - 0x69]
lea rax, [0x140000000]
mov r10d, dword [rbp - 0x6d]
xor edx, edx
mov ecx, r10d
mov r8, qword [rax + r9*8 + 0x92438]
mov rax, rsi
shl r8, cl
div r8
mov qword [rbp - 0x51], r8
mov r13, rax
lea ecx, [rax + 0x30]
mov rax, rdi
mov byte [rax], cl
lea rdi, [rax + 1]
movsxd rcx, r13d
imul rcx, r8
sub rsi, rcx
je 0x140029bfb
lea rdx, [r9 - 0x156]
mov ecx, r15d
lea eax, [r10 + 1]
mov qword [rbp - 0x31], rdx
cdqe
mov r9, r15
mov qword [rbp - 0x29], rax
lea rax, [0x140000000]
lea rax, [rax + rdx*8]
lea rax, [rax + 0x92ee8]
mov qword [rbp + 0x47], rax
cmp qword [rbp - 0x19], 0
jge 0x1400291af
mov rdx, r8
lea rax, [rsi + rsi]
sub rdx, rsi
cmp rax, rbx
ja 0x140029198
cmp dword [rbp - 0x71], 0
je 0x14002918e
lea rax, [rsi*4]
cmp rax, rbx
ja 0x140029198
cmp rdx, rsi
jb 0x1400294b2
jne 0x140029bfb
test r15b, r13b
jne 0x1400294b2
jmp 0x140029bfb
cmp rax, rbx
jb 0x140029171
test r15b, r13b
jne 0x140029171
lea rax, [rdx + rdx]
cmp rax, rbx
jb 0x1400294b2
mov rax, qword [rbp + 0x47]
mov rdx, qword [rbp - 0x31]
jmp 0x1400291b5
cmp r9, qword [rbp - 0x19]
je 0x140029229
inc ecx
sub rax, 8
dec r10d
mov dword [rbp - 0x7d], ecx
inc r9
mov qword [rbp + 0x47], rax
cmp qword [rbp - 0x29], r9
jge 0x1400291df
lea rax, [rsi + rsi*4]
lea rbx, [rbx + rbx*4]
lea rsi, [rax + rax]
add rbx, rbx
jmp 0x1400291f8
cmp r9, rdx
jg 0x140029279
mov r8, qword [rax]
mov ecx, r10d
shl r8, cl
mov ecx, dword [rbp - 0x7d]
mov qword [rbp - 0x51], r8
xor edx, edx
mov rax, rsi
div r8
movsxd r13, eax
lea eax, [r13 + 0x30]
mov byte [rdi], al
mov rax, r13
imul rax, r8
inc rdi
sub rsi, rax
je 0x140029bfb
mov rax, qword [rbp + 0x47]
mov rdx, qword [rbp - 0x31]
jmp 0x140029148
call fcn.140051258
test eax, eax
je 0x140029bfb
cmp eax, 2
je 0x1400294b2
lea rcx, [rsi + rsi]
cmp rcx, qword [rbp - 0x51]
ja 0x1400294b2
jne 0x140029258
test r15b, r13b
jne 0x1400294b2
cmp dword [rbp - 0x71], 0
je 0x140029bfb
cmp rsi, rbx
ja 0x140029bfb
cmp rcx, rbx
jae 0x1400294b2
jmp 0x140029bfb
mov r8d, ecx
mov r9, qword [rbp - 0x21]
mov r10d, dword [rbp - 0x3d]
mov rdx, rsi
mov ecx, r11d
shr rdx, cl
mov r13d, edx
lea eax, [rdx + 0x30]
shl rdx, cl
mov byte [rdi], al
inc rdi
sub rsi, rdx
je 0x140029bfb
cmp qword [rbp - 0x19], 0
jge 0x1400292f8
mov ecx, r11d
lea rax, [rsi + rsi]
mov rdx, r15
shl rdx, cl
sub rdx, rsi
cmp rax, rbx
ja 0x1400292eb
cmp dword [rbp - 0x71], 0
je 0x1400292d9
lea rax, [rsi*4]
cmp rax, rbx
jbe 0x140029171
jmp 0x1400292eb
cmp rax, rbx
jb 0x140029171
test r15b, r13b
jne 0x140029171
lea rax, [rdx + rdx]
cmp rax, rbx
jb 0x1400294b2
dec r11d
cmp r8d, dword [rsp + 0x24]
je 0x140029352
inc r8d
lea rsi, [rsi + rsi*4]
lea rdx, [rbx + rbx*4]
test r10d, r10d
je 0x14002932a
mov rax, r9
mov ecx, r10d
and rax, r14
lea r14, [rax + rax*4]
mov rbx, r14
shr rbx, cl
add rbx, rdx
jmp 0x14002932d
mov rbx, rdx
mov rdx, rsi
mov ecx, r11d
shr rdx, cl
mov r13d, edx
lea eax, [rdx + 0x30]
shl rdx, cl
mov byte [rdi], al
inc rdi
sub rsi, rdx
jne 0x1400292a4
jmp 0x140029bfb
mov ecx, r11d
shl r15, cl
test rsi, r15
je 0x140029374
test r13b, 1
jne 0x1400294b2
lea rax, [r15 - 1]
test rsi, rax
jne 0x1400294b2
cmp dword [rbp - 0x71], 0
je 0x140029bfb
cmp rsi, rbx
ja 0x140029bfb
lea rax, [rsi + rsi]
cmp rax, rbx
jae 0x1400294b2
jmp 0x140029bfb
mov ecx, dword [rsp + 0x28]
shl rax, cl
add rdx, rax
mov ecx, ebx
mov rax, r10
shl rax, cl
add rax, rdx
cmp rax, r8
jae 0x1400295a2
cmp rdx, r8
jb 0x140029513
mov r11d, dword [rsp + 0x28]
mov rax, qword [rbp - 0x31]
lea rax, [rax + rax*4]
lea rdx, [rax + rax]
lea rax, [r10 + r10*4]
mov rcx, rdx
shr rcx, 0x20
lea r10, [rcx + rax*2]
mov eax, edx
mov qword [rbp - 0x31], rax
movabs rax, 0x1000000000000000
cmp r10, rax
jae 0x1400295a2
lea rax, [rsi + rsi*4]
lea rdx, [rax + rax]
mov rcx, rdx
mov esi, edx
mov edx, dword [rbp - 0x7d]
lea r8, [r8 + r8*4]
shr rcx, 0x20
lea rax, [r9 + r9*4]
lea r9, [rcx + rax*2]
test r8, r8
jns 0x1400294e1
add dword [rbp + 0x47], 4
add edx, 4
add r13d, 4
sub r11d, 4
sub ebx, 4
jmp 0x1400294f3
test rdx, r11
jne 0x1400293c0
mov rax, r11
mov ecx, ebx
sub rax, r10
shl rax, cl
cmp rax, r8
jae 0x1400293c0
lea rax, [r11 + r10]
shl rax, cl
cmp rax, r8
jb 0x1400294b2
jmp 0x1400295a2
cmp ecx, dword [rsp + 0x24]
jne 0x1400293c5
movabs rcx, 0x1000000000000000
mov rax, r14
sub rcx, r9
test rsi, rsi
je 0x140029490
mov rax, qword [rbp - 0x31]
dec rcx
add rax, rsi
shr rax, 0x1f
lea rax, [rax + r10*2]
cmp rcx, r9
ja 0x140029591
cmp rcx, rax
jbe 0x1400295a2
sub r9, rcx
cmp r9, rax
jbe 0x1400295a2
movzx eax, byte [rdi - 1]
dec rdi
cmp al, 0x39
jne 0x1400294d5
nop dword [rax]
cmp rdi, qword [rbp - 0x49]
je 0x14002957c
movzx eax, byte [rdi - 1]
dec rdi
cmp al, 0x39
je 0x1400294c0
inc al
mov byte [rdi], al
inc rdi
jmp 0x140029c4d
add dword [rbp + 0x47], 3
add edx, 3
add r13d, 3
sub r11d, 3
sub ebx, 3
inc dword [rbp - 0x69]
mov rcx, r8
mov rax, r8
shr rcx, 2
shr r8, 3
test rax, rax
cmovns r8, rcx
mov ecx, dword [rbp - 0x69]
jmp 0x140028ed5
cmp r11, r9
jb 0x140029531
jne 0x140029520
cmp qword [rbp - 9], rsi
jb 0x140029531
lea rax, [r10 + r9]
sub r11, r10
cmp r11, rax
jbe 0x1400295a2
jmp 0x140029bfb
lea rax, [r11 + r10]
cmp rax, qword [rbp - 0x29]
jae 0x1400295a2
jmp 0x1400294b2
lea ecx, [rax - 1]
shl r8, cl
sub r8, r10
cmp r9, r11
ja 0x140029565
cmp r9, r8
jae 0x1400295a2
lea rax, [r10 + r9]
sub r11, r10
cmp rax, r11
jb 0x140029bfb
jmp 0x1400295a2
cmp r11, r8
jae 0x1400295a2
sub r9, r10
lea rax, [r11 + r10]
cmp r9, rax
ja 0x1400294b2
jmp 0x1400295a2
mov eax, dword [rsp + 0x20]
mov rcx, qword [rbp - 0x49]
inc eax
mov byte [rdi], 0x31
inc rdi
jmp 0x140029c55
cmp r9, rax
jbe 0x1400295a2
sub rcx, r9
cmp rcx, rax
ja 0x140029bfb
lea r8, [rbp + 0x47]
lea rdx, [rbp - 0x79]
lea rcx, [rbp - 0x51]
call fcn.140028190
mov edx, dword [rbp - 0x75]
mov r12, rax
mov eax, dword [rbp - 0x4d]
mov rdi, qword [rbp - 0x49]
shr eax, 0x14
and eax, 0x7ff
sub eax, 0x3ff
test edx, edx
je 0x1400295d8
mov ecx, r15d
sub ecx, edx
add eax, ecx
mov r9d, dword [rbp + 0x47]
mov r8d, r14d
mov ecx, r9d
sub ecx, eax
mov eax, r15d
test ecx, ecx
lea ebx, [rcx - 1]
cmovle ebx, r14d
sub eax, ecx
test ecx, ecx
cmovle r8d, eax
mov eax, dword [rsp + 0x20]
mov dword [rbp + 0x47], r8d
test eax, eax
js 0x14002960f
mov dword [rbp - 0x35], r14d
add ebx, eax
mov dword [rbp - 0x75], eax
jmp 0x14002961f
sub r8d, eax
mov dword [rbp - 0x75], r14d
neg eax
mov dword [rbp + 0x47], r8d
mov dword [rbp - 0x35], eax
mov edx, dword [rbp - 0x5d]
mov esi, r8d
mov dword [rbp - 0x7d], r8d
mov r13, r14
mov qword [rbp - 0x69], r14
test edx, edx
je 0x140029667
cmp dword [rbp - 0x59], 0
je 0x140029644
mov eax, dword [rbp - 0x79]
add eax, 0x433
jmp 0x14002964c
mov eax, 0x36
sub eax, r9d
add r8d, eax
add ebx, eax
mov ecx, r15d
mov dword [rbp + 0x47], r8d
call fcn.140027b40
mov r8d, dword [rbp + 0x47]
mov r13, rax
mov edx, dword [rbp - 0x5d]
test esi, esi
jle 0x140029684
test ebx, ebx
jle 0x140029684
cmp esi, ebx
mov ecx, ebx
cmovl ecx, esi
sub r8d, ecx
sub esi, ecx
mov dword [rbp + 0x47], r8d
sub ebx, ecx
mov dword [rbp - 0x7d], esi
mov eax, dword [rbp - 0x35]
test eax, eax
jle 0x1400296f1
test edx, edx
mov edx, eax
je 0x1400296e6
mov rcx, r13
call fcn.140027d30
mov rdx, r12
mov rcx, rax
mov r13, rax
call fcn.140027bd0
mov rsi, rax
test r12, r12
je 0x1400296e1
movsxd rcx, dword [r12 + 8]
cmp ecx, 7
jle 0x1400296c6
mov rcx, r12
call fcn.14001da60
mov r12, rsi
jmp 0x1400296f1
lea rdx, [0x140000000]
mov rax, qword [rdx + rcx*8 + 0x95d40]
mov qword [r12], rax
mov qword [rdx + rcx*8 + 0x95d40], r12
mov r12, rsi
jmp 0x1400296f1
mov rcx, r12
call fcn.140027d30
mov r12, rax
mov ecx, r15d
call fcn.140027b40
mov rsi, rax
mov qword [rbp - 0x59], rax
mov eax, dword [rbp - 0x75]
test eax, eax
jle 0x140029718
mov edx, eax
mov rcx, rsi
call fcn.140027d30
mov rsi, rax
mov qword [rbp - 0x59], rax
cmp dword [rbp - 0x71], 0
mov r10d, dword [rbp + 0x47]
je 0x140029727
inc r10d
inc ebx
movsxd rax, dword [rsi + 0x14]
mov ecx, dword [rsi + rax*4 + 0x14]
call fcn.140027a00
add eax, 0xfffffffc
mov ecx, eax
sub ecx, ebx
test ebx, ebx
cmovle ecx, eax
and ecx, 0x1f
add dword [rbp - 0x7d], ecx
add r10d, ecx
add ebx, ecx
test r10d, r10d
jle 0x14002975e
mov edx, r10d
mov rcx, r12
call fcn.140027e20
mov r12, rax
test ebx, ebx
jle 0x140029773
mov edx, ebx
mov rcx, rsi
call fcn.140027e20
mov rsi, rax
mov qword [rbp - 0x59], rax
mov ecx, dword [rsp + 0x24]
test ecx, ecx
jg 0x1400297ca
mov eax, dword [rbp - 0x39]
add eax, 0xfffffffd
test eax, 0xfffffffd
jne 0x1400297ca
test ecx, ecx
js 0x140028b2c
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 5]
call fcn.140027930
mov rdx, rax
mov qword [rbp - 0x59], rax
mov rcx, r12
call fcn.140027f50
test eax, eax
jle 0x140028b2c
mov rax, qword [rbp - 0x49]
inc dword [rsp + 0x20]
mov byte [rax], 0x31
lea rdi, [rax + 1]
jmp 0x140029b48
cmp dword [rbp - 0x5d], 0
je 0x140029a66
mov eax, dword [rbp - 0x7d]
test eax, eax
jle 0x1400297e8
mov edx, eax
mov rcx, r13
call fcn.140027e20
mov r13, rax
cmp dword [rbp - 0x71], 0
mov rsi, r13
mov qword [rbp - 0x69], r13
je 0x140029828
mov ecx, dword [r13 + 8]
call fcn.140027870
movsxd r8, dword [r13 + 0x14]
lea rdx, [r13 + 0x10]
mov rbx, rax
lea rcx, [rax + 0x10]
lea r8, [r8*4 + 8]
call fcn.14004d550
mov edx, r15d
mov rcx, rbx
call fcn.140027e20
mov r13, rax
mov dword [rbp - 0x75], r15d
nop dword [rax]
mov rdx, qword [rbp - 0x59]
mov rcx, r12
call fcn.140028320
lea ebx, [rax + 0x30]
movsxd rax, dword [rsi + 0x14]
mov esi, dword [r12 + 0x14]
sub esi, eax
mov dword [rbp + 0x47], esi
jne 0x14002989a
mov r8, qword [rbp - 0x69]
lea rcx, [rax - 1]
add r8, 0x14
lea r9, [r12 + 0x18]
mov edx, dword [r9 + rcx*4]
lea rcx, [r9 + rcx*4]
lea r8, [r8 + rax*4]
mov eax, dword [r8]
cmp edx, eax
jne 0x14002988a
sub r8, rcx
cmp rcx, r9
jbe 0x1400298b4
mov eax, dword [r8 + rcx - 4]
sub rcx, 4
mov edx, dword [rcx]
cmp edx, eax
je 0x140029876
cmp edx, eax
mov esi, r15d
mov eax, 0xffffffff
cmovb esi, eax
mov dword [rbp + 0x47], esi
mov rcx, qword [rbp - 0x59]
mov rdx, r13
call fcn.140027fb0
mov r9, rax
cmp dword [rax + 0x10], 0
je 0x1400298ba
mov esi, r15d
jmp 0x140029911
mov dword [rbp + 0x47], r14d
jmp 0x14002989a
movsxd rax, dword [rax + 0x14]
mov esi, dword [r12 + 0x14]
sub esi, eax
jne 0x140029911
lea rcx, [rax - 1]
lea r8, [rax + 5]
mov eax, dword [r9 + r8*4]
lea r10, [r12 + 0x18]
mov edx, dword [r10 + rcx*4]
lea rcx, [r10 + rcx*4]
lea r8, [r9 + r8*4]
cmp edx, eax
jne 0x140029904
sub r8, rcx
nop dword [rax + rax]
cmp rcx, r10
jbe 0x140029924
mov eax, dword [r8 + rcx - 4]
sub rcx, 4
mov edx, dword [rcx]
cmp edx, eax
je 0x1400298f0
cmp edx, eax
mov esi, r15d
mov eax, 0xffffffff
cmovb esi, eax
movsxd rax, dword [r9 + 8]
cmp eax, 7
jle 0x140029929
mov rcx, r9
call fcn.14001da60
jmp 0x140029946
mov esi, r14d
jmp 0x140029911
mov rcx, rax
lea rdx, [0x140000000]
mov rax, qword [rdx + rax*8 + 0x95d40]
mov qword [r9], rax
mov qword [rdx + rcx*8 + 0x95d40], r9
mov edx, dword [rbp - 0x39]
mov ecx, dword [rbp - 0x51]
test esi, esi
jne 0x14002995e
cmp edx, r15d
je 0x14002995e
test r15b, cl
je 0x1400299f8
mov eax, dword [rbp + 0x47]
test eax, eax
js 0x140029a1a
jne 0x140029979
cmp edx, r15d
je 0x140029979
test r15b, cl
je 0x140029a1a
test esi, esi
jg 0x140029a0c
mov eax, dword [rsp + 0x24]
mov byte [rdi], bl
inc rdi
cmp dword [rbp - 0x75], eax
je 0x140029ab4
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 0xa]
call fcn.140027930
xor r8d, r8d
mov r12, rax
mov rax, qword [rbp - 0x69]
lea edx, [r8 + 0xa]
cmp rax, r13
jne 0x1400299cf
mov rcx, r13
call fcn.140027930
inc dword [rbp - 0x75]
mov rsi, rax
mov qword [rbp - 0x69], rax
mov r13, rax
jmp 0x140029830
mov rcx, rax
call fcn.140027930
xor r8d, r8d
mov qword [rbp - 0x69], rax
mov rcx, r13
mov rsi, rax
lea edx, [r8 + 0xa]
call fcn.140027930
inc dword [rbp - 0x75]
mov r13, rax
jmp 0x140029830
cmp ebx, 0x39
je 0x140029a5b
cmp dword [rbp + 0x47], 0
jle 0x140029a05
inc ebx
mov byte [rdi], bl
jmp 0x140029b45
cmp ebx, 0x39
je 0x140029a5b
inc bl
mov byte [rdi], bl
jmp 0x140029b45
cmp dword [r12 + 0x18], 0
jne 0x140029a29
cmp dword [r12 + 0x14], r15d
jle 0x140029a05
test esi, esi
jle 0x140029a05
mov edx, r15d
mov rcx, r12
call fcn.140027e20
mov rdx, qword [rbp - 0x59]
mov rcx, rax
mov r12, rax
call fcn.140027f50
test eax, eax
jg 0x140029a52
jne 0x140029a05
test r15b, bl
je 0x140029a05
mov eax, ebx
inc ebx
cmp eax, 0x39
jne 0x140029a05
mov byte [rdi], 0x39
inc rdi
jmp 0x140029b23
mov r14d, r15d
nop dword [rax]
mov rdx, rsi
mov rcx, r12
call fcn.140028320
lea ebx, [rax + 0x30]
mov byte [rdi], bl
inc rdi
cmp dword [r12 + 0x18], 0
jne 0x140029a96
cmp dword [r12 + 0x14], r15d
jle 0x140029b48
cmp r14d, dword [rsp + 0x24]
jge 0x140029ab8
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 0xa]
call fcn.140027930
mov r12, rax
inc r14d
jmp 0x140029a70
mov rsi, qword [rbp - 0x59]
mov edx, r15d
mov rcx, r12
call fcn.140027e20
mov r12, rax
movsxd rax, dword [rsi + 0x14]
mov ecx, dword [r12 + 0x14]
sub ecx, eax
jne 0x140029b18
lea rcx, [rax - 1]
lea r8, [rax + 5]
mov eax, dword [rsi + r8*4]
lea r9, [r12 + 0x18]
mov edx, dword [r9 + rcx*4]
lea rcx, [r9 + rcx*4]
lea r8, [rsi + r8*4]
cmp edx, eax
jne 0x140029b0b
sub r8, rcx
cmp rcx, r9
jbe 0x140029b1e
mov eax, dword [r8 + rcx - 4]
sub rcx, 4
mov edx, dword [rcx]
cmp edx, eax
je 0x140029af7
cmp edx, eax
mov ecx, r15d
mov eax, 0xffffffff
cmovb ecx, eax
test ecx, ecx
jg 0x140029b23
jne 0x140029b48
test r15b, bl
je 0x140029b48
movzx eax, byte [rdi - 1]
dec rdi
cmp al, 0x39
jne 0x140029b41
nop
cmp rdi, qword [rbp - 0x49]
je 0x140029b93
movzx eax, byte [rdi - 1]
dec rdi
cmp al, 0x39
je 0x140029b30
inc al
mov byte [rdi], al
inc rdi
mov rdx, qword [rbp - 0x59]
test rdx, rdx
je 0x140029b62
movsxd rax, dword [rdx + 8]
cmp eax, 7
jle 0x140029b9c
mov rcx, rdx
call fcn.14001da60
lea rbx, [0x140000000]
test r13, r13
je 0x140029bfb
mov rdx, qword [rbp - 0x69]
test rdx, rdx
je 0x140029bd1
cmp rdx, r13
je 0x140029bd1
movsxd rax, dword [rdx + 8]
cmp eax, 7
jle 0x140029bbb
mov rcx, rdx
call fcn.14001da60
jmp 0x140029bd1
inc dword [rsp + 0x20]
mov byte [rdi], 0x31
jmp 0x140029b45
mov rcx, rax
lea rbx, [0x140000000]
mov rax, qword [rbx + rax*8 + 0x95d40]
mov qword [rdx], rax
mov qword [rbx + rcx*8 + 0x95d40], rdx
jmp 0x140029b69
mov rcx, rax
mov rax, qword [rbx + rax*8 + 0x95d40]
mov qword [rdx], rax
mov qword [rbx + rcx*8 + 0x95d40], rdx
movsxd rax, dword [r13 + 8]
cmp eax, 7
jle 0x140029be4
mov rcx, r13
call fcn.14001da60
jmp 0x140029bfb
mov rcx, rax
mov rax, qword [rbx + rax*8 + 0x95d40]
mov qword [r13], rax
mov qword [rbx + rcx*8 + 0x95d40], r13
mov rcx, qword [rbp - 0x49]
cmp rdi, rcx
jbe 0x140029c16
cmp byte [rdi - 1], 0x30
lea rax, [rdi - 1]
jne 0x140029c16
mov rdi, rax
cmp rax, rcx
ja 0x140029c04
test r12, r12
je 0x140029c51
movsxd rax, dword [r12 + 8]
cmp eax, 7
jle 0x140029c2f
mov rcx, r12
call fcn.14001da60
jmp 0x140029c4d
mov rcx, rax
lea rdx, [0x140000000]
mov rax, qword [rdx + rax*8 + 0x95d40]
mov qword [r12], rax
mov qword [rdx + rcx*8 + 0x95d40], r12
mov rcx, qword [rbp - 0x49]
mov eax, dword [rsp + 0x20]
mov rdx, qword [rbp + 0x5f]
inc eax
mov byte [rdi], 0
mov dword [rdx], eax
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140029c6c
mov qword [rax], rdi
mov rax, rcx
mov r12, qword [rsp + 0xf8]
mov r13, qword [rsp + 0xc0]
mov r15, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xb8]
add rsp, 0xc8
pop rdi
pop rsi
pop rbx
pop rbp
ret