Function at 0x4081b0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1b8
movsd qword [rsp + 0x210], xmm2
mov r13, qword [rsp + 0x210]
mov r14d, edx
mov r10d, edx
shr r14d, 0x10
mov r11, rcx
shr r10d, 0x18
mov edi, edx
mov rbx, r9
mov rbp, r13
movzx r14d, r14b
lea esi, [r10 - 1]
shr rbp, 0x20
lea eax, [rbp + rbp]
cmp eax, 0xffdfffff
mov eax, edx
ja 0x408f10
mov r12d, ebp
shr eax, 4
shr r12d, 0x14
and r12d, 0x7ff
and eax, 3
mov dword [rsp + 0x30], eax
jne 0x4083d1
lea r15, str.0123456789abcdefpx
lea rax, str.0123456789ABCDEFPX
test dh, 0x20
cmovne r15, rax
test ebp, ebp
js 0x408ea0
test dh, 2
je 0x408b11
mov edx, 6
mov r9d, 0x2b
and ebp, 0xfffff
mov r13d, r13d
mov rax, rbp
shl rax, 0x20
or rax, r13
test r12d, r12d
mov r13, rax
je 0x408e00
or ebp, 0x100000
mov r13d, eax
sub r12d, 0x3ff
shl rbp, 0x20
or r13, rbp
cmp esi, 0xffffffff
je 0x408e3e
cmp esi, 0xc
ja 0x4082b6
lea eax, [rsi*4]
mov ecx, 0x33
sub ecx, eax
mov eax, 1
shl rax, cl
add r13, rax
test r12d, r12d
mov r10d, 0x2b
jns 0x4082ca
neg r12d
mov r10d, 0x2d
mov eax, r12d
mov ebp, edi
or eax, 1
and ebp, 0x1000
bsr eax, eax
imul eax, eax, 0x4d
shr eax, 8
add eax, 1
or ebp, esi
setne r8b
add edx, esi
mov dword [rsp + 0x30], ebp
movzx r8d, r8b
add r8d, edx
lea rdx, [0x0046a380]
add r8d, eax
cmp r12d, dword [rdx + rax*4]
seta al
test rbx, rbx
movzx eax, al
lea ebp, [r8 + rax]
je 0x408eb0
mov ecx, edi
movzx edx, byte [r15 + 0x11]
and ecx, 0x500
jne 0x408da0
cmp r14d, ebp
lea eax, [r14 - 1]
jbe 0x409060
sub eax, ebp
lea rax, [rbx + rax + 1]
nop
add rbx, 1
mov byte [rbx - 1], 0x20
cmp rbx, rax
jne 0x408340
lea r14d, [rbp - 1]
test r9b, r9b
jne 0x408da5
lea rax, [rbx + 2]
mov byte [rbx], 0x30
mov byte [rbx + 1], dl
mov rdx, r13
mov r8d, dword [rsp + 0x30]
lea r11, [rax + 1]
shr rdx, 0x20
shr edx, 0x14
add edx, 0x30
test r8d, r8d
mov byte [rax], dl
je 0x408abe
mov r9d, esi
cmp esi, 0xc
mov byte [rax + 1], 0x2e
lea rcx, [r9 + 1]
mov rdx, r13
lea rbx, [r11 + rcx]
jbe 0x408ef1
cmp esi, 0xd
je 0x408aa3
sub esi, 0xe
add rcx, rax
sub r9, rsi
add rax, r9
mov byte [rcx], 0x30
sub rcx, 1
cmp rax, rcx
jne 0x4083b5
mov esi, 0xd
mov r9d, 0xd
jmp 0x408aa3
test ebp, ebp
js 0x408e85
test dh, 2
je 0x408b32
mov dword [rsp + 0x4c], 1
mov byte [rsp + 0x5b], 0x2b
mov eax, esi
sar eax, 0x1f
and eax, 7
add eax, esi
cmp dword [rsp + 0x30], 3
mov dword [rsp + 0x38], eax
jne 0x40840e
sub eax, 1
cdq
xor edx, eax
mov dword [rsp + 0x38], edx
mov eax, edi
and eax, 0x1000
mov dword [rsp + 0x48], eax
mov eax, edi
and eax, 0x10
mov dword [rsp + 0x5c], eax
je 0x408b60
cmp dword [rsp + 0x38], 0xd
ja 0x408b60
pxor xmm0, xmm0
mov edx, 1
movsd xmm1, qword [rsp + 0x210]
ucomisd xmm1, xmm0
setp al
cmovne eax, edx
test al, al
je 0x408b60
mov eax, r12d
lea rdx, [0x0046a5c0]
sar eax, 6
cdqe
movsx ecx, word [rdx + rax*2]
test ecx, ecx
mov dword [rsp + 0x64], ecx
je 0x408b60
lea rdx, [0x0046a4c0]
movsd xmm0, qword [rsp + 0x210]
test r12d, r12d
mulsd xmm0, qword [rdx + rax*8]
movq r13, xmm0
je 0x4096e1
sub r13, 2
mov rdx, r13
mov dword [rsp + 0x44], r13d
shr rdx, 0x20
mov eax, edx
shr edx, 0x14
and edx, 0x7ff
and eax, 0xfffff
lea ecx, [rdx - 0x433]
or eax, 0x100000
mov dword [rsp + 0x60], ecx
lea rcx, [0x0046a380]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x70], r11
mov r11d, dword [rsp + 0x44]
lea rcx, [rsp + 0xb0]
shl eax, 3
mov dword [rsp + 0x20], edi
mov r8d, 0x1d
mov dword [rsp + 0x78], r10d
mov qword [rsp + 0x68], rcx
mov edx, r11d
and r11d, 0x1fffffff
shr edx, 0x1d
mov r9d, r11d
or eax, edx
xor edx, edx
mov dword [rsp + 0xb0], eax
call sym.nd_mul2k
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x44], eax
mov r10d, dword [rsp + 0x78]
mov r11, qword [rsp + 0x70]
test ecx, ecx
jns 0x408bcb
mov eax, dword [rsp + 0x60]
neg eax
cmp dword [rsp + 0x44], 0
mov dword [rsp + 0x78], eax
jne 0x408583
mov r15d, dword [rsp + 0xb0]
test r15d, r15d
je 0x4096f8
mov eax, dword [rsp + 0x78]
xor ecx, ecx
tzcnt ecx, r15d
cmp ecx, eax
jae 0x40976c
sub dword [rsp + 0x78], ecx
shr r15d, cl
mov dword [rsp + 0x44], 0
mov dword [rsp + 0xb0], r15d
cmp dword [rsp + 0x78], 0x12
jbe 0x409666
cmp dword [rsp + 0x30], 2
je 0x4097b7
mov edx, dword [rsp + 0x44]
pxor xmm0, xmm0
imul eax, edx, 0x1d
mov r8, rdx
sub eax, dword [rsp + 0x78]
bsr edx, dword [rsp + rdx*4 + 0xb0]
add eax, edx
mov edx, 0x38e38e39
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x0046a608]
cvttsd2si eax, xmm0
sub eax, r10d
lea ecx, [rax + 1]
mov eax, ecx
sar ecx, 0x1f
imul edx
sar edx, 1
sub edx, ecx
test esi, esi
lea eax, [rdx + 0x3e]
mov edx, eax
lea eax, [rsi + 7]
cmovns eax, esi
sar eax, 3
sub r8d, eax
mov eax, r8d
add eax, 0x3d
mov r8d, eax
mov eax, dword [rsp + 0x44]
lea rcx, [rsp + 0xb0]
mov dword [rsp + 0x80], r12d
mov r12d, dword [rsp + 0x78]
mov dword [rsp + 0x68], r10d
xor r15d, r15d
mov dword [rsp + 0x70], r14d
mov qword [rsp + 0x88], r13
mov r14d, edx
mov qword [rsp + 0x200], r11
mov dword [rsp + 0x7c], esi
mov r13d, r8d
mov r11d, eax
mov r10, rcx
nop dword [rax]
mov eax, r11d
lea rsi, [r10 + rax*4]
mov edx, dword [rsi]
mov eax, edx
and edx, 0x1ff
shr eax, 9
imul edx, edx, 0x1dcd65
cmp r15d, r11d
mov dword [rsi], eax
je 0x408690
mov r8d, r11d
sub r8d, 1
and r8d, 0x3f
mov eax, r8d
lea r9, [r10 + rax*4]
mov eax, dword [r9]
mov ecx, eax
and eax, 0x1ff
shr ecx, 9
add edx, ecx
mov dword [r9], edx
imul edx, eax, 0x1dcd65
cmp r8d, r15d
jne 0x408664
cmp r14d, r15d
je 0x409020
cmp r15d, r13d
je 0x409020
test edx, edx
je 0x4086b8
sub r15d, 1
and r15d, 0x3f
mov eax, r15d
mov dword [rsp + rax*4 + 0xb0], edx
mov eax, dword [rsi]
test eax, eax
jne 0x4086ca
sub r11d, 1
sub r13d, 1
and r11d, 0x3f
sub r12d, 9
cmp r12d, 8
ja 0x408640
mov r14d, dword [rsp + 0x70]
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0x70], r11d
mov r10d, dword [rsp + 0x68]
mov esi, dword [rsp + 0x7c]
mov r12d, dword [rsp + 0x80]
mov r13, qword [rsp + 0x88]
mov r11, qword [rsp + 0x200]
mov r9d, dword [rsp + 0x78]
test r9d, r9d
je 0x4087eb
mov ecx, r9d
mov eax, 0x3b9aca00
lea rdx, [rsp + 0xb0]
sar eax, cl
mov r9d, 0xffffffff
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x70]
mov qword [rsp + 0x68], rdx
lea rax, [rdx + rax*4]
mov r8d, dword [rax]
mov edx, r8d
shr edx, cl
mov dword [rax], edx
mov eax, dword [rsp + 0x78]
mov ecx, eax
shl r9d, cl
not r9d
and r8d, r9d
mov edx, r8d
mov r8d, dword [rsp + 0x7c]
imul edx, r8d
cmp r15d, dword [rsp + 0x70]
je 0x4087d5
mov dword [rsp + 0x7c], r14d
mov ecx, eax
mov r14, qword [rsp + 0x68]
mov eax, dword [rsp + 0x70]
mov qword [rsp + 0x200], r11
mov r11d, r8d
mov dword [rsp + 0x78], r10d
mov dword [rsp + 0x80], esi
sub eax, 1
and eax, 0x3f
mov r8d, eax
lea rsi, [r14 + r8*4]
mov r8d, dword [rsi]
mov r10d, r8d
and r8d, r9d
shr r10d, cl
add edx, r10d
mov dword [rsi], edx
mov edx, r8d
imul edx, r11d
cmp eax, r15d
jne 0x408792
mov r10d, dword [rsp + 0x78]
mov r14d, dword [rsp + 0x7c]
mov esi, dword [rsp + 0x80]
mov r11, qword [rsp + 0x200]
test edx, edx
je 0x4087eb
sub r15d, 1
and r15d, 0x3f
mov eax, r15d
mov dword [rsp + rax*4 + 0xb0], edx
mov ecx, dword [rsp + 0x44]
test ecx, ecx
je 0x408807
mov eax, ecx
mov eax, dword [rsp + rax*4 + 0xb0]
test eax, eax
jne 0x408807
sub ecx, 1
mov dword [rsp + 0x44], ecx
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x4094b3
mov eax, dword [rsp + 0x44]
test r15d, r15d
mov edx, dword [rsp + rax*4 + 0xb0]
je 0x4094a6
test edx, edx
jne 0x4094a6
mov eax, 0x40
lea edx, [rax - 1]
mov rax, rdx
mov edx, dword [rsp + rdx*4 + 0xb0]
test edx, edx
je 0x408834
lea ecx, [rax + rax*8 - 0x241]
mov dword [rsp + 0x44], eax
mov eax, edx
mov r9, qword [rsp + 0x50]
or eax, 1
bsr eax, eax
imul eax, eax, 0x4d
shr eax, 8
lea r8d, [rax + 1]
cmp dword [r9 + r8*4], edx
mov rax, r8
setb r8b
movzx r8d, r8b
add eax, r8d
add ecx, eax
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x78], ecx
mov dword [rsp + 0x70], ecx
test eax, eax
je 0x408a40
mov ecx, dword [rsp + 0x60]
cmp r13d, 0xfffffffd
lea eax, [rcx + 0x46]
jbe 0x4088b5
shr r13, 0x20
add ecx, 0x47
shl r13, 0xc
cmp r13d, 0xfffff000
cmove eax, ecx
add eax, eax
lea rcx, [0x0046a3c0]
mov dword [rsp + 0x134], edx
cdqe
mov qword [rsp + 0x80], r11
lea r11, [rsp + 0xb0]
add rax, rcx
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x60], r10d
movzx r8d, byte [rax]
movsx r9d, byte [rax + 1]
mov qword [rsp + 0x68], r11
lea edx, [rcx - 1]
and edx, 0x3f
mov r13d, edx
mov dword [rsp + 0x88], edx
mov edx, dword [rsp + r13*4 + 0xb0]
mov dword [rsp + 0x130], edx
lea edx, [rcx - 2]
and edx, 0x3f
mov edx, dword [rsp + rdx*4 + 0xb0]
mov dword [rsp + 0x12c], edx
mov edx, ecx
mov rcx, r11
call sym.nd_add_m10e
mov eax, dword [rsp + 0x38]
mov edx, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x60]
mov r11, qword [rsp + 0x80]
add eax, 1
cmp eax, r8d
lea rdx, [rcx + rdx*4]
jb 0x409501
mov r9d, dword [rsp + 0x134]
cmp dword [rdx], r9d
jne 0x409424
sub eax, r8d
mov edx, dword [rsp + r13*4 + 0xb0]
cmp eax, 8
mov dword [rsp + 0x60], eax
jbe 0x40975e
cmp dword [rsp + 0x130], edx
jne 0x409424
mov edx, dword [rsp + 0x88]
sub eax, 9
add rcx, 0x7c
mov dword [rsp + 0x60], eax
mov r13, rcx
sub edx, 1
mov eax, edx
and eax, 0x3f
mov edx, dword [rsp + rax*4 + 0xb0]
lea r9, [rsp + 0x9e]
mov dword [rsp + 0x80], r10d
mov qword [rsp + 0x88], r11
mov rcx, r9
mov qword [rsp + 0x68], r9
call sym.lj_strfmt_wuint9
lea r11, [rsp + 0xa7]
mov edx, dword [r13]
mov rcx, r11
call sym.lj_strfmt_wuint9
mov r13d, dword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
mov rdx, r11
mov rcx, r9
mov r8, r13
call sym.memcmp
test eax, eax
mov r10d, dword [rsp + 0x80]
mov r11, qword [rsp + 0x88]
jne 0x409424
cmp byte [rsp + r13 + 0x9e], 0x34
setg dl
cmp byte [rsp + r13 + 0xa7], 0x34
setle al
cmp dl, al
je 0x409424
mov eax, r15d
mov edx, dword [rsp + 0x38]
sub edx, dword [rsp + 0x78]
neg eax
and eax, 0x3f
lea eax, [rax + rax*8]
cmp edx, eax
jl 0x409431
mov esi, dword [rsp + 0x70]
add esi, dword [rsp + 0x64]
test dil, 0x20
je 0x4090f0
cmp dword [rsp + 0x38], esi
jl 0x409526
cmp esi, 0xfffffffc
jl 0x409526
test esi, esi
js 0x4097aa
mov eax, dword [rsp + 0x44]
lea eax, [rax + rax*8]
add dword [rsp + 0x4c], eax
sub dword [rsp + 0x38], esi
jmp 0x408c13
mov r9d, esi
mov rax, rdx
shr rdx, 4
and eax, 0xf
sub esi, 1
movzx eax, byte [r15 + rax]
mov byte [r11 + r9], al
jne 0x408aa0
mov r11, rbx
movzx eax, byte [r15 + 0x10]
lea rcx, [r11 + 2]
mov byte [r11 + 1], r10b
mov edx, r12d
and edi, 0x100
mov byte [r11], al
call sym.lj_strfmt_wint
test edi, edi
je 0x408afd
cmp r14d, ebp
lea edx, [r14 - 1]
jbe 0x408afd
sub edx, ebp
lea rdx, [rax + rdx + 1]
add rax, 1
mov byte [rax - 1], 0x20
cmp rax, rdx
jne 0x408af0
add rsp, 0x1b8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, edx
and eax, 0x800
cmp eax, 1
sbb edx, edx
add edx, 6
cmp eax, 1
sbb r9d, r9d
not r9d
and r9d, 0x20
jmp 0x408259
mov eax, edx
and eax, 0x800
cmp eax, 1
sbb ecx, ecx
add ecx, 1
cmp eax, 1
sbb eax, eax
mov dword [rsp + 0x4c], ecx
not eax
and eax, 0x20
mov byte [rsp + 0x5b], al
jmp 0x4083ef
lea rax, [0x0046a380]
mov qword [rsp + 0x50], rax
mov r15d, ebp
mov dword [rsp + 0x44], r13d
and r15d, 0xfffff
test r12d, r12d
mov dword [rsp + 0xb0], r15d
je 0x408e60
or r15d, 0x100000
test r13d, r13d
mov dword [rsp + 0xb0], r15d
jne 0x4090d0
mov eax, r12d
mov dword [rsp + 0x64], 0
sub eax, 0x413
mov dword [rsp + 0x60], eax
js 0x4098b5
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x68], rax
mov edx, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov rcx, qword [rsp + 0x68]
mov dword [rsp + 0x20], edi
mov qword [rsp + 0x70], r11
mov dword [rsp + 0x78], r10d
call sym.nd_mul2k
mov edx, dword [rsp + 0x5c]
mov dword [rsp + 0x44], eax
mov r10d, dword [rsp + 0x78]
mov r11, qword [rsp + 0x70]
test edx, edx
jne 0x40929b
lea eax, [rax + rax*8]
add dword [rsp + 0x4c], eax
xor r15d, r15d
mov esi, edi
and esi, 0x1010
cmp esi, 0x10
je 0x4092c2
mov ecx, dword [rsp + 0x38]
add dword [rsp + 0x4c], ecx
or dword [rsp + 0x48], ecx
mov r12d, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x48]
xor r8d, r8d
mov edx, dword [rsp + r12*4 + 0xb0]
mov eax, edx
or eax, 1
bsr eax, eax
imul eax, eax, 0x4d
shr eax, 8
add eax, 1
test ecx, ecx
mov rcx, qword [rsp + 0x50]
setne r8b
add r8d, dword [rsp + 0x4c]
add r8d, eax
cmp edx, dword [rcx + rax*4]
seta al
test rbx, rbx
movzx eax, al
lea ebp, [r8 + rax]
je 0x4093e6
mov edx, edi
and edx, 0x500
jne 0x4092b2
cmp r14d, ebp
lea eax, [r14 - 1]
jbe 0x40979b
sub eax, ebp
lea rax, [rbx + rax + 1]
add rbx, 1
mov byte [rbx - 1], 0x20
cmp rbx, rax
jne 0x408ca0
lea r14d, [rbp - 1]
cmp byte [rsp + 0x5b], 0
je 0x408cd0
movzx eax, byte [rsp + 0x5b]
add rbx, 1
mov byte [rbx - 1], al
cmp edx, 0x400
je 0x4093b3
mov edx, dword [rsp + r12*4 + 0xb0]
mov rcx, rbx
call sym.lj_strfmt_wint
mov ebx, dword [rsp + 0x44]
test ebx, ebx
je 0x408d13
lea edx, [rbx - 1]
lea r11, [rsp + 0xac]
lea rbx, [rsp + rdx*4 + 0xb0]
nop dword [rax + rax]
mov edx, dword [rbx]
mov rcx, rax
sub rbx, 4
call sym.lj_strfmt_wuint9
cmp r11, rbx
jne 0x408d00
mov edx, dword [rsp + 0x48]
test edx, edx
je 0x408d92
test r15d, r15d
lea rcx, [rax + 1]
mov byte [rax], 0x2e
je 0x408d5e
mov ebx, dword [rsp + 0x38]
test ebx, ebx
jle 0x408d5e
xor r11d, r11d
jmp 0x408d39
cmp r15d, r11d
je 0x408d5a
sub r11d, 1
sub ebx, 9
and r11d, 0x3f
mov eax, r11d
mov edx, dword [rsp + rax*4 + 0xb0]
call sym.lj_strfmt_wuint9
test ebx, ebx
mov rcx, rax
jg 0x408d34
mov dword [rsp + 0x38], ebx
cmp esi, 0x10
mov esi, dword [rsp + 0x38]
je 0x4096ae
test esi, esi
movsxd rax, esi
jle 0x408d8f
mov eax, dword [rsp + 0x38]
sub eax, 1
lea rax, [rcx + rax + 1]
nop
add rcx, 1
mov byte [rcx - 1], 0x30
cmp rcx, rax
jne 0x408d80
xor eax, eax
add rax, rcx
and edi, 0x100
jmp 0x408adc
test r9b, r9b
je 0x408dac
mov byte [rbx], r9b
add rbx, 1
cmp ecx, 0x400
mov byte [rbx], 0x30
lea rax, [rbx + 2]
mov byte [rbx + 1], dl
jne 0x408364
cmp r14d, ebp
lea edx, [r14 - 1]
jbe 0x4090a0
mov edx, ebp
not edx
add edx, r14d
lea rdx, [rax + rdx + 1]
nop dword [rax + rax]
add rax, 1
mov byte [rax - 1], 0x30
cmp rax, rdx
jne 0x408de0
lea r14d, [rbp - 1]
jmp 0x408364
mov rcx, qword [rsp + 0x210]
mov r8d, ebp
or r8d, ecx
je 0x40828f
test ebp, ebp
je 0x408fd0
bsr ebp, ebp
mov ecx, 0x14
sub ecx, ebp
mov r12d, 0xfffffc02
shl rax, cl
sub r12d, ecx
cmp esi, 0xffffffff
mov r13, rax
jne 0x408298
test r13d, r13d
je 0x408fb0
xor eax, eax
mov esi, 0xd
tzcnt eax, r13d
shr eax, 2
sub esi, eax
jmp 0x4082b6
test r13d, r13d
mov dword [rsp + 0x60], 0xfffffbce
je 0x4090b0
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x64], 0
jmp 0x4084d4
mov dword [rsp + 0x4c], 1
mov byte [rsp + 0x5b], 0x2d
jmp 0x4083ef
mov edx, 6
mov r9d, 0x2d
jmp 0x408259
mov rbx, qword [r11]
mov rax, qword [r11 + 8]
cmp r14d, ebp
mov edx, ebp
cmovae edx, r14d
sub rax, rbx
cmp edx, eax
jbe 0x408318
mov rcx, r11
mov byte [rsp + 0x44], r10b
mov byte [rsp + 0x38], r9b
call sym.lj_buf_more2
movzx r10d, byte [rsp + 0x44]
mov rbx, rax
movzx r9d, byte [rsp + 0x38]
jmp 0x408318
mov eax, esi
neg eax
lea ecx, [rax*4 + 0x34]
shr rdx, cl
test esi, esi
jne 0x408aa3
jmp 0x408abb
shl eax, 0x12
mov edx, ebp
sar eax, 0x1f
and edx, 0xfffff
and eax, 0x202020
or edx, r13d
je 0x408fe1
xor eax, 0x6e616e
mov esi, eax
mov eax, edi
and eax, 0x800
cmp eax, 1
sbb r12d, r12d
not r12d
and r12d, 0x20
cmp eax, 1
sbb ebp, ebp
add ebp, 4
test rbx, rbx
je 0x409070
and edi, 0x100
jne 0x408f85
cmp ebp, r14d
lea eax, [r14 - 1]
jae 0x409018
sub eax, ebp
lea rax, [rbx + rax + 1]
add rbx, 1
mov byte [rbx - 1], 0x20
cmp rbx, rax
jne 0x408f74
lea r14d, [rbp - 1]
test r12d, r12d
je 0x408f91
mov byte [rbx], r12b
add rbx, 1
mov eax, esi
mov byte [rbx + 2], sil
sar eax, 0x10
mov byte [rbx], al
mov eax, esi
mov byte [rbx + 1], ah
lea rax, [rbx + 3]
jmp 0x408adc
mov rax, r13
mov esi, 5
shr rax, 0x20
or eax, 0x100000
tzcnt eax, eax
shr eax, 2
sub esi, eax
jmp 0x4082b6
bsr r8d, ecx
mov ecx, 0x34
sub ecx, r8d
jmp 0x408e26
xor eax, 0x696e66
test ebp, ebp
mov esi, eax
js 0x409008
test edi, 0x200
je 0x408f33
mov r12d, 0x2b
mov ebp, 4
jmp 0x408f4f
mov r12d, 0x2d
mov ebp, 4
jmp 0x408f4f
mov r14d, eax
jmp 0x408f85
mov eax, dword [rsi]
test eax, eax
jne 0x4086ca
cmp r15d, r11d
jne 0x4086be
mov r10d, dword [rsp + 0x68]
mov r14d, dword [rsp + 0x70]
mov esi, dword [rsp + 0x7c]
mov r12d, dword [rsp + 0x80]
mov r13, qword [rsp + 0x88]
mov r11, qword [rsp + 0x200]
jmp 0x4087eb
mov r14d, eax
jmp 0x408351
mov rbx, qword [r11]
mov rax, qword [r11 + 8]
cmp ebp, r14d
mov edx, r14d
cmovae edx, ebp
sub rax, rbx
cmp edx, eax
jbe 0x408f58
mov rcx, r11
call sym.lj_buf_more2
mov rbx, rax
jmp 0x408f58
mov r14d, edx
jmp 0x408364
mov dword [rsp + 0x64], 0
mov dword [rsp + 0x60], 0xfffffbee
mov dword [rsp + 0x78], 0x412
jmp 0x408550
lea eax, [r12 - 0x433]
mov dword [rsp + 0x60], eax
jmp 0x408e71
mov dword [rsp + 0x38], 0
nop dword [rax]
test esi, esi
mov r12d, 0x2b
jns 0x409102
neg esi
mov r12d, 0x2d
mov eax, esi
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x4c]
or eax, 1
bsr eax, eax
imul eax, eax, 0x4d
lea r8d, [rcx + rdx + 3]
mov edx, dword [rsp + 0x48]
shr eax, 8
add eax, 1
or edx, ecx
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x30], edx
setne dl
movzx edx, dl
add r8d, edx
xor edx, edx
cmp esi, 9
setle dl
add r8d, edx
add r8d, eax
cmp esi, dword [rcx + rax*4]
seta al
test rbx, rbx
movzx eax, al
lea ebp, [r8 + rax]
je 0x409680
mov edx, edi
and edx, 0x500
jne 0x409414
cmp r14d, ebp
lea eax, [r14 - 1]
jbe 0x409827
sub eax, ebp
lea rax, [rbx + rax + 1]
nop
add rbx, 1
mov byte [rbx - 1], 0x20
cmp rbx, rax
jne 0x409180
lea r14d, [rbp - 1]
cmp byte [rsp + 0x5b], 0
je 0x4091b0
movzx eax, byte [rsp + 0x5b]
add rbx, 1
mov byte [rbx - 1], al
cmp edx, 0x400
je 0x409636
mov eax, dword [rsp + 0x44]
lea r13, [rbx + 1]
mov rcx, r13
mov edx, dword [rsp + rax*4 + 0xb0]
call sym.lj_strfmt_wint
movzx edx, byte [rbx + 1]
mov r9d, dword [rsp + 0x30]
test r9d, r9d
mov byte [rbx], dl
je 0x409263
mov r11d, dword [rsp + 0x38]
mov byte [rbx + 1], 0x2e
mov rdx, rax
add rbx, 2
sub rdx, rbx
sub r11d, edx
test r11d, r11d
jle 0x409226
mov ebx, dword [rsp + 0x44]
cmp ebx, r15d
jne 0x409206
jmp 0x409226
cmp r15d, ebx
je 0x409226
sub ebx, 1
mov rcx, rax
and ebx, 0x3f
mov edx, ebx
mov edx, dword [rsp + rdx*4 + 0xb0]
call sym.lj_strfmt_wuint9
sub r11d, 9
test r11d, r11d
jg 0x409201
mov edx, edi
and edx, 0x1020
cmp edx, 0x20
je 0x409728
test r11d, r11d
movsxd rdx, r11d
jle 0x40925f
lea edx, [r11 - 1]
lea rdx, [rax + rdx + 1]
nop dword [rax + rax]
add rax, 1
mov byte [rax - 1], 0x30
cmp rax, rdx
jne 0x409250
xor edx, edx
lea r13, [rax + rdx]
mov eax, edi
mov byte [r13 + 1], r12b
lea rcx, [r13 + 2]
and eax, 0x2000
cmp eax, 1
sbb eax, eax
and eax, 0x20
add eax, 0x45
cmp esi, 9
mov byte [r13], al
jg 0x40928f
lea rcx, [r13 + 3]
mov byte [r13 + 2], 0x30
mov edx, esi
call sym.lj_strfmt_wint
jmp 0x408d92
mov eax, dword [rsp + 0x44]
xor r15d, r15d
mov edx, dword [rsp + rax*4 + 0xb0]
lea ecx, [rax + rax*8 - 1]
jmp 0x408850
cmp byte [rsp + 0x5b], 0
je 0x408cc4
jmp 0x408cb8
mov r8d, dword [rsp + 0x38]
test r8d, r8d
je 0x408c24
test r14d, r14d
je 0x408c24
test r15d, r15d
je 0x40971b
lea r12d, [r15 + r15*8]
mov eax, dword [rsp + 0x38]
neg r12d
lea r8d, [r12 + 0x240]
cmp eax, r8d
jae 0x4097e1
lea edx, [rax + 8]
mov qword [rsp + 0x30], r11
mov ecx, 0x38e38e39
mov r11d, eax
mov r15d, 0x40
lea r13, [rsp + 0xa7]
mov eax, edx
lea ebp, [r11 - 0x238]
mul ecx
mov rcx, r13
shr edx, 1
sub r15d, edx
mov eax, r15d
lea r12d, [r15 + r15*8]
mov edx, dword [rsp + rax*4 + 0xb0]
neg r12d
call sym.lj_strfmt_wuint9
mov r11, qword [rsp + 0x30]
sub ebp, r12d
mov r12d, dword [rsp + 0x38]
mov eax, ebp
cmp byte [rsp + rax + 0xa7], 0x30
je 0x409377
jmp 0x408c24
lea eax, [rbp - 1]
cmp byte [rsp + rax + 0xa7], 0x30
mov rbp, rax
jne 0x409837
sub r12d, 1
test ebp, ebp
jne 0x4093a4
cmp r15d, 0x3f
je 0x40971b
lea eax, [r15 + 1]
mov rcx, r13
mov ebp, 9
mov edx, dword [rsp + rax*4 + 0xb0]
mov r15, rax
call sym.lj_strfmt_wuint9
test r12d, r12d
jne 0x409363
mov dword [rsp + 0x38], r12d
jmp 0x408c30
cmp r14d, ebp
lea eax, [r14 - 1]
jbe 0x4097d9
mov eax, ebp
not eax
add eax, r14d
lea rax, [rbx + rax + 1]
nop dword [rax]
add rbx, 1
mov byte [rbx - 1], 0x30
cmp rbx, rax
jne 0x4093d0
lea r14d, [rbp - 1]
jmp 0x408cd0
mov rbx, qword [r11]
mov rax, qword [r11 + 8]
cmp r14d, ebp
mov edx, ebp
cmovae edx, r14d
add edx, 8
sub rax, rbx
cmp edx, eax
jbe 0x408c7e
mov rcx, r11
call sym.lj_buf_more2
mov rbx, rax
jmp 0x408c7e
cmp byte [rsp + 0x5b], 0
je 0x4091a4
jmp 0x409198
mov r13, qword [rsp + 0x210]
jmp 0x408b6c
mov eax, dword [rsp + 0x38]
mov ebp, dword [rsp + 0x78]
lea rcx, [rsp + 0xb0]
mov edx, dword [rsp + 0x44]
mov r8d, 5
mov qword [rsp + 0x30], r11
not eax
lea r9d, [rax + rbp]
call sym.nd_add_m10e
mov dword [rsp + 0x44], eax
mov eax, eax
mov rsi, qword [rsp + 0x50]
mov edx, dword [rsp + rax*4 + 0xb0]
mov r11, qword [rsp + 0x30]
mov eax, edx
or eax, 1
bsr eax, eax
imul eax, eax, 0x4d
shr eax, 8
lea ecx, [rax + 1]
cmp edx, dword [rsi + rcx*4]
mov rax, rcx
seta dl
xor esi, esi
movzx edx, dl
add eax, edx
cmp eax, dword [rsp + 0x7c]
setne sil
add esi, ebp
mov dword [rsp + 0x70], esi
jmp 0x408a5b
mov eax, dword [rsp + 0x44]
lea ecx, [rax + rax*8 - 1]
jmp 0x408850
mov eax, r15d
neg eax
and eax, 0x3f
lea eax, [rax + rax*8]
cmp eax, dword [rsp + 0x38]
jbe 0x4098a7
mov r9d, dword [rsp + 0x38]
mov edx, dword [rsp + 0x44]
lea rcx, [rsp + 0xb0]
mov r8d, 5
mov qword [rsp + 0x30], r11
not r9d
call sym.nd_add_m10e
mov r11, qword [rsp + 0x30]
mov dword [rsp + 0x44], eax
lea eax, [rax + rax*8]
add dword [rsp + 0x4c], eax
jmp 0x408c13
mov eax, dword [rsp + 0x38]
mov edx, dword [rdx]
lea r13d, [rax + 0xa]
sub r13d, dword [rsp + 0x7c]
mov dword [rsp + 0x60], r13d
mov r13, qword [rsp + 0x68]
add r13, 0x84
jmp 0x4089b7
mov r10d, dword [rsp + 0x48]
test r10d, r10d
jne 0x4090f0
mov ecx, dword [rsp + 0x38]
test ecx, ecx
je 0x4090f0
cmp r14d, 5
jbe 0x4090f0
mov r9d, dword [rsp + 0x44]
mov edx, dword [rsp + 0x7c]
mov eax, r9d
sub eax, r15d
and eax, 0x3f
lea ebp, [rax + rax*8]
lea r8d, [rdx + rbp - 1]
cmp ecx, r8d
jae 0x40985b
mov eax, ecx
mov r8d, edx
mov qword [rsp + 0x30], r11
sub eax, edx
mov r11d, ecx
mov ecx, 9
add eax, 9
lea r13, [rsp + 0xa7]
cdq
idiv ecx
mov edx, r9d
sub ecx, r8d
lea r12d, [rcx + r11]
mov rcx, r13
sub r9d, eax
mov r15d, r9d
mov r9d, edx
and r15d, 0x3f
mov eax, r15d
sub r9d, r15d
mov edx, dword [rsp + rax*4 + 0xb0]
mov ebp, r9d
and ebp, 0x3f
lea ebp, [rbp + rbp*8]
call sym.lj_strfmt_wuint9
mov r11, qword [rsp + 0x30]
sub r12d, ebp
mov eax, r12d
cmp byte [rsp + rax + 0xa7], 0x30
jne 0x4090f0
mov ebp, dword [rsp + 0x38]
jmp 0x4095f6
lea eax, [r12 - 1]
cmp byte [rsp + rax + 0xa7], 0x30
mov r12, rax
jne 0x40962d
sub ebp, 1
test r12d, r12d
jne 0x409629
cmp dword [rsp + 0x44], r15d
je 0x4090e1
add r15d, 1
mov rcx, r13
mov r12d, 9
and r15d, 0x3f
mov eax, r15d
mov edx, dword [rsp + rax*4 + 0xb0]
call sym.lj_strfmt_wuint9
test ebp, ebp
jne 0x4095e4
mov dword [rsp + 0x38], ebp
jmp 0x4090f0
cmp r14d, ebp
lea eax, [r14 - 1]
jbe 0x40982f
mov eax, ebp
not eax
add eax, r14d
lea rax, [rbx + rax + 1]
nop
add rbx, 1
mov byte [rbx - 1], 0x30
cmp rbx, rax
jne 0x409650
lea r14d, [rbp - 1]
jmp 0x4091b0
cmp dword [rsp + 0x78], 8
jbe 0x40984b
mov eax, 0xffffffff
mov edx, eax
mov r8d, eax
jmp 0x4085f7
mov rbx, qword [r11]
mov rax, qword [r11 + 8]
cmp r14d, ebp
mov edx, ebp
cmovae edx, r14d
add edx, 5
sub rax, rbx
cmp edx, eax
jbe 0x40915c
mov rcx, r11
call sym.lj_buf_more2
mov rbx, rax
jmp 0x40915c
mov eax, esi
sar eax, 0x1f
and eax, esi
cdqe
add rax, rcx
movzx edx, byte [rax - 1]
cmp dl, 0x30
jne 0x4096d0
sub rax, 1
movzx edx, byte [rax - 1]
cmp dl, 0x30
je 0x4096c3
cmp dl, 0x2e
sete dl
movzx edx, dl
sub rax, rdx
jmp 0x408d92
mulsd xmm0, qword [0x0046a600]
sub dword [rsp + 0x64], 0xa
movq r13, xmm0
jmp 0x408499
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x44], 0
mov ecx, 0xffffffff
test eax, eax
jne 0x4097a3
mov dword [rsp + 0x44], r15d
jmp 0x408c13
mov dword [rsp + 0x38], 0
jmp 0x408c30
mov r13d, r11d
sar r13d, 0x1f
and r13d, r11d
movsxd r13, r13d
add r13, rax
movzx eax, byte [r13 - 1]
cmp al, 0x30
jne 0x40974e
sub r13, 1
movzx eax, byte [r13 - 1]
cmp al, 0x30
je 0x409741
cmp al, 0x2e
sete al
movzx eax, al
sub r13, rax
jmp 0x409263
mov r13, qword [rsp + 0x68]
sub r13, 0xffffffffffffff80
jmp 0x4089b7
mov ecx, eax
mov eax, dword [rsp + 0x5c]
mov edx, r15d
shr edx, cl
xor r15d, r15d
mov dword [rsp + 0x44], 0
mov dword [rsp + 0xb0], edx
mov ecx, 0xffffffff
test eax, eax
jne 0x408850
jmp 0x408c13
mov r14d, eax
jmp 0x408cb1
xor edx, edx
jmp 0x408850
mov dword [rsp + 0x44], 0
jmp 0x408a93
mov eax, esi
mov edx, 0x38e38e39
mov r8d, 0xffffffff
imul edx
mov eax, esi
sar eax, 0x1f
sar edx, 1
sub eax, edx
add eax, 0x3f
mov edx, eax
jmp 0x4085f7
mov r14d, eax
jmp 0x408cd0
mov eax, r15d
lea r13, [rsp + 0xa7]
mov qword [rsp + 0x38], r11
mov edx, dword [rsp + rax*4 + 0xb0]
mov dword [rsp + 0x30], r8d
lea ebp, [r12 + 8]
mov rcx, r13
call sym.lj_strfmt_wuint9
mov r8d, dword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
test r8d, r8d
je 0x40971b
mov dword [rsp + 0x38], r8d
jmp 0x40934a
mov r14d, eax
jmp 0x409191
mov r14d, eax
jmp 0x4091b0
mov dword [rsp + 0x38], r12d
add dword [rsp + 0x4c], r12d
or dword [rsp + 0x48], r12d
jmp 0x408c30
mov eax, dword [rsp + 0x44]
xor r15d, r15d
mov dword [rsp + 0x70], eax
jmp 0x408708
mov eax, r8d
sub eax, dword [rsp + 0x7c]
lea r13, [rsp + 0xa7]
mov qword [rsp + 0x38], r11
mov dword [rsp + 0x30], r8d
mov rcx, r13
lea r12d, [rax + 9]
mov eax, r15d
mov edx, dword [rsp + rax*4 + 0xb0]
call sym.lj_strfmt_wuint9
mov r8d, dword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
test r8d, r8d
je 0x4090e1
mov dword [rsp + 0x38], r8d
jmp 0x4095ca
imul eax, dword [rsp + 0x44], 9
add dword [rsp + 0x4c], eax
jmp 0x408c13
mov eax, 0x413
sub eax, r12d
mov dword [rsp + 0x78], eax
jmp 0x408559