Function at 0x3bea5d510
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
cmp dword [rsp + 0x130], 4
mov qword [rsp + 0x128], r9
mov rdi, rcx
mov r10, rdx
je 0x3bea5d940
cmp rdx, r8
je 0x3bea5d919
movzx r15d, byte [rdx]
xor eax, eax
mov qword [rsp + 0x80], 0
mov rcx, rdx
mov qword [rsp + 0x88], 0
cmp r15b, 0x2d
mov qword [rsp + 0x90], 0
mov word [rsp + 0x99], ax
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
sete byte [rsp + 0x98]
je 0x3bea5da88
mov rdx, r8
mov rax, rcx
xor ebx, ebx
movabs rbp, 0xcfcfcfcfcfcfcfd0
movabs rsi, 0x4646464646464646
sub rdx, rcx
movabs r11, 0x8080808080808080
movabs r9, 0xff000000ff
movabs r13, 0x271000000001
movabs r12, 0xf424000000064
cmp rdx, 7
jg 0x3bea5d65a
jmp 0x3bea5d7ab
imul rbx, rbx, 0x5f5e100
lea r14, [rdx + rdx*4]
shr rdx, 8
add rax, 8
lea r14, [rdx + r14*2]
mov rdx, r14
and r14, r9
shr rdx, 0x10
imul r14, r12
and rdx, r9
imul rdx, r13
add rdx, r14
shr rdx, 0x20
add rbx, rdx
mov rdx, r8
sub rdx, rax
cmp rdx, 7
jle 0x3bea5d66c
mov r14, qword [rax]
lea rdx, [r14 + rbp]
add r14, rsi
or r14, rdx
test r14, r11
je 0x3bea5d618
cmp r8, rax
jne 0x3bea5d7ab
nop dword [rax]
mov r9, r8
mov qword [rsp + 0xa0], rcx
sub r9, rcx
mov qword [rsp + 0xa8], r9
mov rsi, r8
xor r11d, r11d
test r9, r9
jne 0x3bea5dac8
mov qword [rdi], r10
mov dword [rdi + 8], 0
cmp r15b, 0x2d
je 0x3bea5e2ef
xor r9d, r9d
mov rcx, r8
sub rcx, r10
cmp rcx, 2
jle 0x3bea5dc30
movzx ebx, byte [r10 + 1]
movzx eax, byte [r10 + 2]
movzx r11d, byte [r10]
mov edx, eax
mov esi, ebx
xor esi, 0x61
xor edx, 0x6e
or edx, esi
mov esi, r11d
xor esi, 0x6e
or edx, esi
and edx, 0xdf
jne 0x3bea5e250
lea rax, [r10 + 3]
movss xmm0, dword [0x3bea8b824]
mov qword [rdi], rax
test r9b, r9b
je 0x3bea5d70e
movss xmm0, dword [0x3bea8b820]
mov rsi, qword [rsp + 0x128]
movss dword [rsi], xmm0
cmp r8, rax
je 0x3bea5d923
cmp byte [r10 + 3], 0x28
jne 0x3bea5d923
add r10, 4
cmp r8, r10
je 0x3bea5d923
movabs rcx, 0x87fffffe03ff
jmp 0x3bea5d77a
lea edx, [rax - 0x61]
cmp dl, 0x19
jbe 0x3bea5d76d
sub eax, 0x30
cmp al, 0x2f
ja 0x3bea5d923
bt rcx, rax
jae 0x3bea5d923
add r10, 1
cmp r8, r10
je 0x3bea5d923
movzx eax, byte [r10]
cmp al, 0x29
jne 0x3bea5d750
add r10, 1
mov qword [rdi], r10
jmp 0x3bea5d923
sub edx, 0x30
lea r9, [rbx + rbx*4]
add rax, 1
movsxd rdx, edx
lea rbx, [rdx + r9*2]
cmp r8, rax
je 0x3bea5d678
movsx edx, byte [rax]
mov r9d, edx
sub r9d, 0x30
cmp r9b, 9
jbe 0x3bea5d790
mov r9, rax
mov qword [rsp + 0xa0], rcx
sub r9, rcx
mov qword [rsp + 0xa8], r9
cmp r8, rax
je 0x3bea5d68e
xor r11d, r11d
cmp byte [rax], 0x2e
mov rsi, rax
jne 0x3bea5d694
lea rdx, [rax + 1]
mov r11, r8
sub r11, rdx
mov rsi, rdx
cmp r11, 7
jle 0x3bea5d8b5
movabs r12, 0xcfcfcfcfcfcfcfd0
mov qword [rsp + 0x38], r9
movabs rbp, 0x4646464646464646
movabs r11, 0xff000000ff
movabs r14, 0x271000000001
mov qword [rsp + 0x40], rax
movabs r13, 0xf424000000064
mov qword [rsp + 0x48], rdx
jmp 0x3bea5d88a
imul rbx, rbx, 0x5f5e100
lea r9, [rax + rax*4]
shr rax, 8
add rsi, 8
lea r9, [rax + r9*2]
mov rax, r9
and r9, r11
shr rax, 0x10
imul r9, r13
and rax, r11
imul rax, r14
add rax, r9
shr rax, 0x20
add rbx, rax
mov rax, r8
sub rax, rsi
cmp rax, 7
jle 0x3bea5d8a6
movabs rdx, 0x8080808080808080
mov r9, qword [rsi]
lea rax, [r9 + r12]
add r9, rbp
or r9, rax
test r9, rdx
je 0x3bea5d848
mov r9, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
cmp r8, rsi
jne 0x3bea5d8d5
jmp 0x3bea5d8e3
lea rbx, [rbx + rbx*4]
movzx r11d, r11b
add rsi, 1
lea rbx, [r11 + rbx*2]
cmp r8, rsi
je 0x3bea5d8e3
movzx r11d, byte [rsi]
sub r11d, 0x30
cmp r11b, 9
jbe 0x3bea5d8c0
mov r11, rdx
mov rbp, rsi
mov qword [rsp + 0xb0], rdx
sub r11, rsi
sub rbp, rdx
mov qword [rsp + 0xb8], rbp
sub r9, r11
jmp 0x3bea5d694
test r15b, r15b
jne 0x3bea5db97
mov qword [rdi], r10
mov dword [rdi + 8], 0x16
mov rax, rdi
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp rdx, r8
je 0x3bea5d919
movzx eax, byte [rdx]
mov byte [rsp + 0x38], 0
mov rbx, rdx
cmp al, 0x2d
je 0x3bea5da28
cmp al, 0x69
je 0x3bea5e3d7
sub eax, 0x49
cmp al, 0x25
ja 0x3bea5d97b
movabs rdx, 0x2000000021
bt rdx, rax
jb 0x3bea5e3d7
cmp r8, rbx
je 0x3bea5d919
xor r15d, r15d
jmp 0x3bea5d99b
add rbx, 1
mov r15d, 1
cmp r8, rbx
je 0x3bea5e4b0
cmp byte [rbx], 0x30
je 0x3bea5d988
cmp r8, rbx
je 0x3bea5e810
xor r12d, r12d
xor r13d, r13d
xor esi, esi
mov ecx, 0x17
xor ebp, ebp
xor r11d, r11d
lea r14, [0x3beabfaa0]
jmp 0x3bea5da09
movzx eax, r9b
movzx eax, byte [r14 + rax]
mov edx, eax
cmp eax, 0xf
jg 0x3bea5db70
test r11b, r11b
jne 0x3bea5da48
lea r9d, [rbp + 4]
test esi, esi
cmovne ebp, r9d
test ecx, ecx
js 0x3bea5da60
shl eax, cl
or esi, eax
sub ecx, 4
mov r15d, 1
add rbx, 1
cmp r8, rbx
je 0x3bea5d910
movzx r9d, byte [rbx]
mov edx, r11d
cmp r9b, 0x2e
sete al
xor edx, 1
and al, dl
je 0x3bea5d9c8
mov r11d, eax
jmp 0x3bea5d9fc
lea rbx, [rdx + 1]
cmp r8, rbx
je 0x3bea5d919
mov byte [rsp + 0x38], 1
movzx eax, byte [rdx + 1]
jmp 0x3bea5d958
test esi, esi
jne 0x3bea5d9eb
sub ebp, 4
mov r15d, r11d
test eax, eax
je 0x3bea5d9fc
test ecx, ecx
jns 0x3bea5d9ef
nop word [rax + rax]
cmp ecx, 0xfffffffc
jl 0x3bea5da78
sar eax, 1
and edx, 1
or esi, eax
mov r13d, edx
jmp 0x3bea5d9f3
test eax, eax
setne al
or r12d, eax
jmp 0x3bea5d9f3
lea rcx, [rdx + 1]
cmp r8, rcx
je 0x3bea5daa9
movzx eax, byte [rdx + 1]
lea edx, [rax - 0x30]
cmp dl, 9
jbe 0x3bea5d5bf
cmp al, 0x2e
je 0x3bea5d5bf
mov dword [rdi + 8], 0
mov qword [rdi], r10
mov r10, rcx
mov r9d, 1
jmp 0x3bea5d6b4
test byte [rsp + 0x130], 1
je 0x3bea5dc4e
cmp r8, rsi
je 0x3bea5dc40
movzx edx, byte [rsi]
and edx, 0xffffffdf
cmp dl, 0x45
jne 0x3bea5dc40
lea r12, [rsi + 1]
cmp r8, r12
je 0x3bea5dc40
movzx edx, byte [rsi + 1]
cmp dl, 0x2d
je 0x3bea5e6a1
xor r13d, r13d
cmp dl, 0x2b
je 0x3bea5e6bd
sub edx, 0x30
cmp dl, 9
ja 0x3bea5dc40
xor ebp, ebp
jmp 0x3bea5db46
cmp rbp, 0xfffffff
jg 0x3bea5db3d
lea r10, [rbp + rbp*4]
movzx edx, dl
lea rbp, [rdx + r10*2]
add r12, 1
cmp r8, r12
je 0x3bea5db53
movzx esi, byte [r12]
lea edx, [rsi - 0x30]
cmp dl, 9
jbe 0x3bea5db28
mov rdx, rbp
mov rsi, r12
neg rdx
test r13b, r13b
cmovne rbp, rdx
add r11, rbp
jmp 0x3bea5dc50
test r15b, r15b
je 0x3bea5d919
mov dword [rsp + 0x80], 0
cmp r8, rbx
je 0x3bea5db97
and r9d, 0xffffffdf
cmp r9b, 0x50
je 0x3bea5e150
add ebp, 0x7f
test esi, esi
je 0x3bea5dbf0
mov eax, esi
shr eax, 0x17
je 0x3bea5e317
bsr eax, eax
mov ecx, 0x1e
xor eax, 0x1f
sub eax, 1
sub ecx, eax
mov edx, ecx
je 0x3bea5dbf0
mov ecx, 0x1d
sub ecx, eax
mov rax, 0xffffffffffffffff
mov r8d, esi
shl rax, cl
not rax
test rax, r8
setne al
or r12d, r13d
or r12d, eax
bt r8, rcx
mov ecx, edx
setb r13b
shr esi, cl
add ebp, edx
nop
test ebp, ebp
jle 0x3bea5e488
test r13b, r13b
je 0x3bea5e1b8
test r12b, r12b
je 0x3bea5e2cb
add esi, 1
cmp esi, 0x800000
je 0x3bea5dc23
test esi, 0x1000000
je 0x3bea5e1c0
shr esi, 1
add ebp, 1
jmp 0x3bea5e1c0
mov dword [rdi + 8], 0x16
jmp 0x3bea5d923
test byte [rsp + 0x130], 2
je 0x3bea5d69d
xor ebp, ebp
mov qword [rsp + 0x90], rsi
mov byte [rsp + 0x99], 1
cmp r9, 0x13
jle 0x3bea5dd9a
mov rdx, rcx
cmp r8, rcx
jne 0x3bea5dd77
mov byte [rsp + 0x9a], 1
cmp rcx, rax
je 0x3bea5e59c
movabs r9, 0xde0b6b3a763ffff
xor ebx, ebx
jmp 0x3bea5dc9c
test dl, dl
je 0x3bea5dcbc
movsx edx, byte [rcx]
lea r8, [rbx + rbx*4]
add rcx, 1
sub edx, 0x30
movsxd rdx, edx
lea rbx, [rdx + r8*2]
cmp r9, rbx
setae dl
cmp rcx, rax
jne 0x3bea5dc98
movabs r8, 0xde0b6b3a763ffff
cmp r8, rbx
jae 0x3bea5e5a3
sub rax, rcx
mov qword [rsp + 0x88], rbx
mov r11, rax
add r11, rbp
lea rax, [r11 + 0xa]
mov qword [rsp + 0x80], r11
cmp rax, 0x14
jbe 0x3bea5ddc5
nop word cs:[rax + rax]
cmp r11, 0xffffffffffffffbf
setl al
mov edx, eax
test rbx, rbx
je 0x3bea5ded0
test al, al
jne 0x3bea5ded0
cmp r11, 0x26
jle 0x3bea5ddc5
cmp byte [rsp + 0x9a], 0
je 0x3bea5dee3
cmp rbx, 0xffffffffffffffff
jne 0x3bea5e7e0
lea ebp, [r11 + 0x156]
lea r10, [0x3bea8e1e0]
lea r14d, [rbp + rbp]
mov rbx, 0xffffffffffffffff
movsxd rax, r14d
mov rbp, qword [r10 + rax*8]
jmp 0x3bea5df3a
cmp r10b, 0x2e
jne 0x3bea5dd90
add rdx, 1
cmp r8, rdx
je 0x3bea5dd90
movzx r10d, byte [rdx]
cmp r10b, 0x30
jne 0x3bea5dd68
sub r9, 1
jmp 0x3bea5dd6e
cmp r9, 0x13
jg 0x3bea5dc76
lea rax, [r11 + 0xa]
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x88], rbx
cmp rax, 0x14
ja 0x3bea5dd00
cmp rbx, 0x1000000
jbe 0x3bea5e008
bsr r9, rbx
mov r13, rbx
lea ebp, [r11 + 0x156]
xor r9, 0x3f
lea r10, [0x3bea8e1e0]
mov ecx, r9d
shl r13, cl
lea ecx, [rbp + rbp]
movsxd r8, ecx
mov rax, r13
mul qword [r10 + r8*8]
mov r12, rax
mov r8, rdx
movabs rax, 0x3fffffffff
and rdx, rax
cmp rdx, rax
je 0x3bea5e2f8
cmp r12, 0xffffffffffffffff
je 0x3bea5e33a
imul r13d, r11d, 0x3526a
mov rax, r8
mov rdx, r8
shr rax, 0x3f
lea ecx, [rax + 0x26]
sar r13d, 0x10
shr rdx, cl
lea eax, [r13 + rax + 0x3f]
sub eax, r9d
lea r9d, [rax + 0x7f]
test r9d, r9d
jle 0x3bea5e4f1
cmp r12, 1
ja 0x3bea5de79
lea r12, [r11 + 0x11]
cmp r12, 0x1b
ja 0x3bea5de79
mov r12, rdx
and r12d, 3
cmp r12, 1
jne 0x3bea5de79
mov r12, rdx
shl r12, cl
mov rcx, rdx
and rcx, 0xfffffffffffffffe
cmp r12, r8
cmove rdx, rcx
add rdx, 1
mov r8, rdx
shr r8, 1
cmp rdx, 0x1ffffff
ja 0x3bea5e61f
movzx eax, byte [rsp + 0x9a]
cmp r9d, 0xfe
jg 0x3bea5e609
and r8, 0xffffffffff7fffff
test al, al
je 0x3bea5e767
mov rax, rbx
add rax, 1
je 0x3bea5dd4a
jmp 0x3bea5e038
cmp byte [rsp + 0x9a], 0
jne 0x3bea5df00
test rbx, rbx
je 0x3bea5dfd8
mov qword [rdi], rsi
mov dword [rdi + 8], 0x22
jmp 0x3bea5d923
test r12b, r12b
je 0x3bea5dee3
xor edx, edx
nop dword [rax]
lea rax, [rbx + 1]
cmp rbx, 0xffffffffffffffff
je 0x3bea5e326
test dl, dl
jne 0x3bea5e326
cmp r11, 0x26
jle 0x3bea5e7f7
lea ebp, [r11 + 0x156]
lea r10, [0x3bea8e1e0]
lea r14d, [rbp + rbp]
movsxd rax, r14d
mov rbp, qword [r10 + rax*8]
bsr r9, rbx
mov rax, rbx
xor r9, 0x3f
mov ecx, r9d
shl rax, cl
mov rcx, rax
mov rax, rbp
mul rcx
mov r12, rax
mov r8, rdx
movabs rax, 0x3fffffffff
and rdx, rax
cmp rdx, rax
jne 0x3bea5df84
lea eax, [r14 + 1]
movsxd r14, eax
mov rax, rcx
mul qword [r10 + r14*8]
mov rax, rdx
add rax, r12
adc r8, 0
imul eax, r11d, 0x3526a
mov rcx, r8
shr rcx, 0x3f
xor ecx, 1
sar eax, 0x10
shl r8, cl
add eax, 0xd5
sub eax, ecx
sub eax, r9d
sub eax, 0x803e
js 0x3bea5e371
test rbx, rbx
je 0x3bea5e3a8
test r8, r8
jne 0x3bea5e3a8
test eax, eax
je 0x3bea5dee3
cdqe
shl rax, 0x17
mov rbx, rax
nop dword [rax + rax]
mov rax, rbx
bts rbx, 0x1f
cmp r15b, 0x2d
mov qword [rdi], rsi
cmovne rbx, rax
mov rax, qword [rsp + 0x128]
mov dword [rax], ebx
mov dword [rdi + 8], 0
jmp 0x3bea5d923
cmp byte [rsp + 0x9a], 0
je 0x3bea5e200
test rbx, rbx
jne 0x3bea5ddc5
xor r8d, r8d
mov eax, 1
xor r9d, r9d
lea ebp, [r11 + 0x156]
lea r10, [0x3bea8e1e0]
bsr rdx, rax
lea r14d, [rbp + rbp]
xor rdx, 0x3f
mov ecx, edx
mov qword [rsp + 0x38], rdx
shl rax, cl
mov rcx, rax
movsxd rax, r14d
mov rbp, qword [r10 + rax*8]
mov rax, rcx
mul rbp
mov r13, rax
mov r12, rdx
movabs rax, 0x3fffffffff
and rdx, rax
cmp rdx, rax
je 0x3bea5e730
cmp r13, 0xffffffffffffffff
je 0x3bea5e6f2
imul r10d, r11d, 0x3526a
mov rdx, r12
mov rax, r12
shr rdx, 0x3f
lea ecx, [rdx + 0x26]
sar r10d, 0x10
shr rax, cl
lea r10d, [r10 + rdx + 0x3f]
mov edx, dword [rsp + 0x38]
sub r10d, edx
lea edx, [r10 + 0x7f]
test edx, edx
jle 0x3bea5e6c3
cmp r13, 1
ja 0x3bea5e0d8
lea rbp, [r11 + 0x11]
cmp rbp, 0x1b
ja 0x3bea5e0d8
mov rbp, rax
and ebp, 3
cmp rbp, 1
je 0x3bea5e7c8
lea rcx, [rax + 1]
mov rax, rcx
shr rax, 1
and rax, 0xffffffffff7fffff
cmp rcx, 0x1ffffff
jbe 0x3bea5e0fa
lea edx, [r10 + 0x80]
xor eax, eax
cmp edx, 0xfe
jle 0x3bea5e109
mov edx, 0xff
xor eax, eax
cmp edx, r9d
jne 0x3bea5df20
cmp rax, r8
jne 0x3bea5df20
nop dword [rax + rax]
test rbx, rbx
jne 0x3bea5e3c0
cmp r9d, 0xff
je 0x3bea5dee3
movsxd r9, r9d
shl r9, 0x17
mov rbx, r9
or rbx, r8
jmp 0x3bea5dfd8
lea r14, [rbx + 1]
cmp r8, r14
je 0x3bea5e163
cmp byte [rbx + 1], 0x2b
jne 0x3bea5e163
lea r14, [rbx + 2]
mov dword [rsp + 0x20], 0xa
mov rdx, r14
lea rcx, [rsp + 0x70]
lea r9, [rsp + 0x80]
call fcn.3bea5d050
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
cmp r14, rax
je 0x3bea5e1a3
test esi, esi
je 0x3bea5e550
mov rbx, rax
cmp edx, 0x22
je 0x3bea5e2e0
mov eax, dword [rsp + 0x80]
lea ebp, [rbp + rax + 0x7f]
jmp 0x3bea5db9a
test esi, esi
je 0x3bea5e4a3
cmp ebp, 0xfe
jg 0x3bea5e2e0
movzx eax, byte [rsp + 0x38]
and esi, 0x7fffff
shl eax, 8
or eax, ebp
shl eax, 0x17
or esi, eax
mov rax, qword [rsp + 0x128]
mov qword [rdi], rbx
mov dword [rax], esi
mov dword [rdi + 8], 0
jmp 0x3bea5d923
pxor xmm0, xmm0
cvtsi2ss xmm0, rbx
test r11, r11
js 0x3bea5e4bc
lea rax, [0x3bea90aa0]
mulss xmm0, dword [rax + r11*4]
cmp r15b, 0x2d
jne 0x3bea5e22c
xorps xmm0, xmmword [0x3bea8b830]
mov rax, qword [rsp + 0x128]
mov qword [rdi], rsi
movss dword [rax], xmm0
mov dword [rdi + 8], 0
jmp 0x3bea5d923
xor eax, 0x66
xor ebx, 0x6e
xor r11d, 0x69
or eax, ebx
or eax, r11d
and eax, 0xdf
jne 0x3bea5dc30
cmp rcx, 7
jle 0x3bea5e563
xor edx, edx
lea r8, [0x3bea8b7e0]
nop dword [rax]
movzx ecx, byte [r10 + rdx + 3]
xor cl, byte [r8 + rdx]
add rdx, 1
or eax, ecx
cmp rdx, 5
jne 0x3bea5e280
test al, 0xdf
jne 0x3bea5e563
add r10, 8
mov qword [rdi], r10
movss xmm0, dword [0x3bea8b82c]
test r9b, r9b
je 0x3bea5e2ba
movss xmm0, dword [0x3bea8b828]
mov rax, qword [rsp + 0x128]
movss dword [rax], xmm0
jmp 0x3bea5d923
test sil, 1
jne 0x3bea5dc0a
test esi, esi
jne 0x3bea5e1c0
nop dword [rax]
mov qword [rdi], rbx
mov dword [rdi + 8], 0x22
jmp 0x3bea5d923
add r10, 1
jmp 0x3bea5dab6
lea eax, [rcx + 1]
movsxd rcx, eax
mov rax, r13
mul qword [r10 + rcx*8]
add r12, rdx
jae 0x3bea5de0e
add r8, 1
jmp 0x3bea5de18
mov ecx, 0xfffffffe
mov edx, 0xffffffff
jmp 0x3bea5dbc4
test rbx, rbx
jne 0x3bea5dee3
xor r8d, r8d
xor r9d, r9d
jmp 0x3bea5e136
imul eax, r11d, 0x3526a
mov r12, r8
lea rdx, [r11 + 0x1b]
shr r12, 0x3f
sar eax, 0x10
cmp rdx, 0x52
jbe 0x3bea5e4d1
mov ecx, r12d
add eax, 0xd5
xor ecx, 1
sub eax, ecx
shl r8, cl
sub eax, r9d
sub eax, 0x803e
mov qword [rsp + 0x50], r8
mov eax, eax
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x58], rax
call fcn.3be977c20
mov r8, qword [rsp + 0x60]
mov r9d, dword [rsp + 0x68]
jmp 0x3bea5e120
cdqe
shl rax, 0x17
or rax, r8
mov rbx, rax
jmp 0x3bea5dfd8
test r8, r8
jne 0x3bea5e129
test r9d, r9d
jne 0x3bea5e129
jmp 0x3bea5dee3
mov rax, r8
sub rax, rbx
cmp rax, 2
jle 0x3bea5d97b
xor eax, eax
lea r11, [0x3bea8b7e6]
lea r9, [0x3beabf4e0]
nop word [rax + rax]
movzx ecx, byte [r11 + rax]
movzx edx, byte [rbx + rax]
cmp cl, dl
je 0x3bea5e417
cmp cl, byte [r9 + rdx]
jne 0x3bea5e647
add rax, 1
cmp rax, 3
jne 0x3bea5e400
lea rdx, [rbx + 3]
sub r8, rdx
cmp r8, 4
jle 0x3bea5e463
xor eax, eax
lea r8, [0x3bea8b7e0]
lea r9, [0x3beabf4e0]
nop
movzx r10d, byte [r8 + rax]
movzx ecx, byte [rbx + rax + 3]
cmp r10b, cl
je 0x3bea5e455
cmp r10b, byte [r9 + rcx]
jne 0x3bea5e463
add rax, 1
cmp rax, 5
jne 0x3bea5e440
lea rdx, [rbx + 8]
mov eax, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x128]
mov qword [rdi], rdx
shl eax, 0x1f
or eax, 0x7f800000
mov dword [rsi], eax
mov dword [rdi + 8], 0
jmp 0x3bea5d923
mov eax, 1
or r12d, r13d
sub eax, ebp
cmp eax, 0x18
jle 0x3bea5e56c
test esi, esi
setne al
or r12d, eax
test r12b, r12b
jne 0x3bea5e2e0
nop dword [rax]
mov esi, dword [rsp + 0x38]
shl esi, 0x1f
jmp 0x3bea5e1e1
neg r11
lea rax, [0x3bea90aa0]
divss xmm0, dword [rax + r11*4]
jmp 0x3bea5e21f
lea eax, [rax + r12 + 0x3f]
lea ecx, [r12 + 0x26]
mov rdx, r8
sub eax, r9d
shr rdx, cl
lea r9d, [rax + 0x7f]
test r9d, r9d
jg 0x3bea5de79
movzx r12d, byte [rsp + 0x9a]
mov ecx, 1
sub ecx, r9d
cmp ecx, 0x3f
jg 0x3bea5def2
shr rdx, cl
xor r9d, r9d
lea rax, [rdx + 1]
mov r8, rax
shr r8, 1
cmp rax, 0xffffff
seta r9b
test r12b, r12b
je 0x3bea5e759
mov rax, rbx
add rax, 1
jne 0x3bea5e038
or rbx, 0xffffffffffffffff
test r8, r8
jne 0x3bea5df2e
jmp 0x3bea5dee3
mov edx, dword [rsp + 0x80]
mov rbx, rax
lea ebp, [rbp + rdx + 0x7f]
jmp 0x3bea5dbf0
add r10, 3
jmp 0x3bea5e2a2
neg ebp
mov rdx, 0xffffffffffffffff
mov r8d, esi
mov ecx, ebp
shl rdx, cl
mov ecx, eax
not rdx
test rdx, r8
setne dl
or r12d, edx
bt r8, rbp
setb r13b
shr esi, cl
xor ebp, ebp
jmp 0x3bea5dbf8
mov edx, 1
xor ebx, ebx
mov r11, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xb8]
add r8, r11
cmp r11, r8
je 0x3bea5e7c0
test dl, dl
je 0x3bea5e7c0
movabs r9, 0xde0b6b3a763ffff
mov rdx, r11
jmp 0x3bea5e5e5
cmp r8, rdx
je 0x3bea5e5fe
movsx eax, byte [rdx]
lea rcx, [rbx + rbx*4]
add rdx, 1
sub eax, 0x30
cdqe
lea rbx, [rax + rcx*2]
cmp r9, rbx
jae 0x3bea5e5e0
sub r11, rdx
add r11, rbp
jmp 0x3bea5dd9a
test al, al
je 0x3bea5dee3
xor r8d, r8d
mov r9d, 0xff
jmp 0x3bea5deb4
lea r9d, [rax + 0x80]
movzx eax, byte [rsp + 0x9a]
cmp r9d, 0xfe
jg 0x3bea5e609
test al, al
je 0x3bea5e770
xor r8d, r8d
jmp 0x3bea5deb4
xor eax, eax
lea r11, [0x3bea8b7ea]
movzx ecx, byte [r11 + rax]
movzx edx, byte [rbx + rax]
cmp cl, dl
je 0x3bea5e667
cmp cl, byte [r9 + rdx]
jne 0x3bea5d97b
add rax, 1
cmp rax, 3
jne 0x3bea5e650
lea rax, [rbx + 3]
cmp r8, rax
je 0x3bea5e684
cmp byte [rbx + 3], 0x28
je 0x3bea5e781
mov rsi, qword [rsp + 0x128]
mov qword [rdi], rax
mov dword [rsi], 0x7fc00001
mov dword [rdi + 8], 0
jmp 0x3bea5d923
lea r12, [rsi + 2]
mov r13d, 1
cmp r8, r12
je 0x3bea5dc40
movzx edx, byte [rsi + 2]
jmp 0x3bea5db14
lea r12, [rsi + 2]
jmp 0x3bea5e6ab
mov ecx, 1
sub ecx, edx
cmp ecx, 0x3f
jg 0x3bea5e778
shr rax, cl
lea rdx, [rax + 1]
mov rax, rdx
shr rax, 1
cmp rdx, 0xffffff
seta dl
movzx edx, dl
jmp 0x3bea5e109
lea rax, [r11 + 0x1b]
cmp rax, 0x52
ja 0x3bea5df3a
imul edx, r11d, 0x3526a
mov r10, r12
mov rax, r12
shr r10, 0x3f
lea ecx, [r10 + 0x26]
sar edx, 0x10
shr rax, cl
mov ecx, dword [rsp + 0x38]
lea r10d, [rdx + r10 + 0x3f]
sub r10d, ecx
lea edx, [r10 + 0x7f]
jmp 0x3bea5e0d8
lea eax, [r14 + 1]
cdqe
mov qword [rsp + 0x40], rax
mov rax, rcx
mov rcx, qword [rsp + 0x40]
mul qword [r10 + rcx*8]
add r13, rdx
jae 0x3bea5e07b
add r12, 1
jmp 0x3bea5e085
test r8, r8
jne 0x3bea5e136
jmp 0x3bea5dee3
test r8, r8
jne 0x3bea5e136
xor r8d, r8d
jmp 0x3bea5e136
xor edx, edx
xor eax, eax
jmp 0x3bea5e109
add rbx, 4
lea rcx, [0x3beabfaa0]
cmp r8, rbx
je 0x3bea5e684
movzx edx, byte [rbx]
cmp dl, 0x29
je 0x3bea5e7ee
cmp dl, 0x5f
je 0x3bea5e7ac
cmp byte [rcx + rdx], 0x7e
ja 0x3bea5e684
add rbx, 1
cmp r8, rbx
jne 0x3bea5e795
jmp 0x3bea5e684
mov r11, rbp
jmp 0x3bea5dd9a
mov r14, rax
shl r14, cl
cmp r14, r12
jne 0x3bea5e0d8
and rax, 0xfffffffffffffffe
jmp 0x3bea5e0d8
xor r8d, r8d
mov r9d, 0xff
jmp 0x3bea5e102
lea rax, [rbx + 1]
jmp 0x3bea5e684
xor r8d, r8d
xor r9d, r9d
lea ebp, [r11 + 0x156]
lea r10, [0x3bea8e1e0]
jmp 0x3bea5e038
test r15b, r15b
jne 0x3bea5e4b0
jmp 0x3bea5d919