Function at 0x2013ec50
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x70], xmm6
mov qword [rbp + 0x68], 0xfffffffffffffffe
cmp qword [rdx + 0x38], 0
je 0x2013edf7
mov rdi, rdx
mov r12, rcx
lea rsi, [rbp + 0x28]
nop dword [rax]
mov eax, dword [0x205b3aac]
cmp eax, 0x4c
jle 0x2013ecc7
mov rdx, qword [rdi + 0x50]
mov dword [rsp + 0x20], 0x2dffcbf2
mov rcx, rsi
mov r8d, 0x46318917
mov r9d, 0x40f94591
call fcn.201499f0
cmp dword [0x2054bce0], 0xdbd7c536
jne 0x2013ec90
mov rsi, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x50]
mov dword [rsp + 0x20], 0x2dffcbf2
lea rdi, [rbp + 0x28]
mov rcx, rdi
mov r8d, 0x46318917
mov r9d, 0x40f94591
call fcn.201499f0
lea rcx, [rbp - 0x50]
mov rdx, rdi
call fcn.2024cfa0
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x2013eda0
mov rcx, qword [rbp + 0x30]
mov rdx, qword [0x2054bce8]
movabs r8, 0x8dde43ff0feb2edb
add rdx, r8
xor rdx, rax
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
cmp rdx, 0x1000
jb 0x2013ed9b
mov edx, dword [0x205b3aa8]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, 0x24283aca
add edx, dword [0x2054bce0]
cmp r8d, edx
nop dword [rax + rax]
cmp dword [0x2054bce0], 0xdbd7c536
jne 0x2013ed60
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
movabs rdx, 0x8dde43ff0feb2efa
add rdx, qword [0x2054bce8]
cmp rcx, rdx
jae 0x2013eec6
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.2008bfb0
mov eax, dword [0x205b3aa8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
nop
mov eax, dword [0x205b3aac]
cmp eax, 0x50
jg 0x2013edb0
lea rcx, [rbp - 0x50]
lea rdx, [rbp - 0x18]
mov r8b, 1
call fcn.2024efb0
mov qword [rbp + 0x50], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov rsi, qword [rbp]
movabs rax, 0x8dde43ff0feb2ee9
add rax, qword [0x2054bce8]
cmp qword [rbp + 8], rax
jbe 0x2013ee14
mov r14, qword [rbp - 0x10]
jmp 0x2013ee18
mov dil, 1
mov eax, edi
movaps xmm6, xmmword [rbp + 0x70]
add rsp, 0x108
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r14, [rbp - 0x10]
lea rax, [rbp + 0x30]
cmp rsi, 0xf
ja 0x2013ee33
movups xmm0, xmmword [r14]
movups xmmword [rax], xmm0
mov edi, 0xf
jmp 0x2013eecb
mov rdi, rsi
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmovae rdi, rax
movabs rax, 0x8dde43ff0feb3ed8
add rax, qword [0x2054bce8]
cmp rdi, rax
jbe 0x2013ee9f
lea rcx, [rdi + 0x28]
call fcn.2042789c
mov rcx, rax
movabs rdx, 0x8dde43ff0feb2ed9
add rdx, qword [0x2054bce8]
add rcx, 0x27
mov r15d, ecx
xor r15d, edx
xor rcx, 0xffffffffffffffe0
and r15d, 0x1f
or r15, rcx
xor r15, rdx
mov qword [r15 - 8], rax
jmp 0x2013ef83
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x24283aca
add eax, dword [0x2054bce0]
cmp ecx, eax
jne 0x2013ef60
jmp 0x2013ef4b
call fcn.20407a4c
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x48], rdi
lea rax, [0x2046c448]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x2013f049
mov r14, qword [rbp - 0x10]
lea r15, [rax + 1]
cmp r15, 0x1000
jb 0x2013ef2c
mov rcx, qword [r14 - 8]
add r14, 0xfffffffffffffff8
sub r14, rcx
add r14, qword [0x2054bce8]
movabs rdx, 0x8dde43ff0feb2eda
add rdx, r14
cmp rdx, 0x20
jae 0x2013ef46
add rax, 0x28
mov r15, rax
mov r14, rcx
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x2013f018
jmp 0x2013effc
call fcn.20407a4c
mov rcx, qword [0x2054bce8]
add rcx, rdi
mov eax, dword [0x205b3aac]
cmp eax, 0x13
jl 0x2013ef6e
cmp dword [0x2054bce0], 0xdbd7c536
jne 0x2013ef60
jmp 0x2013ef4b
movabs rax, 0x8dde43ff0feb2edb
add rcx, rax
call fcn.2042789c
mov r15, rax
mov eax, dword [0x205b3aa8]
mov ecx, dword [0x2054bce0]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x2013efc1
jmp 0x2013ef9f
mov qword [rbp + 0x30], r15
lea r8, [rsi + 1]
mov rcx, r15
mov rdx, r14
call fcn.2044f800
mov eax, dword [0x205b3aac]
cmp eax, 0x2e
jl 0x2013eecb
mov ebx, 0x24283aca
nop word cs:[rax + rax]
mov qword [rbp + 0x30], r15
mov rcx, r15
mov rdx, r14
call fcn.2044f800
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x2054bce0]
add eax, ebx
cmp ecx, eax
jne 0x2013efd0
jmp 0x2013ef9f
mov rcx, r14
mov rdx, r15
call fcn.2008bfb0
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x2013f049
mov esi, 0x24283acc
nop dword [rax]
mov rcx, r14
mov rdx, r15
call fcn.2008bfb0
mov ecx, dword [0x205b3aa8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x2054bce0]
add ecx, esi
xor edx, edx
div ecx
test edx, edx
jne 0x2013f020
jmp 0x2013effc
mov eax, dword [r12 + 0x160]
and eax, 0x40
mov ecx, 0x24283aca
add ecx, dword [0x2054bce0]
cmp eax, ecx
je 0x2013fb21
mov qword [rbp + 0x10], r12
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x28], 0
movabs rcx, 0x8dde43ff0feb2eda
mov rax, qword [0x2054bce8]
add rax, rcx
mov qword [rbp - 0x20], rax
mov rax, qword [0x2054ae50]
movsxd r13, dword [rax]
add r13, rax
add r13, qword [0x2054bce8]
mov r14d, dword [0x20470b1c]
lea rdx, [rbp - 0x18]
lea r8, [rbp - 0x28]
lea r9, [rbp - 0x20]
mov rcx, qword [rbp + 0x50]
call fcn.203934e0
mov dword [rbp + 0x58], eax
cmp dword [rbp + 0x58], 7
jne 0x2013f396
mov rax, qword [0x205b38f0]
test rax, rax
je 0x2013f2b9
mov rsi, qword [rax + 0x20]
mov r12, qword [rsi]
cmp r12, rsi
je 0x2013f2b9
mov r15d, 1
mov edi, 0x24283aca
mov ebx, 0x24283b1a
mov eax, dword [0x205b3aac]
cmp eax, 0x62
jg 0x2013f150
nop dword [rax + rax]
mov dword [r12 + 0x30], 0
mov eax, dword [0x2054bce0]
add eax, edi
mov dword [r12 + 0x28], eax
mov r8, qword [r12 + 0x58]
mov rax, qword [0x2054bce8]
movabs rcx, 0x8dde43ff0feb2eda
add rax, rcx
mov ecx, dword [0x205b3aa8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x2013f180
mov eax, dword [0x2054bce0]
add eax, edi
mov dword [r12 + 0x30], eax
mov dword [r12 + 0x28], 0
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x2013f150
jmp 0x2013f110
cmp r8, rax
je 0x2013f192
mov rcx, qword [r12 + 0x50]
mov edx, r15d
call fcn.2044feb0
mov r8, qword [r12 + 0x98]
test r8, r8
je 0x2013f1af
mov rcx, qword [r12 + 0x90]
mov edx, r15d
call fcn.2044feb0
mov ecx, dword [0x2054bce0]
mov eax, ecx
xor eax, 0x24283acb
mov edx, ecx
and edx, 0x24283acb
lea eax, [rax + rdx*2]
xor eax, r15d
lea edx, [rcx + 0x24283acb]
and edx, r15d
add ecx, 0x24283acc
imul ecx, edx
mov r8, qword [r12 + 0x10]
cmp byte [r8 + 0x19], 0
je 0x2013f240
mov rdx, qword [r12 + 8]
cmp byte [rdx + 0x19], 0
jne 0x2013f260
nop word cs:[rax + rax]
mov r8, r12
mov r12, rdx
cmp r8, qword [rdx + 0x10]
jne 0x2013f256
mov edx, dword [0x205b3aac]
cmp edx, 0x47
cmp dword [0x2054bce0], 0xdbd7c536
jne 0x2013f215
mov rdx, qword [r12 + 8]
movzx r8d, byte [0x2054bcf0]
add r8b, 0xf8
cmp byte [rdx + 0x19], r8b
je 0x2013f200
jmp 0x2013f260
mov rdx, r8
mov r8, qword [r8]
movzx r9d, byte [0x205b3ac0]
add r9b, byte [r8 + 0x19]
je 0x2013f240
jmp 0x2013f260
mov rdx, r12
nop dword [rax]
add eax, ecx
mov ecx, dword [0x205b3aa8]
mov r8d, dword [0x2054bce0]
lea r9d, [r8 + rcx]
dec r9d
imul r9d, ecx
and r9d, 1
mov ecx, r8d
xor ecx, 0x24283aca
and r8d, 0x24283aca
lea ecx, [rcx + r8*2]
cmp r9d, ecx
mov ecx, dword [0x205b3aac]
mov r8d, dword [0x2054bce0]
add r8d, ebx
cmp ecx, r8d
jge 0x2013f295
mov r15d, eax
mov r12, rdx
cmp rdx, rsi
jne 0x2013f100
movaps xmm6, xmmword [0x2046bf90]
movups xmmword [0x205a6f2f], xmm6
movups xmmword [0x205a6f1f], xmm6
movups xmmword [0x205a6f0f], xmm6
movups xmmword [0x205a6eff], xmm6
cmp qword [0x205b39c8], 0
jne 0x2013f318
mov ecx, 0x700
call fcn.2042789c
mov edx, dword [0x205b3aa8]
lea ecx, [rdx - 1]
imul ecx, edx
test cl, 1
jne 0x2013f2f0
mov rcx, rax
mov qword [rbp + 0x60], rax
call fcn.20079790
mov rax, qword [rbp + 0x60]
mov qword [0x205b39c8], rax
mov rsi, qword [0x205b39c8]
mov r15, qword [rsi + 0x3b0]
test r15, r15
je 0x2013f39f
mov rcx, r15
call fcn.2007bd10
mov rcx, r15
call fcn.2008bfc0
cmp qword [0x205b39c8], 0
mov qword [rsi + 0x3b0], 0
jne 0x2013f3aa
mov ecx, 0x700
call fcn.2042789c
nop word [rax + rax]
mov ecx, dword [0x205b3aac]
cmp ecx, 0x17
jg 0x2013f360
mov qword [rbp + 0x60], rax
mov rcx, rax
call fcn.20079790
mov eax, dword [0x205b3aac]
cmp eax, 0x5d
mov rax, qword [rbp + 0x60]
jle 0x2013f38d
mov qword [0x205b39c8], rax
mov qword [0x205b39c8], rax
jmp 0x2013f3aa
mov r12, qword [rbp + 0x10]
jmp 0x2013fb21
mov qword [rsi + 0x3b0], 0
mov rax, qword [0x205b39c8]
mov r8, qword [rax + 0x560]
test r8, r8
je 0x2013f3cb
mov rcx, qword [rax + 0x558]
mov dl, 1
call fcn.2044feb0
movabs rax, 0x8dde43ff0feb2eda
add r13, rax
nop dword [rax + rax]
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x2013f403
mov rdx, qword [0x205b3c88]
mov eax, dword [0x205b3aac]
cmp eax, 0x33
jle 0x2013f473
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x2013f3e0
jmp 0x2013f3f1
mov r8d, dword [0x205b3ab0]
add r8d, dword [0x2054ae40]
lea ecx, [r8 + r8]
sub r8d, ecx
imul r8d, ecx
shl r8d, cl
mov eax, r8d
sub eax, ecx
lea ecx, [r8 + rax]
neg eax
imul eax, ecx
neg r8d
mov ecx, r8d
xor ecx, eax
and r8d, eax
lea r8d, [rcx + r8*2]
mov ecx, eax
shl r8d, cl
add r8d, eax
mov dword [0x2054ae40], r8d
mov eax, dword [0x205b3aac]
cmp eax, 0x4a
jl 0x2013f484
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x2013f420
mov eax, dword [0x2054ae40]
mov qword [rbp + 0x18], rax
inc eax
mov dword [0x2054ae40], eax
mov ecx, 0x24283ac9
add ecx, dword [0x2054bce0]
mov r8d, ecx
xor r8d, ecx
not r8d
and r8d, eax
xor r8d, ecx
mov r9d, r8d
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x2013f4f4
nop word cs:[rax + rax]
mov eax, dword [0x205b3aac]
mov ecx, dword [0x2054bce0]
mov r8d, ecx
xor r8d, 0x24283aec
and ecx, 0x24283aec
lea ecx, [r8 + rcx*2]
cmp eax, ecx
jge 0x2013f4d0
mov rax, qword [rbp + 0x18]
xor r9d, eax
mov dword [rbp + 0x20], r9d
test r9d, eax
je 0x2013f508
xor edi, edi
jmp 0x2013f518
xor eax, eax
mov edi, 0
test r14d, r14d
jg 0x2013feeb
mov dword [rbp + 0x24], edi
test rdx, rdx
je 0x2013f53f
mov rax, qword [rdx]
mov rax, qword [rax]
mov rcx, rdx
mov edx, 1
call qword [case.0x2010e313.0]
mov qword [0x205b3c88], 0
cmp qword [0x205b39c8], 0
jne 0x2013f586
mov ecx, 0x700
call fcn.2042789c
mov dl, 1
nop word cs:[rax + rax]
mov ecx, dword [0x205b3aac]
cmp ecx, 0x2e
jle 0x2013f56f
test dl, dl
jmp 0x2013f560
mov rcx, rax
mov qword [rbp + 0x60], rax
call fcn.20079790
mov rax, qword [rbp + 0x60]
mov qword [0x205b39c8], rax
mov r15, qword [0x205b39c8]
mov rax, qword [r15 + 0x370]
mov rcx, qword [r15 + 0x378]
sub rcx, rax
shr rcx, 5
imul ecx, ecx, 0xcccccccd
test ecx, ecx
jle 0x2013f6a4
xor r14d, r14d
mov r12d, 0x24283b16
movabs rdi, 0x1641c3d64c1f916c
movabs r10, 0x9265e51240e1cfc0
movabs rbx, 0xe5369b1682e9cdae
mov r13b, 1
xor esi, esi
mov qword [rbp + 0x60], r15
jmp 0x2013f633
inc rsi
mov rax, qword [r15 + 0x370]
mov rcx, qword [r15 + 0x378]
sub rcx, rax
add rcx, r10
mov rdx, qword [0x2054bce8]
add rdx, rdi
mov r8, rcx
xor r8, rdx
and rdx, rcx
lea rcx, [r8 + rdx*2]
add rcx, rbx
shr rcx, 5
imul ecx, ecx, 0xcccccccd
movsxd rcx, ecx
cmp rsi, rcx
jge 0x2013f6a4
lea rcx, [rsi + rsi*4]
shl rcx, 5
cmp dword [rax + rcx + 0x88], 0
jne 0x2013f650
cmp qword [rax + rcx + 0x88], 0
je 0x2013f680
lea r8, [rax + rcx]
add r8, 0x80
mov edx, dword [rax + rcx + 0x24]
mov rcx, r15
mov r15, r10
call fcn.2033ad60
mov r10, r15
mov r15, qword [rbp + 0x60]
nop word cs:[rax + rax]
mov eax, dword [0x205b3aac]
mov ecx, dword [0x2054bce0]
add ecx, r12d
cmp eax, ecx
jl 0x2013f5f0
test r14b, r14b
test r13b, r13b
je 0x2013f680
jmp 0x2013f5f0
movzx ecx, byte [0x20470b58]
xor eax, eax
test al, al
mov r14, qword [rbp + 0x18]
mov edi, dword [rbp + 0x20]
mov r8d, 0x24283aca
mov r9b, 1
nop
cmp dword [0x2054bce0], 0xdbd7c536
jne 0x2013f750
test edi, r14d
setne r10b
mov eax, dword [0x205b3aac]
cmp eax, 0x1d
jge 0x2013f750
mov edx, dword [0x205b3aa8]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x2054bce0]
lea esi, [r11 + 0x24283acc]
xor edx, edx
div esi
add r11d, 0x24283aca
cmp edx, r11d
je 0x2013f766
nop dword [rax]
mov eax, dword [0x205b3aa8]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov eax, dword [0x2054bce0]
add eax, r8d
cmp edx, eax
mov eax, dword [0x205b3aa8]
mov edx, eax
not edx
imul edx, eax
test dl, 1
jne 0x2013f72a
test r9b, r9b
je 0x2013f710
jmp 0x2013f6c0
mov eax, dword [0x205b3aa8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x2013f750
jmp 0x2013f6d0
mov eax, dword [0x205b3aa8]
mov edx, dword [rbp + 0x24]
nop
mov eax, dword [0x205b3aac]
cmp eax, 0x2d
jg 0x2013f770
dec r10b
sub cl, dl
and cl, r10b
mov eax, dword [0x205b3aac]
movzx eax, cl
nop dword [rax]
mov rsi, qword [0x205b3ab8]
mov ecx, dword [0x205b3aa8]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
jne 0x2013f790
mov rdx, rsi
sub rdx, rax
imul rdx, rax
mov rdi, rsi
sub rdi, rdx
imul rdi, rdx
movabs r14, 0x827efd89cf1e8fa5
sub r14, rsi
movabs r13, 0x7d81027630e1705b
movabs r12, 0x7221bc00f014d126
jmp 0x2013f7ea
mov cl, 1
test cl, cl
jne 0x2013f9ea
mov ecx, dword [0x205b3aa8]
lea r8d, [rcx - 1]
imul r8d, ecx
test r8b, 1
je 0x2013f9ea
mov ecx, dword [0x205b3aac]
cmp ecx, 0x12
jg 0x2013f847
nop dword [rax]
mov r8, rsi
mov ecx, eax
shl r8, cl
mov rcx, rsi
sub rcx, r8
imul rcx, r8
mov r9, rcx
sub r9, r8
imul r9, r8
mov r8, r9
sub r8, rcx
add r8, r9
mov qword [0x205b3ab8], r8
mov ecx, dword [0x205b3aac]
cmp ecx, 0x58
jle 0x2013f7e0
mov r8, rdi
mov ecx, edx
shl r8, cl
mov r9, rdi
mov ecx, r8d
shl r9, cl
mov rcx, rdi
sub rcx, r9
imul rcx, r9
neg rcx
mov r8, rcx
xor r8, r9
and rcx, r9
lea r8, [r8 + rcx*2]
mov ecx, r9d
shl r8, cl
shl r8, cl
mov rcx, r14
xor rcx, r8
mov r9, r14
and r9, r8
lea r10, [rcx + r9*2]
add r10, r13
mov rcx, rsi
imul rcx, r10
sub r10, rsi
add r10, rcx
mov rcx, r10
sub rcx, r8
imul rcx, r8
sub rcx, r10
sub rcx, r10
sub r10, rcx
imul r10, rcx
shl r10, cl
mov r9, r10
sub r9, rcx
imul r9, rcx
mov ecx, r9d
shl r10, cl
mov r11, r9
sub r11, r10
mov r10, r11
shl r10, cl
mov rcx, r11
sub rcx, r10
imul r10, r11
imul r10, rcx
mov rcx, r10
sub rcx, r8
imul rcx, r8
mov r9, r10
sub r9, rcx
imul r9, rcx
shl r9, cl
sub ecx, r9d
mov r11d, r9d
sub r11d, ecx
imul r11d, ecx
mov ecx, r9d
sub ecx, r11d
add ecx, r9d
neg cl
mov r11, r9
shl r11, cl
mov rcx, r9
sub rcx, r11
imul rcx, r11
mov r11, r9
sub r11, rcx
imul r11, rcx
sub r9, r11
mov ecx, r8d
shl r9, cl
mov r11, r10
neg r11
imul r11, r10
mov rbx, r11
mov ecx, r10d
shl rbx, cl
sub r11, rbx
imul r11, rbx
sub r11, rbx
imul r11, rbx
sub r11, rbx
imul r11, rbx
mov r10, rbx
sub r10, r11
sub ebx, r10d
mov ecx, ebx
shl r10, cl
mov r11, r10
shl r11, cl
imul r9, r8
sub r10, r11
mov ecx, r10d
sub ecx, r9d
imul ecx, r9d
mov r8, r10
shl r8, cl
sub r10, r8
imul r10, r8
mov rcx, r10
sub rcx, r8
imul rcx, r8
shl r10, cl
mov r11, r10
sub r11, rcx
imul r11, rcx
neg r10
imul r10, r11
sub r10, qword [0x2054bce8]
add r11, r12
add r11, r10
mov ecx, r9d
shl r11, cl
shl r11, cl
shl r11, cl
mov r8, r11
shl r8, cl
mov r9, r11
mov ecx, r8d
shl r9, cl
sub r9, r11
sub r9, r11
imul r9, r11
add r9, r11
mov qword [0x205b3ab8], r9
jmp 0x2013f810
add rsi, rax
mov qword [0x205b3ab8], rsi
mov rax, qword [r15 + 0x390]
sub rax, qword [r15 + 0x398]
movabs rcx, 0x8cc4269ffbb8cf03
add rcx, rax
mov rax, rcx
xor rax, 0x44730fd
and ecx, 0x44730fd
lea rax, [rax + rcx*2]
mov rcx, qword [0x2054bce8]
sub rcx, rax
movabs rax, 0x8dde43ff0feb2eda
add rcx, rax
shr rcx, 2
test ecx, ecx
jle 0x2013fa78
xor r12d, r12d
nop word cs:[rax + rax]
mov rcx, r15
mov edx, r12d
xor r8d, r8d
call fcn.2033ad60
inc r12d
mov rax, qword [r15 + 0x398]
sub rax, qword [r15 + 0x390]
shr rax, 2
cmp r12d, eax
jl 0x2013fa50
cmp dword [rbp + 0x58], 7
mov r12, qword [rbp + 0x10]
jne 0x2013fb21
movups xmmword [0x205a6f2f], xmm6
movups xmmword [0x205a6f1f], xmm6
movups xmmword [0x205a6f0f], xmm6
movups xmmword [0x205a6eff], xmm6
mov rcx, qword [0x205b3c88]
test rcx, rcx
je 0x2013faca
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x2010e313.0]
mov qword [0x205b3c88], 0
cmp qword [0x205b39c8], 0
jne 0x20140211
mov ecx, 0x700
call fcn.2042789c
mov qword [rbp + 0x60], rax
mov rcx, rax
call fcn.20079790
mov eax, dword [0x2054bce0]
lea ecx, [rax + 0x24283acb]
lea rdx, [fcn.2013ec50]
add edx, edx
add edx, 0x3c0
and edx, ecx
add eax, 0x24283aca
cmp edx, eax
mov r9, qword [rbp + 0x60]
jne 0x201401e0
jmp 0x201401bf
mov rsi, r12
lea rcx, [r12 + 0x50]
cmp qword [rbp + 0x48], 0x10
lea rdx, [rbp + 0x30]
jb 0x2013fb38
mov rdx, qword [rbp + 0x30]
mov qword [rbp + 0x60], rcx
call fcn.200f3240
mov dil, 1
test al, al
je 0x201409d8
mov rcx, rsi
mov rdx, qword [rbp + 0x50]
call fcn.2013dec0
mov rbx, rax
mov r12, qword [rax + 8]
mov rcx, r12
call fcn.20241c60
movsxd rdi, dword [rax + 0x3c]
mov esi, dword [r12 + rdi]
mov r13, qword [rbx + 8]
mov rcx, r13
call fcn.20241c60
movsxd rax, dword [rax + 0x3c]
lea rcx, [rax + r13]
xor edx, edx
cmp dword [r13 + rax], 0x4550
cmove rdx, rcx
mov r14w, word [rdx + 0x18]
mov r13, qword [rbx + 8]
mov rcx, r13
call fcn.20241c60
add r12, rdi
xor ecx, ecx
cmp esi, 0x4550
cmovne r12, rcx
movzx edx, r14w
xor r8d, r8d
cmp edx, 0x20b
sete r8b
shl r8, 4
lea rdx, [r8 + r12]
add rdx, 0xf8
movsxd rax, dword [rax + 0x3c]
cmp dword [r13 + rax], 0x4550
lea rax, [r13 + rax]
cmovne rax, rcx
movzx eax, word [rax + 6]
shl rax, 3
lea rdi, [rax + rax*4]
mov qword [rbp + 0x58], rdx
mov r15d, dword [rdx + rdi]
mov r12, qword [rbx + 8]
mov rcx, r12
call fcn.20241c60
movsxd rsi, dword [rax + 0x3c]
mov r14d, dword [r12 + rsi]
mov r13, qword [rbx + 8]
mov rcx, r13
call fcn.20241c60
mov rcx, rax
add r12, rsi
xor r8d, r8d
mov r9d, 0x24283acc
nop dword [rax + rax]
mov eax, dword [0x205b3aac]
cmp eax, 0x48
jg 0x2013fc89
cmp r14d, 0x4550
mov eax, 0
cmove rax, r12
movsxd rdx, dword [rcx + 0x3c]
lea r10, [rdx + r13]
cmp dword [r13 + rdx], 0x4550
cmovne r10, r8
movzx edx, word [r10 + 0x18]
xor r10d, r10d
cmp edx, 0x20b
sete r10b
shl r10, 4
mov eax, dword [r10 + rax + 0x104]
mov edx, dword [0x205b3aac]
cmp edx, 0x2d
jle 0x2013fcaa
mov edx, dword [0x205b3aa8]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x2054bce0]
add r10d, r9d
xor edx, edx
div r10d
test edx, edx
jne 0x2013fc30
jmp 0x2013fc3b
cmp r15d, eax
jb 0x2013fdf0
mov rax, qword [rbp + 0x58]
mov r14d, dword [rax + rdi]
mov r12, qword [rbx + 8]
mov rcx, r12
call fcn.20241c60
movsxd rax, dword [rax + 0x3c]
lea rcx, [r12 + rax]
xor edx, edx
cmp dword [r12 + rax], 0x4550
cmove rdx, rcx
cmp r14d, dword [rdx + 0x50]
jae 0x2013fdf0
mov rax, qword [rbp + 0x58]
mov r12d, dword [rax + rdi]
mov rdx, qword [rbp + 0x50]
mov eax, dword [rdx + r12 - 0x40]
mov ecx, eax
not ecx
xor eax, 5
and ecx, 0xfffffffa
or ecx, eax
cmp ecx, 0xfffffffe
jne 0x2013fee3
add r12, rdx
mov eax, 0xffffe811
add eax, dword [r12 + 0xa8]
cmp eax, 0xffffec93
jb 0x201409d6
cmp qword [rbp + 0x48], 0x10
lea rdx, [rbp + 0x30]
jb 0x2013fd37
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x60]
mov r8, r12
call fcn.200f3430
mov r13, rax
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
nop word cs:[rax + rax]
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x2013fd60
test r13, r13
lea rdx, [rbp + 0x30]
je 0x201409d6
mov rax, qword [r12 + 0xa0]
mov rsi, qword [r12 + 0xac]
mov qword [rbx + 0x90], rax
cmp qword [rbp + 0x48], 0x10
jb 0x2013fda0
mov rdx, qword [rbp + 0x30]
lea rdi, [rbp - 0x18]
mov rcx, rdi
call fcn.20090990
sub rsi, qword [rbp + 0x50]
add rbx, 0x30
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rsi
mov rcx, qword [rbp + 0x60]
mov rdx, rbx
mov r8, r13
mov r9, r12
call fcn.200f3ba0
mov ebx, eax
lea rcx, [rbp - 0x18]
call fcn.20054340
test bl, bl
mov dil, 1
jne 0x201409d8
call fcn.20140f80
jmp 0x201409d6
movaps xmm0, xmmword [0x2046bf90]
movups xmmword [0x205a6f2f], xmm0
movups xmmword [0x205a6f1f], xmm0
movups xmmword [0x205a6f0f], xmm0
movups xmmword [0x205a6eff], xmm0
mov rcx, qword [0x205b3c88]
test rcx, rcx
je 0x2013fe3b
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x2010e313.0]
mov qword [0x205b3c88], 0
cmp qword [0x205b39c8], 0
jne 0x201400d0
mov ecx, 0x700
call fcn.2042789c
mov r9, rax
mov ecx, 0x24283acc
nop dword [rax + rax]
mov eax, dword [0x205b3aac]
cmp eax, 9
jg 0x2013fe8a
mov edx, dword [0x205b3aa8]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x2054bce0]
add r8d, ecx
xor edx, edx
div r8d
test edx, edx
je 0x2013feab
mov edx, dword [0x205b3aa8]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x2054bce0]
add r8d, ecx
xor edx, edx
div r8d
test edx, edx
jne 0x2013fe60
jmp 0x2013fe6b
mov qword [rbp + 0x60], r9
mov rcx, r9
call fcn.20079790
mov ecx, dword [0x205b3aa8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0x24283acc
add ecx, dword [0x2054bce0]
xor edx, edx
div ecx
test edx, edx
mov rdx, qword [rbp + 0x60]
jne 0x201400c7
jmp 0x201400a6
mov dil, 1
jmp 0x201409d8
mov ecx, 0x24283ae7
mov r8d, 0x24283b24
mov r9d, 0x24283aca
mov r10b, 1
xor r11d, r11d
jmp 0x2013ff42
mov r15d, esi
not r15b
mov r12d, esi
xor r12b, r11b
mov edi, r11d
not dil
and r12b, dil
xor r15b, r11b
and dil, sil
or dil, r15b
not dil
or dil, r12b
inc eax
mov r11d, edi
cmp eax, r14d
jge 0x2013f518
movsxd rbx, eax
add rbx, r13
mov esi, dword [0x205b3aa8]
mov r15d, dword [0x2054bce0]
neg r15d
add r15d, esi
inc r15d
imul r15d, esi
test r15b, 1
jne 0x2013ff90
nop dword [rax + rax]
mov esi, dword [0x205b3aa8]
mov r15d, dword [0x2054bce0]
neg r15d
add r15d, esi
inc r15d
imul r15d, esi
test r15b, 1
je 0x2013ffa0
mov esi, dword [0x205b3aac]
cmp esi, 0x27
jge 0x2013ff90
jmp 0x2013ff70
mov esi, dword [0x205b3aac]
cmp esi, 0x1c
jle 0x2013ffb8
nop dword [rax + rax]
movzx esi, byte [rbx]
test r10b, r10b
je 0x2013ffb0
mov esi, dword [0x205b3aac]
cmp esi, 0x38
jg 0x2013fff0
nop word cs:[rax + rax]
movzx esi, byte [rbx]
mov r15d, dword [0x205b3aa8]
lea r12d, [r15 - 1]
imul r12d, r15d
test r12b, 1
je 0x20140020
nop dword [rax + rax]
movzx esi, byte [rbx]
mov esi, dword [0x205b3aa8]
lea r15d, [rsi - 1]
imul r15d, esi
and r15d, 1
mov esi, dword [0x2054bce0]
add esi, r9d
cmp r15d, esi
jne 0x2013fff0
jmp 0x2013ffd0
mov ebx, dword [0x205b3aac]
nop word cs:[rax + rax]
mov ebx, dword [0x205b3aac]
mov r15d, dword [0x2054bce0]
add r15d, ecx
cmp ebx, r15d
jge 0x20140030
mov ebx, dword [0x205b3aa8]
lea r15d, [rbx - 1]
imul r15d, ebx
test r15b, 1
mov ebx, dword [0x205b3aac]
cmp ebx, 0x5b
jg 0x20140057
mov ebx, dword [0x205b3aac]
mov r15d, dword [0x2054bce0]
add r15d, r8d
cmp ebx, r15d
jge 0x20140090
nop word [rax + rax]
mov ebx, dword [0x205b3aac]
cmp ebx, 0x4e
jl 0x2013ff10
nop
mov ebx, dword [0x205b3aa8]
lea r15d, [rbx + 1]
imul r15d, ebx
test r15b, 1
jne 0x20140090
jmp 0x20140080
mov qword [0x205b39c8], rdx
mov eax, dword [0x205b3aa8]
mov ecx, dword [0x2054bce0]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
je 0x201400d0
mov qword [0x205b39c8], rdx
jmp 0x201400a6
mov rsi, qword [0x205b39c8]
lea rdi, [rsi + 0x558]
mov rcx, qword [rsi + 0x558]
test rcx, rcx
je 0x20140177
cmp dword [rsi + 0x574], 1
jne 0x2014010c
mov r8, qword [0x205b3ab8]
add r8, qword [rsi + 0x560]
xor edx, edx
call fcn.2044feb0
mov rcx, qword [rdi]
test rcx, rcx
je 0x2014012a
mov edx, 0xa7215413
mov r8d, 0x6328299b
mov r9d, 0x70b99e83
call fcn.2008bfb0
xorps xmm0, xmm0
mov rax, qword [0x205b39c8]
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
movzx ecx, byte [0x2054bcf0]
add cl, 0xf9
mov byte [rsi + 0x570], cl
test rax, rax
jne 0x2014018c
mov ecx, 0x700
call fcn.2042789c
mov qword [rbp + 0x60], rax
mov rcx, rax
call fcn.20079790
mov rax, qword [rbp + 0x60]
mov qword [0x205b39c8], rax
jmp 0x2014018c
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
mov ecx, dword [0x205b3aa8]
mov r8d, dword [0x2054bce0]
mov eax, ecx
sub eax, r8d
add eax, 0xdbd7c535
imul eax, ecx
add r8d, 0x24283acc
xor edx, edx
div r8d
test edx, edx
jne 0x20140678
jmp 0x2014064f
mov qword [0x205b39c8], r9
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x20140211
nop word [rax + rax]
mov qword [0x205b39c8], r9
mov ecx, dword [0x205b3aa8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x2054bce0]
lea r8d, [rcx + 0x24283acc]
xor edx, edx
div r8d
add ecx, 0x24283aca
cmp edx, ecx
jne 0x201401e0
jmp 0x201401bf
mov rsi, qword [0x205b39c8]
lea rdi, [rsi + 0x558]
mov rcx, qword [rsi + 0x558]
test rcx, rcx
je 0x201402ca
mov eax, 0x24283acb
add eax, dword [0x2054bce0]
cmp dword [rsi + 0x574], eax
jne 0x20140250
mov r8, qword [rsi + 0x560]
xor edx, edx
call fcn.2044feb0
mov rcx, qword [rdi]
test rcx, rcx
je 0x2014026e
mov edx, 0xa7215413
mov r8d, 0x6328299b
mov r9d, 0x70b99e83
call fcn.2008bfb0
cmp qword [0x205b39c8], 0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
jne 0x201402df
mov ecx, 0x700
call fcn.2042789c
mov ecx, dword [0x205b3aac]
cmp ecx, 0x5b
mov edx, dword [0x205b3aa8]
lea ecx, [rdx - 1]
imul ecx, edx
test cl, 1
jne 0x201402a0
mov rcx, rax
mov qword [rbp + 0x60], rax
call fcn.20079790
mov rax, qword [rbp + 0x60]
mov qword [0x205b39c8], rax
jmp 0x201402df
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
mov rsi, qword [0x205b39c8]
mov rax, qword [rsi + 0x370]
mov rcx, qword [rsi + 0x378]
sub rcx, rax
shr rcx, 5
imul ecx, ecx, 0xcccccccd
test ecx, ecx
jle 0x20140381
xor edi, edi
mov ebx, 0x24283aca
jmp 0x2014035b
lea r8, [rax + rcx]
add r8, 0x80
mov edx, dword [rax + rcx + 0x24]
mov rcx, rsi
call fcn.2033ad60
inc rdi
mov rax, qword [rsi + 0x370]
mov rcx, qword [rsi + 0x378]
sub rcx, rax
shr rcx, 5
imul edx, ecx, 0xcccccccd
shl rdx, 0x20
movzx ecx, byte [0x2054bce8]
add cl, 0xfa
sar rdx, cl
cmp rdi, rdx
jge 0x20140381
lea rcx, [rdi + rdi*4]
shl rcx, 5
mov edx, dword [0x2054bce0]
add edx, ebx
cmp dword [rax + rcx + 0x88], edx
jne 0x20140310
cmp qword [rax + rcx + 0x88], 0
je 0x20140327
jmp 0x20140310
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
mov ecx, dword [0x2054bce0]
mov edx, ecx
xor edx, 0x24283aca
not ecx
and ecx, 0x5bd7c535
or ecx, edx
not ecx
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jle 0x201403e5
xor edi, edi
nop word cs:[rax + rax]
mov rcx, rsi
mov edx, edi
xor r8d, r8d
call fcn.2033ad60
inc edi
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
cmp edi, eax
jl 0x201403c0
mov eax, dword [0x205b3aa8]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
mov eax, 0x24283aca
add eax, dword [0x2054bce0]
cmp ecx, eax
nop word cs:[rax + rax]
mov rax, qword [0x205b38f0]
mov ecx, dword [0x205b3aac]
mov edx, 0x24283adf
add edx, dword [0x2054bce0]
cmp ecx, edx
jge 0x20140410
test rax, rax
je 0x2014053d
mov rsi, qword [rax + 0x20]
mov r15, qword [rsi]
cmp r15, rsi
je 0x20140526
xor edi, edi
mov bl, 1
mov r14d, 0x24283b18
jmp 0x2014046c
mov rax, rcx
nop word cs:[rax + rax]
mov r15, rax
cmp rax, rsi
je 0x20140526
mov dword [r15 + 0x30], 0
mov dword [r15 + 0x28], 0
mov r8, qword [r15 + 0x58]
test r8, r8
je 0x20140490
mov rcx, qword [r15 + 0x50]
mov dl, 1
call fcn.2044feb0
mov r8, qword [r15 + 0x98]
test r8, r8
je 0x201404aa
mov rcx, qword [r15 + 0x90]
mov dl, 1
call fcn.2044feb0
mov rcx, qword [r15 + 0x10]
cmp byte [rcx + 0x19], 0
je 0x2014050d
mov rax, qword [r15 + 8]
cmp byte [rax + 0x19], 0
jne 0x20140460
nop
mov rcx, rax
mov eax, dword [0x205b3aac]
mov edx, dword [0x2054bce0]
add edx, r14d
cmp eax, edx
test dil, dil
jne 0x201404d4
cmp r15, qword [rcx + 0x10]
jne 0x20140451
mov rax, qword [rcx + 8]
movzx edx, byte [0x2054bcf0]
add dl, 0xf8
mov r15, rcx
cmp byte [rax + 0x19], dl
je 0x201404c0
jmp 0x20140460
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x20140460
mov rax, rcx
test dil, dil
je 0x20140500
nop word cs:[rax + rax]
test bl, bl
je 0x20140520
jmp 0x20140500
mov rax, qword [0x205b38f0]
mov rax, qword [rax + 0x30]
mov rcx, qword [rax]
cmp rcx, rax
jne 0x201405dc
cmp qword [0x205b39c8], 0
jne 0x201405ab
mov eax, dword [0x205b3aa8]
mov ecx, dword [0x2054bce0]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
nop
mov ecx, dword [0x205b3aa8]
mov r8d, dword [0x2054bce0]
mov eax, ecx
sub eax, r8d
add eax, 0xdbd7c535
imul eax, ecx
add r8d, 0x24283acc
xor edx, edx
div r8d
test edx, edx
jne 0x20140560
mov ecx, 0x700
call fcn.2042789c
mov qword [rbp + 0x60], rax
mov rcx, rax
call fcn.20079790
mov rax, qword [rbp + 0x60]
mov qword [0x205b39c8], rax
mov rdi, qword [0x205b39c8]
mov rsi, qword [rdi + 0x3b0]
jmp 0x201409b3
mov rdx, rcx
nop word cs:[rax + rax]
mov rcx, rdx
cmp rdx, rax
je 0x2014053d
mov dword [rcx + 0x20], 0xffffffff
mov r8, qword [rcx + 0x10]
cmp byte [r8 + 0x19], 0
je 0x20140640
mov rdx, qword [rcx + 8]
cmp byte [rdx + 0x19], 0
jne 0x201405d0
nop dword [rax + rax]
mov r8, rcx
mov rcx, rdx
cmp r8, qword [rdx + 0x10]
jne 0x201405be
mov rdx, qword [rcx + 8]
movzx r8d, byte [0x2054bcf0]
mov r9d, r8d
xor r9b, 0xf8
and r8b, 0x78
add r8b, r8b
add r8b, r9b
cmp byte [rdx + 0x19], r8b
je 0x20140600
jmp 0x201405d0
mov rdx, r8
mov r8, qword [r8]
cmp byte [r8 + 0x19], 0
je 0x20140640
jmp 0x201405d0
mov rsi, qword [0x205b39c8]
mov rax, qword [rsi + 0x370]
mov rcx, qword [rsi + 0x378]
mov edx, dword [0x205b3aa8]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x2014067e
xor eax, eax
test al, al
jmp 0x2014064f
sub rcx, rax
shr rcx, 5
imul ecx, ecx, 0xcccccccd
test ecx, ecx
jle 0x201406fc
xor edi, edi
jmp 0x201406dd
lea r8, [rax + rcx]
add r8, 0x80
mov edx, dword [rax + rcx + 0x24]
mov rcx, rsi
call fcn.2033ad60
inc rdi
mov rax, qword [rsi + 0x370]
mov rcx, qword [rsi + 0x378]
sub rcx, rax
shr rcx, 5
imul ecx, ecx, 0xcccccccd
movsxd rcx, ecx
cmp rdi, rcx
jge 0x201406fc
lea rcx, [rdi + rdi*4]
shl rcx, 5
cmp dword [rax + rcx + 0x88], 0
jne 0x201406a0
cmp qword [rax + rcx + 0x88], 0
je 0x201406b7
jmp 0x201406a0
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
test eax, eax
jle 0x20140757
xor edi, edi
nop word cs:[rax + rax]
mov rcx, rsi
mov edx, edi
xor r8d, r8d
call fcn.2033ad60
add edi, dword [0x2054bce0]
mov eax, dword [0x205b3ab4]
add edi, eax
add edi, 0x24283acb
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
cmp edi, eax
jl 0x20140720
mov rax, qword [0x205b38f0]
test rax, rax
je 0x2014093d
mov rdi, qword [rax + 0x20]
mov r14, qword [rdi]
cmp r14, rdi
je 0x20140891
movabs rbx, 0x8dde43ff0feb2eda
jmp 0x2014079c
mov r14, rax
cmp rax, rdi
je 0x20140891
mov dword [r14 + 0x30], 0
mov dword [r14 + 0x28], 0
mov r8, qword [r14 + 0x58]
test r8, r8
je 0x201407c0
mov rcx, qword [r14 + 0x50]
mov dl, 1
call fcn.2044feb0
mov rsi, qword [r14 + 0x98]
mov rax, qword [0x2054bce8]
add rax, rbx
cmp rsi, rax
je 0x2014083b
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
jmp 0x2014080a
mov rcx, qword [r14 + 0x90]
mov dl, 1
mov r8, rsi
call fcn.2044feb0
mov eax, dword [0x205b3aa8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x201407f0
mov rcx, qword [r14 + 0x90]
mov dl, 1
mov r8, rsi
call fcn.2044feb0
mov eax, dword [0x205b3aa8]
mov ecx, dword [0x2054bce0]
add ecx, eax
dec ecx
imul ecx, eax
test cl, 1
jne 0x201407f0
mov rcx, qword [r14 + 0x10]
cmp byte [rcx + 0x19], 0
je 0x20140880
nop word cs:[rax + rax]
mov rax, qword [r14 + 8]
cmp byte [rax + 0x19], 0
jne 0x20140790
mov rcx, r14
mov r14, rax
cmp rcx, qword [rax + 0x10]
je 0x20140850
mov rax, r14
jmp 0x20140790
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x20140880
jmp 0x20140790
mov rax, qword [0x205b38f0]
mov rax, qword [rax + 0x30]
mov r8, qword [rax]
cmp r8, rax
je 0x2014093d
mov ecx, 0x24283adb
jmp 0x201408bc
mov r8, rdx
cmp rdx, rax
je 0x2014093d
mov dword [r8 + 0x20], 0xffffffff
mov r9, qword [r8 + 0x10]
cmp byte [r9 + 0x19], 0
je 0x201408f0
nop
mov rdx, qword [r8 + 8]
cmp byte [rdx + 0x19], 0
jne 0x201408b0
mov r9, r8
mov r8, rdx
cmp r9, qword [rdx + 0x10]
je 0x201408d0
mov rdx, r8
jmp 0x201408b0
mov rdx, r9
nop word cs:[rax + rax]
mov r8d, dword [0x205b3aa8]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x20140900
mov r9, qword [rdx]
movzx r8d, byte [r9 + 0x19]
mov r10d, dword [0x205b3aac]
mov r11d, dword [0x2054bce0]
add r11d, ecx
cmp r10d, r11d
jge 0x20140900
test r8b, r8b
je 0x201408f0
jmp 0x201408b0
cmp qword [0x205b39c8], 0
jne 0x20140968
mov ecx, 0x700
call fcn.2042789c
mov qword [rbp + 0x60], rax
mov rcx, rax
call fcn.20079790
mov rax, qword [rbp + 0x60]
mov qword [0x205b39c8], rax
mov eax, dword [0x205b3aa8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x20140994
jmp 0x2014097b
mov rdi, qword [0x205b39c8]
mov rsi, qword [rdi + 0x3b0]
mov eax, dword [0x205b3aac]
cmp eax, 0x4e
jle 0x201409b3
mov ecx, 0x5e
call fcn.20407ac4
mov qword [0x205b3aa0], rax
lea rcx, [0x201487a0]
call fcn.20427ec0
jmp 0x2014097b
add rdi, 0x3b0
test rsi, rsi
je 0x201409cf
mov rcx, rsi
call fcn.2007bd10
mov rcx, rsi
call fcn.2008bfc0
mov qword [rdi], 0
xor edi, edi
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x20140a7c
mov rcx, qword [rbp + 0x30]
mov rdx, qword [0x2054bce8]
add rdx, rax
movabs r8, 0x8dde43ff0feb2edb
add rdx, r8
cmp rdx, 0x1000
jb 0x20140a77
mov r8, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
add rcx, rcx
and rcx, 0xfffffffffffffff0
mov r9, rdx
xor r9, rcx
and rcx, rdx
add rcx, rcx
mov rdx, r9
xor rdx, rcx
and rcx, r9
lea rcx, [rdx + rcx*2]
sub rcx, r8
movabs rdx, 0x77e8550130ddfcff
add rdx, rcx
movabs rcx, 0x8817aafecf220301
xor rcx, rdx
movabs r9, 0x817aafecf220301
and r9, rdx
lea rcx, [rcx + r9*2]
cmp rcx, 0x20
jae 0x20140b1a
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.2008bfb0
mov rax, qword [rbp - 0x30]
cmp rax, 0x10
jb 0x20140ada
mov rcx, qword [rbp - 0x48]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x20140ad5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x20140b1f
mov ecx, dword [0x205b3aac]
cmp ecx, 0x16
nop word cs:[rax + rax]
mov ecx, dword [0x205b3aac]
cmp ecx, 0xc
jge 0x20140ac0
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.2008bfb0
mov eax, 0x24283ae1
nop
mov ecx, dword [0x205b3aac]
mov edx, dword [0x2054bce0]
add edx, eax
cmp ecx, edx
jge 0x20140b07
mov ecx, dword [0x205b3aa8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x2013edfa
mov ecx, dword [0x205b3aa8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x20140ae0
jmp 0x20140af2
call fcn.20407a4c
mov eax, dword [0x205b3aac]
cmp dword [0x2054bce0], 0xdbd7c536
jne 0x20140b25
call fcn.20407a4c
int3