Function at 0x1402be738
Capabilities:
Encrypt data using speck
Parse credit card information

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x378]
sub rsp, 0x450
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x140483800]
xor rax, rsp
mov qword [rbp + 0x310], rax
mov r15, qword [rcx]
xor r10d, r10d
mov r14, rcx
mov rbx, qword [rcx + 0x88]
mov r13d, r10d
mov rsi, qword [rcx + 0x68]
mov r9d, r10d
mov qword [rsp + 0x60], rcx
mov r8d, r10d
mov dil, byte [r15 + 0x64]
mov byte [rsp + 0x48], dil
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x44], r10d
mov qword [rsp + 0x70], r15
mov byte [rbp - 0x68], r10b
mov dword [rsp + 0x40], r10d
mov qword [rbp - 0x28], r10
mov qword [rsp + 0x68], rsi
mov dword [rbp - 0x48], r10d
cmp dword [rcx + 0xd0], r10d
je 0x1402be7e9
call fcn.1402be664
mov r8, qword [rbp - 0x28]
mov r9d, r13d
xor r10d, r10d
cmp qword [r15 + 0x210], r10
je 0x1402be80b
mov ecx, dword [r15 + 0x220]
xor edx, edx
mov eax, dword [r14 + 0xe4]
div ecx
sub ecx, edx
mov r12d, ecx
jmp 0x1402be80f
or r12, 0xffffffffffffffff
cmp dword [r14 + 0x34], 7
mov r11d, 1
mov qword [rsp + 0x58], r12
je 0x1402c5733
mov dword [r14 + 0x34], r10d
mov qword [r14 + 0x48], r10
mov eax, dword [r15 + 0x198]
mov dword [r15 + 0x298], r10d
test eax, eax
jne 0x1402c5669
movsxd rax, dword [r14 + 0x30]
lea edx, [r11 + 3]
xorps xmm8, xmm8
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
mov ecx, 0x9000
add r8, r11
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x28], r8
movzx r8d, byte [r12]
cmp r8d, 0x5c
ja 0x1402c134f
je 0x1402c12fa
mov eax, 0x2d
cmp r8d, eax
ja 0x1402c0167
je 0x1402c0085
cmp r8d, 0x16
ja 0x1402bf85e
je 0x1402bf615
cmp r8d, 0xb
ja 0x1402bf3e4
je 0x1402bf3b8
lea edi, [rax - 0x28]
cmp r8d, edi
ja 0x1402bf194
je 0x1402bf151
cmp r8d, r10d
je 0x1402bed7d
sub r8d, 1
je 0x1402c51e6
sub r8d, 1
je 0x1402bebdf
sub r8d, 1
je 0x1402beb03
cmp r8d, 1
jne 0x1402bf13a
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
movsxd rcx, dword [r12 + 4]
mov r14, rax
mov rax, qword [r15 + 0x20]
shl rcx, 5
cmp dword [r12 + 0xc], 0xffffffff
mov r15, qword [rcx + rax + 8]
mov rax, qword [r15 + 8]
mov rdi, qword [rax]
mov eax, 3
movzx esi, byte [rdi + 9]
mov ebx, esi
cmovne ebx, dword [r12 + 0xc]
xor edx, edx
cmp byte [rdi + 0x15], al
jae 0x1402be948
mov rax, qword [rdi + 0x50]
cmp qword [rax], rdx
je 0x1402be94a
cmp qword [rdi + 0x60], rdx
jle 0x1402be94a
mov ebx, esi
cmp byte [rdi + 0x13], dl
jne 0x1402be964
lea rax, [0x14047e470]
cmp qword [rdi], rax
je 0x1402be964
mov rcx, qword [rdi + 0xd8]
jmp 0x1402be96b
lea rcx, [0x1403f591c]
mov r9d, 5
cmp ebx, r9d
jne 0x1402be9b8
test rcx, rcx
je 0x1402be9a9
call fcn.140321380
test eax, 0x3fffffff
je 0x1402be9a9
mov rax, qword [rdi + 0x48]
xor edx, edx
mov rcx, qword [rax]
cmp byte [rdi + 0x11], dl
jne 0x1402be9a9
lea r8d, [rdx + 2]
cmp byte [rdi + 8], dl
jne 0x1402be9b0
cmp dword [rcx], r8d
jl 0x1402be9a9
cmp qword [rcx + 0x68], rdx
jne 0x1402be9b0
mov ebx, esi
jmp 0x1402bea57
mov r9d, 5
jmp 0x1402be9be
mov r8d, 2
cmp ebx, esi
je 0x1402bea57
cmp esi, r9d
je 0x1402be9d4
cmp ebx, r9d
jne 0x1402bea57
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x65], dl
je 0x1402c5155
mov r11d, 1
cmp dword [rax + 0xdc], r11d
jg 0x1402c5155
cmp esi, r9d
jne 0x1402bea1e
mov rdx, rax
mov rcx, rdi
call fcn.1402ad9e0
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bea5c
mov edx, ebx
mov rcx, rdi
call fcn.1402ae82c
xor edx, edx
jmp 0x1402bea39
mov eax, 4
cmp esi, eax
jne 0x1402bea34
mov edx, r8d
mov rcx, rdi
call fcn.1402ae82c
xor edx, edx
test r13d, r13d
jne 0x1402bea5c
mov ecx, 5
cmp ebx, ecx
sete dl
lea eax, [rcx - 4]
mov rcx, r15
add edx, eax
call fcn.14028f828
mov r13d, eax
mov dword [rsp + 0x44], eax
test r13d, r13d
je 0x1402bea5e
mov ebx, esi
mov edx, ebx
mov rcx, rdi
call fcn.1402ae82c
mov word [r14 + 0x14], 0x2202
cmp eax, 6
jne 0x1402bea7a
xor eax, eax
mov ecx, eax
jmp 0x1402bea8d
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x3f7378]
xor eax, eax
mov qword [r14 + 8], rcx
test rcx, rcx
je 0x1402beaa0
call fcn.140321380
and eax, 0x3fffffff
mov ecx, 1
mov dword [r14 + 0x10], eax
mov byte [r14 + 0x16], cl
lea eax, [rcx + 1]
test byte [r14 + 0x14], al
jne 0x1402beac1
mov r15b, byte [rsp + 0x48]
mov byte [r14 + 0x16], r15b
jmp 0x1402bead3
mov al, byte [rsp + 0x48]
cmp al, cl
je 0x1402bead3
mov dl, al
mov rcx, r14
call fcn.1402c7a20
xor r10d, r10d
mov r14, qword [rsp + 0x60]
test r13d, r13d
jne 0x1402bf978
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
mov edx, 4
mov r9d, dword [rsp + 0x40]
mov r11d, 1
jmp 0x1402bf135
mov r8d, dword [r12 + 8]
lea rax, [rbp + 0x308]
mov edx, dword [r12 + 4]
lea r9, [rbp + 0x304]
or dword [rbp + 0x308], 0xffffffff
mov rcx, r15
or dword [rbp + 0x304], 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x300], r10d
call fcn.140290178
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
je 0x1402beb68
cmp eax, edi
jne 0x1402bf978
lea r11d, [r10 + 1]
mov dword [rsp + 0x44], r10d
mov dword [rbp + 0x300], r11d
mov r13d, r10d
jmp 0x1402beb6e
mov r11d, 1
movsxd rax, dword [r12 + 0xc]
mov rdi, r10
imul rbx, rax, 0x38
mov r15d, 0x9000
add rbx, rsi
mov esi, 3
movsxd rax, dword [rbp + rdi*4 + 0x300]
test word [rbx + 0x14], r15w
je 0x1402bebaa
mov rdx, rax
mov rcx, rbx
call fcn.1402d7594
mov r11d, 1
jmp 0x1402bebb3
mov qword [rbx], rax
mov word [rbx + 0x14], 4
add rdi, r11
add rbx, 0x38
cmp rdi, rsi
jl 0x1402beb88
mov r14, qword [rsp + 0x60]
xor r10d, r10d
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x40]
lea edx, [r10 + 4]
jmp 0x1402c5122
mov edx, dword [r12 + 8]
mov ebx, r10d
mov dword [rbp - 0x80], ebx
cmp edx, r10d
je 0x1402bec06
mov rax, qword [r15 + 0x30]
movabs rcx, 0x200100000
test rcx, rax
jne 0x1402c518c
movsxd rsi, dword [r12 + 4]
shl rsi, 5
add rsi, qword [r15 + 0x20]
mov rdi, qword [rsi + 8]
cmp rdi, r10
je 0x1402becdd
lea r8, [rbp - 0x80]
mov rcx, rdi
call fcn.14028cd14
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402c51a4
lea eax, [r13 + 0x20]
test byte [r14 + 0xc8], al
je 0x1402bed75
cmp dword [r12 + 8], r10d
je 0x1402bed75
lea eax, [r13 + 1]
cmp byte [r15 + 0x65], r10b
je 0x1402bec71
cmp dword [r15 + 0xdc], eax
jle 0x1402bed75
mov r8d, dword [r14 + 0x40]
test r8d, r8d
jne 0x1402bec93
add dword [r15 + 0x2f4], eax
mov r8d, dword [r15 + 0x2f4]
add r8d, dword [r15 + 0x2f0]
mov dword [r14 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r15
call fcn.1402ca2a4
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402becc4
mov edx, dword [r14 + 0x40]
mov rcx, rdi
call fcn.14028cca4
mov r13d, eax
mov dword [rsp + 0x44], eax
xor r10d, r10d
mov rax, qword [r15 + 0x2f8]
mov ebx, dword [rbp - 0x80]
mov qword [r14 + 0x58], rax
mov rax, qword [r15 + 0x300]
mov qword [r14 + 0x60], rax
cmp r13d, r10d
jne 0x1402bf978
cmp word [r12 + 2], r10w
je 0x1402beae4
cmp ebx, dword [r12 + 0xc]
jne 0x1402bed0b
mov rcx, qword [rsi + 0x18]
mov eax, dword [r12 + 0x10]
cmp dword [rcx + 4], eax
je 0x1402beae4
mov rdx, qword [r14 + 0xa8]
cmp rdx, r10
je 0x1402bed1f
mov rcx, r15
call fcn.1402939e0
lea rdx, [0x1403f7ee0]
mov rcx, r15
call fcn.140293ce4
mov qword [r14 + 0xa8], rax
movsxd rdx, dword [r12 + 4]
mov rax, qword [r15 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x1402bed56
mov rcx, r15
call fcn.1402b5250
mov eax, dword [r14 + 0xc8]
mov r13d, 0x11
and eax, 0xffffffed
or eax, 1
mov dword [r14 + 0xc8], eax
jmp 0x1402c5184
mov ebx, dword [rbp - 0x80]
jmp 0x1402bece6
mov ebx, dword [r12 + 4]
mov rsi, qword [r12 + 0x10]
mov dword [rbp - 0x80], ebx
cmp ebx, r10d
jne 0x1402bee65
cmp dword [r15 + 0xe0], r10d
jg 0x1402c52fc
cmp rsi, r10
jne 0x1402bedaa
mov edi, r10d
jmp 0x1402bedbb
mov rcx, rsi
call fcn.140321380
mov rdi, rax
and edi, 0x3fffffff
mov r8d, dword [r15 + 0x2f4]
xor edx, edx
add r8d, dword [r15 + 0x2f0]
mov rcx, r15
call fcn.1402ca2a4
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
mov edx, edi
mov rcx, r15
add rdx, 0x21
call fcn.140293a98
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x1402bf109
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rdi + 1]
call fcn.140330ef0
xor r10d, r10d
cmp byte [r15 + 0x65], r10b
je 0x1402bee2c
mov byte [r15 + 0x65], r10b
mov byte [r15 + 0x6d], 1
jmp 0x1402bee38
mov eax, 1
add dword [r15 + 0x2f0], eax
mov rax, qword [r15 + 0x2e0]
mov qword [rbx + 0x18], rax
mov rax, qword [r15 + 0x2f8]
mov qword [r15 + 0x2e0], rbx
mov qword [rbx + 8], rax
mov rax, qword [r15 + 0x300]
mov qword [rbx + 0x10], rax
jmp 0x1402bf109
mov r15, qword [r15 + 0x2e0]
mov r13d, r10d
cmp r15, r10
je 0x1402bee92
mov rcx, qword [r15]
mov rdx, rsi
call fcn.1402ba040
xor r10d, r10d
test eax, eax
je 0x1402beea9
mov r15, qword [r15 + 0x18]
add r13d, r11d
test r15, r15
jne 0x1402bee74
mov r8, rsi
lea rdx, [0x1403fadb0]
mov rcx, r14
call fcn.1402be6e8
jmp 0x1402c52f1
mov r9, qword [rsp + 0x70]
cmp dword [r9 + 0xe0], r10d
jle 0x1402beec0
cmp ebx, r11d
je 0x1402c5308
cmp qword [r15 + 0x18], r10
jne 0x1402bef38
cmp byte [r9 + 0x6d], r10b
je 0x1402bef38
mov r12d, r11d
cmp ebx, r11d
jne 0x1402bef3b
mov edx, r11d
mov rcx, r14
call fcn.1402be030
xor r10d, r10d
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402c5871
mov rdi, qword [rsp + 0x70]
mov rcx, r14
mov byte [rdi + 0x65], 1
call fcn.1402c5f9c
mov r8d, 5
cmp eax, r8d
je 0x1402c5314
mov eax, dword [r14 + 0x34]
xor r10d, r10d
mov dword [rsp + 0x44], eax
test eax, eax
je 0x1402bef23
mov byte [rdi + 0x65], r10b
jmp 0x1402bef27
mov byte [rdi + 0x6d], r10b
mov r11d, 1
mov r9, rdi
mov r12d, r11d
jmp 0x1402bf02f
mov r12d, r10d
mov eax, dword [r9 + 0x2f0]
sub eax, r13d
mov r13d, eax
mov eax, 2
sub r13d, r11d
cmp ebx, eax
jne 0x1402befaa
mov r14d, dword [r9 + 0x2c]
mov esi, r10d
and r14d, r11d
cmp dword [r9 + 0x28], r10d
jle 0x1402befad
mov edi, r14d
mov rbx, r10
xor edi, r11d
mov rcx, qword [r9 + 0x20]
mov r8d, edi
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.14028fe48
xor r10d, r10d
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402c5755
mov r9, qword [rsp + 0x70]
lea r11d, [rax + 1]
add esi, r11d
add rbx, 0x20
cmp esi, dword [r9 + 0x28]
jl 0x1402bef6d
jmp 0x1402befad
mov r14d, r10d
mov edi, r10d
cmp dword [r9 + 0x28], r10d
jle 0x1402beff6
mov esi, dword [rbp - 0x80]
mov rbx, r10
mov rcx, qword [r9 + 0x20]
mov r8d, r13d
mov edx, esi
mov rcx, qword [rbx + rcx + 8]
call fcn.14028f320
xor r10d, r10d
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1402c5755
mov r9, qword [rsp + 0x70]
lea r11d, [rax + 1]
add edi, r11d
add rbx, 0x20
cmp edi, dword [r9 + 0x28]
jl 0x1402befbc
jmp 0x1402beffa
mov eax, dword [rsp + 0x44]
test r14d, r14d
je 0x1402bf027
xor edx, edx
mov rcx, r9
call fcn.140296090
mov rcx, r9
call fcn.1402b51c4
mov r9, qword [rsp + 0x70]
mov r11d, 1
mov eax, dword [rsp + 0x44]
or dword [r9 + 0x2c], r11d
xor r10d, r10d
mov r14, qword [rsp + 0x60]
mov ebx, dword [rbp - 0x80]
test eax, eax
jne 0x1402c575f
mov rcx, qword [r9 + 0x2e0]
cmp rcx, r15
je 0x1402bf078
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r9
mov qword [r9 + 0x2e0], rax
call fcn.1402939e0
mov r9, qword [rsp + 0x70]
dec dword [r9 + 0x2f0]
mov rcx, qword [r9 + 0x2e0]
cmp rcx, r15
jne 0x1402bf043
xor r10d, r10d
lea r11d, [r10 + 1]
cmp ebx, r11d
jne 0x1402bf0a9
mov rax, qword [r15 + 0x18]
mov rdx, r15
mov r15, qword [rsp + 0x70]
mov rcx, r15
mov qword [r9 + 0x2e0], rax
call fcn.1402939e0
xor r10d, r10d
test r12d, r12d
jne 0x1402bf0ff
dec dword [r15 + 0x2f0]
jmp 0x1402bf0d2
mov rax, qword [r15 + 8]
mov qword [r9 + 0x2f8], rax
mov rax, qword [r15 + 0x10]
mov r15, qword [rsp + 0x70]
mov qword [r15 + 0x300], rax
test r12d, r12d
je 0x1402bf0d2
mov eax, 2
cmp ebx, eax
jne 0x1402bf0f3
mov r8d, r13d
mov edx, ebx
mov rcx, r15
call fcn.1402ca2a4
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
jmp 0x1402bf104
mov r13d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x78]
jmp 0x1402bf10f
mov r13d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x78]
mov r11d, 1
mov eax, 3
cmp byte [r14 + 0xc7], al
je 0x1402c5357
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x40]
mov edx, 4
mov ecx, 0x9000
mov r15, qword [rsp + 0x70]
add r12, 0x18
mov dil, byte [rsp + 0x48]
mov r8, qword [rbp - 0x28]
jmp 0x1402be85c
cmp dword [r12 + 8], r10d
je 0x1402bf166
movsxd rax, dword [r12 + 8]
imul r9, rax, 0x38
add r9, rsi
jmp 0x1402bf169
mov r9, r10
mov r8d, dword [r12 + 4]
lea rcx, [r14 + 0xa8]
mov rdx, r15
call fcn.1402b5f48
xor r10d, r10d
mov dword [rsp + 0x44], eax
test eax, eax
mov r13d, eax
jne 0x1402bf978
jmp 0x1402beaee
sub r8d, 6
je 0x1402bf2f7
sub r8d, 1
je 0x1402bf1fd
sub r8d, 1
je 0x1402c4f16
sub r8d, 1
je 0x1402c09ad
cmp r8d, 1
jne 0x1402bf13a
movsxd rax, dword [r12 + 4]
mov rcx, r12
imul r8, rax, 0x38
sub rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r8 + rsi + 0x14], dx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rsi], rax
jmp 0x1402c09ad
mov qword [rbp + 0x10], r10
cmp byte [r15 + 0x67], r10b
jne 0x1402c572e
mov rax, qword [r12 + 0x10]
mov rbx, qword [rax + 0x10]
cmp rbx, r10
je 0x1402c5387
mov r10, qword [rbx]
xor r11d, r11d
test r10, r10
je 0x1402c5387
movsxd rdx, dword [r12 + 8]
cmp qword [r10 + 0x68], r11
je 0x1402c5148
movsxd rax, dword [r12 + 0xc]
mov dil, byte [r15 + 0x6c]
mov r8, qword [r14 + 0x70]
imul rcx, rax, 0x38
mov eax, r11d
add rcx, rsi
test edx, edx
jle 0x1402bf26a
lea r11d, [rax + 1]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r11
cmp rax, rdx
jl 0x1402bf25a
mov al, byte [r12 + 2]
lea r9, [rbp + 0x10]
mov rcx, rbx
mov byte [r15 + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r15 + 0x6c], dil
mov rcx, r14
mov dword [rsp + 0x44], eax
mov r13d, eax
call fcn.1402ca01c
xor r10d, r10d
test r13d, r13d
jne 0x1402bf2c3
cmp dword [r12 + 4], r10d
je 0x1402bf2ab
mov rax, qword [rbp + 0x10]
mov qword [r15 + 0x38], rax
mov r11d, 1
add qword [r14 + 0x38], r11
test r13d, r13d
jne 0x1402bf978
jmp 0x1402bf126
cmp r13b, 0x13
jne 0x1402bf2ab
mov rax, qword [r12 + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x1402bf2ab
mov edx, 4
cmp word [r12 + 2], dx
jne 0x1402c5362
mov r13d, r10d
mov dword [rsp + 0x44], r10d
mov rbx, qword [rsp + 0x50]
jmp 0x1402beaf3
movsxd rax, dword [r12 + 0xc]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov edx, dword [rdx + rsi]
add r11, rsi
mov rsi, qword [rsp + 0x60]
mov qword [rbp - 0x70], r13
mov rdi, qword [r13 + 0x30]
movsxd r9, dword [r11]
mov rsi, qword [rsi + 0x70]
mov r15, qword [rdi]
mov r14, qword [r15]
test r9d, r9d
jle 0x1402bf35c
mov r13d, 1
mov r8d, r13d
movsxd rax, r8d
add r8d, r13d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rsi + r10*8], rcx
add r10, r13
cmp r10, r9
jl 0x1402bf33f
mov r13, qword [rbp - 0x70]
mov r8, qword [r12 + 0x10]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x60]
mov rdx, r15
mov esi, eax
mov dword [rsp + 0x44], eax
call fcn.1402ca01c
xor r10d, r10d
test esi, esi
jne 0x1402c5755
mov rcx, rdi
call qword [r14 + 0x50]
mov rbx, qword [rsp + 0x50]
xor r10d, r10d
mov byte [r13 + 2], r10b
mov r13d, esi
test eax, eax
jne 0x1402c08b8
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
jmp 0x1402beaee
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, dword [r12 + 0xc]
sub eax, r11d
cdqe
mov qword [rcx + rsi], rax
mov word [rcx + rsi + 0x14], dx
cmp dword [r12 + 8], r10d
je 0x1402bf135
jmp 0x1402bf543
cmp r8d, 0x11
ja 0x1402bf5ee
je 0x1402bf5c2
sub r8d, 0xc
je 0x1402bf57e
sub r8d, 1
je 0x1402bf4fc
sub r8d, 1
je 0x1402bf4d0
sub r8d, 1
je 0x1402bf448
cmp r8d, 1
jne 0x1402bf13a
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1402bdf14
xor r10d, r10d
test eax, eax
jne 0x1402c08b8
jmp 0x1402beaee
mov r8, qword [r14 + 0x108]
cmp r8, r10
je 0x1402bf4a2
mov r9, qword [r8 + 0x28]
mov rcx, r12
sub rcx, qword [r14 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x1402bf543
bts eax, edx
mov edx, 4
mov byte [rcx + r9], al
jmp 0x1402bf4b7
mov rcx, qword [r14 + 0x88]
mov eax, dword [r12 + 4]
cmp dword [rcx + 4], eax
je 0x1402bf543
mov rax, qword [r14 + 0x88]
mov ecx, dword [rax + 4]
mov dword [r12 + 4], ecx
mov r9d, dword [rsp + 0x40]
jmp 0x1402bf135
cmp r9d, r10d
jge 0x1402bf4ec
mov eax, dword [r12 + 4]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp 0x1402bf135
jne 0x1402bf4f5
mov eax, dword [r12 + 8]
jmp 0x1402bf4da
mov eax, dword [r12 + 0xc]
jmp 0x1402bf4da
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, rsi
movzx eax, word [rbx + 0x14]
test dl, al
jne 0x1402bf568
mov r8b, dil
mov dl, 0x43
mov rcx, rbx
call fcn.140237e2c
movzx eax, word [rbx + 0x14]
mov edx, 4
xor r10d, r10d
test dl, al
jne 0x1402bf55d
cmp dword [r12 + 8], r10d
je 0x1402c5392
mov r11d, 1
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp 0x1402c1ebd
mov ecx, 0x9000
mov r11d, 1
mov r8d, 0xf244
and ax, r8w
or ax, dx
mov word [rbx + 0x14], ax
jmp 0x1402c259b
movsxd rax, dword [r12 + 4]
sub r12, rbx
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + rsi]
mov word [r8 + rsi + 0x14], dx
imul r12
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r12, [rbx + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rsi], rax
jmp 0x1402bf130
cmp dword [r12 + 0xc], r10d
mov edx, r10d
movsxd rax, dword [r12 + 4]
sete dl
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1402bdf14
xor r10d, r10d
test eax, eax
je 0x1402c08b8
jmp 0x1402beaee
mov ecx, r8d
sub ecx, 0x12
je 0x1402bf7ca
sub ecx, 1
je 0x1402bf72d
sub ecx, 1
je 0x1402bf6dd
cmp ecx, 1
jne 0x1402bf135
movsxd rcx, dword [r12 + 4]
mov edi, r8d
mov rax, qword [r14 + 0x78]
mov r12d, r10d
mov r14, qword [rax + rcx*8]
mov byte [r14 + 2], r10b
mov byte [r14 + 3], r10b
mov dword [r14 + 0x20], r10d
cmp byte [r14 + 4], r10b
je 0x1402bf9f6
mov rax, qword [rsp + 0x78]
mov ecx, 2
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
movzx esi, word [rbx + 0x14]
mov al, sil
and al, 0x2e
cmp al, cl
jne 0x1402bf66a
xor edx, edx
mov rcx, rbx
call fcn.140237e98
mov rcx, rbx
call fcn.1402c6548
movzx ecx, word [rbx + 0x14]
mov r15, rax
mov word [rbx + 0x14], si
test cl, 0x24
jne 0x1402bf9c9
mov eax, 8
test al, cl
jne 0x1402bf99d
lea r11d, [rax - 7]
xor r10d, r10d
test r11b, cl
jne 0x1402bf53e
cmp edi, 0x17
jae 0x1402bf53e
mov rcx, qword [r14 + 0x30]
cmp byte [rcx], r10b
jne 0x1402bf958
test byte [rcx + 1], al
je 0x1402bf958
mov dword [rbp - 0x78], r10d
mov r13d, r10d
mov dword [rsp + 0x44], r10d
mov r12, qword [rsp + 0x78]
mov r14, qword [rsp + 0x60]
jmp 0x1402bf121
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
cmp rdx, r10
je 0x1402bf130
cmp byte [rdx + 2], r10b
je 0x1402bf130
movsxd rax, dword [r12 + 0xc]
mov r15d, 0x9000
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 0x14], r15w
je 0x1402bf723
call fcn.1402d64e8
xor r10d, r10d
jmp 0x1402c08b8
mov word [rcx + 0x14], r11w
jmp 0x1402bf543
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rcx, rsi
add rbx, rsi
test byte [rcx + 0x14], r11b
jne 0x1402bf7a0
xor edx, edx
call fcn.1402bdf14
xor r10d, r10d
mov r15d, 0x9000
test eax, eax
mov ecx, r10d
sete cl
test word [rbx + 0x14], r15w
je 0x1402bf787
mov rdx, rcx
mov rcx, rbx
call fcn.1402d7594
mov rbx, qword [rsp + 0x50]
mov edx, 4
mov ecx, r15d
jmp 0x1402c1168
mov qword [rbx], rcx
mov edx, 4
mov word [rbx + 0x14], dx
mov ecx, r15d
mov rbx, qword [rsp + 0x50]
jmp 0x1402c116b
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x1402bf7c0
mov rcx, rbx
call fcn.1402d64e8
mov rbx, qword [rsp + 0x50]
xor r10d, r10d
jmp 0x1402beaee
mov word [rbx + 0x14], r11w
jmp 0x1402c2637
cmp dword [r12 + 4], r10d
jl 0x1402bf824
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0x4a]
cmp dword [r12 + 0xc], eax
jge 0x1402bf81d
movsxd rax, dword [r12 + 0xc]
mov ecx, dword [rcx + rax*4 + 0x78]
cmp ecx, 0xc
jb 0x1402bf809
and cl, r11b
neg cl
sbb ax, ax
and ax, 0xfffc
add ax, 8
jmp 0x1402bf84d
mov rax, rcx
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x3f74d8]
jmp 0x1402bf84d
mov ecx, dword [r12 + 0x10]
jmp 0x1402bf844
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rcx + rsi + 0x14]
lea rcx, [0x140000000]
and eax, 0x3f
movzx ecx, byte [rax + rcx + 0x3f5f30]
sub ecx, r11d
mov eax, r11d
shl ax, cl
test word [r12 + 2], ax
jne 0x1402bf543
jmp 0x1402bf135
cmp r8d, 0x22
ja 0x1402bfe09
je 0x1402bfedd
cmp r8d, 0x1c
ja 0x1402bfb5e
je 0x1402bf8a6
mov ecx, r8d
sub ecx, 0x17
je 0x1402bf615
sub ecx, 1
je 0x1402bf615
sub ecx, 1
je 0x1402bf933
sub ecx, 1
je 0x1402bf912
cmp ecx, 1
jne 0x1402bf135
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r12 + 0x10]
add rcx, rsi
mov word [rbp + 0xa4], ax
mov qword [rbp + 0x90], rcx
cmp ax, r10w
jbe 0x1402bfcea
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp + 0x88], rax
lea rdx, [rbp + 0x88]
mov byte [rbp + 0xa6], r10b
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.14028dc64
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x1402bfd60
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r12 + 0x10]
jl 0x1402bf8a6
jmp 0x1402bf135
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
cmp rdx, r10
je 0x1402c09ad
cmp byte [rdx + 2], r10b
je 0x1402bf130
jmp 0x1402c09ad
lea rdx, [rbp - 0x78]
call fcn.14023b38c
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
je 0x1402bfb33
mov r14, qword [rsp + 0x60]
mov r15d, 2
mov r12, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x70]
cmp byte [rbx + 0x67], r10b
je 0x1402c5769
mov r13d, 7
jmp 0x1402c5782
movsd xmm1, qword [rbx]
mov rcx, r15
call fcn.1402ab3a4
test eax, eax
jle 0x1402bf9bb
mov esi, 1
test sil, dil
jne 0x1402bf9c9
sub edi, esi
jmp 0x1402bf9c9
jns 0x1402bf9c9
mov esi, 1
test sil, dil
je 0x1402bf9c9
add edi, esi
lea rbx, [r14 + 0x30]
xor r8d, r8d
mov rcx, qword [rbx]
lea r9, [rbp - 0x78]
mov rdx, r15
call fcn.14028f8dc
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov qword [r14 + 0x50], r15
mov r13d, eax
test eax, eax
jne 0x1402bf973
jmp 0x1402bfa8d
mov rdx, qword [rsp + 0x78]
lea rbx, [r14 + 0x30]
mov rax, qword [rbx]
mov sil, byte [rax + 3]
mov rax, qword [r14 + 0x38]
and sil, 2
mov qword [rbp + 0xb0], rax
movzx eax, word [rdx + 0x10]
setne r12b
mov word [rbp + 0xcc], ax
lea eax, [r8 - 1]
and al, r11b
mov byte [rbp + 0xd2], r10b
neg al
lea r8, [rbp - 0x78]
movsxd rax, dword [rdx + 0xc]
lea rdx, [rbp + 0xb0]
sbb cl, cl
and cl, 0xfe
add cl, r11b
mov byte [rbp + 0xce], cl
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
mov qword [rbp + 0xb8], rcx
mov rcx, qword [rbx]
call fcn.14028dc64
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf973
test sil, sil
je 0x1402bfa8d
cmp byte [rbp + 0xd2], r10b
je 0x1402bfb33
mov eax, dword [rbp - 0x78]
cmp edi, 0x17
jl 0x1402bfae3
test eax, eax
js 0x1402bfaa9
jne 0x1402bfaa0
cmp edi, 0x18
je 0x1402bfaa9
mov dword [rbp - 0x78], r10d
jmp 0x1402bfb3d
mov rcx, qword [rbx]
xor edx, edx
mov dword [rbp - 0x78], r10d
call fcn.14028ea5c
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
je 0x1402bfb3d
cmp eax, 0x65
jne 0x1402bf973
lea r11d, [rax - 0x64]
mov dword [rsp + 0x44], r10d
mov dword [rbp - 0x78], r11d
mov r13d, r10d
jmp 0x1402bf53e
test eax, eax
jg 0x1402bfaff
jne 0x1402bfaee
cmp edi, 0x15
je 0x1402bfaff
mov rax, qword [rbx]
mov ecx, r10d
cmp byte [rax], r10b
setne cl
mov dword [rbp - 0x78], ecx
jmp 0x1402bfb33
mov rcx, qword [rbx]
xor edx, edx
mov dword [rbp - 0x78], r10d
call fcn.14028f10c
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
je 0x1402bfb3d
cmp eax, 0x65
jne 0x1402bf973
lea eax, [r10 + 1]
mov dword [rsp + 0x44], r10d
mov dword [rbp - 0x78], eax
mov r13d, r10d
cmp dword [rbp - 0x78], r10d
jne 0x1402bfdff
mov r14, qword [rsp + 0x60]
test r12d, r12d
mov r12, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
je 0x1402beae9
add r12, 0x18
jmp 0x1402beae9
mov ecx, r8d
sub ecx, 0x1d
je 0x1402bf8a6
sub ecx, 1
je 0x1402bfbfe
sub ecx, 1
je 0x1402bfc6b
sub ecx, 1
je 0x1402c3811
cmp ecx, 1
jne 0x1402bf135
movsxd rcx, dword [r12 + 4]
lea rdx, [rbp - 0x20]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.14028d9b4
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
cmp dword [rbp - 0x20], r10d
jne 0x1402bf538
mov rcx, rbx
call fcn.14028f2d4
xor r10d, r10d
test rax, rax
js 0x1402beae9
mov rcx, rax
call fcn.1402ac5ac
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x1402beae9
lea r11d, [r13 + 1]
mov dword [rbp - 0x20], r11d
jmp 0x1402bf53e
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
test byte [rcx + 0x14], 0x24
jne 0x1402bfc6b
movups xmm0, xmmword [rcx]
mov r8b, dil
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x1d8], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x1e8], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x1d8]
movups xmmword [rbp + 0x1f8], xmm0
movsd qword [rbp + 0x208], xmm1
call fcn.140237e2c
mov eax, 4
xor r10d, r10d
test byte [rbp + 0x1ec], al
je 0x1402c08b8
mov rdi, qword [rbp + 0x1d8]
jmp 0x1402bfc78
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + rsi]
movsxd rcx, dword [r12 + 4]
lea r9, [rbp - 0x80]
mov rax, qword [r14 + 0x78]
xor r8d, r8d
mov rdx, rdi
mov dword [rbp - 0x80], r10d
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.14028f8dc
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
mov qword [rbx + 0x50], rdi
mov eax, dword [rbp - 0x80]
mov word [rbx + 2], r10w
mov dword [rbx + 0x20], r10d
mov dword [rbx + 0x24], eax
test eax, eax
je 0x1402bfcdc
cmp dword [r12 + 8], r10d
jne 0x1402bf538
mov ecx, 0x17ec5
call fcn.14029212c
mov r13d, eax
mov dword [rsp + 0x44], eax
xor r10d, r10d
test r13d, r13d
jne 0x1402bf978
jmp 0x1402beae9
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x1402bfd06
call fcn.1402c6f08
xor esi, esi
test eax, eax
jne 0x1402c572e
jmp 0x1402bfd08
xor esi, esi
mov rcx, qword [rbx + 0x38]
call fcn.1402bde84
mov rdi, rax
test rax, rax
je 0x1402c572e
mov rdx, qword [rbp + 0x90]
mov r9, rax
mov rcx, qword [rbx + 0x38]
mov r8, qword [rdx + 8]
mov edx, dword [rdx + 0x10]
call fcn.1402c8754
mov byte [rdi + 0x1e], sil
mov rdx, rdi
mov rcx, qword [rbx + 0x30]
lea rsi, [rbx + 0x24]
mov r8, rsi
call fcn.14028dc64
mov rdx, rdi
mov dword [rsp + 0x44], eax
mov rcx, r15
mov r13d, eax
call fcn.1402939e0
xor r10d, r10d
test r13d, r13d
jne 0x1402bf978
mov ecx, dword [rsi]
test ecx, ecx
mov byte [rbx + 3], r10b
setne al
mov dword [rbx + 0x20], r10d
mov byte [rbx + 2], al
cmp byte [r12], 0x1d
jne 0x1402bfd97
mov rbx, qword [rsp + 0x50]
test ecx, ecx
je 0x1402c08b8
jmp 0x1402bf3ae
test ecx, ecx
jne 0x1402bfdff
cmp byte [r12], 0x1b
jne 0x1402bfde0
movzx edx, word [rbp + 0xa4]
mov rcx, r10
test rdx, rdx
je 0x1402beae4
mov rax, qword [rbp + 0x90]
mov r11d, 1
add rax, 0x14
test byte [rax], r11b
jne 0x1402bf53e
add rcx, r11
add rax, 0x38
cmp rcx, rdx
jl 0x1402bfdc6
jmp 0x1402bf121
cmp byte [r12], 0x1a
mov rsi, qword [rsp + 0x68]
jne 0x1402beae9
movzx eax, word [r12 + 0x10]
mov word [rbx + 0xc], ax
jmp 0x1402beae9
mov rbx, qword [rsp + 0x50]
jmp 0x1402c08b8
cmp r8d, 0x28
ja 0x1402bffac
je 0x1402c0085
sub r8d, 0x23
je 0x1402bfedd
sub r8d, 1
je 0x1402bfee4
sub r8d, 1
je 0x1402bfe7d
sub r8d, 1
je 0x1402bfe60
cmp r8d, 1
jne 0x1402bf13a
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov edx, dword [r12 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.14028ea5c
jmp 0x1402bfe95
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov edx, dword [r12 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.14028f10c
jmp 0x1402bfe95
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
call fcn.1402c8eb4
mov r13d, eax
mov dword [rsp + 0x44], eax
xor r10d, r10d
mov dword [rbx + 0x20], r10d
test eax, eax
jne 0x1402bfec2
mov byte [rbx + 2], r10b
lea r11d, [r13 + 1]
movzx eax, word [r12 + 2]
add dword [r14 + rax*4 + 0xd4], r11d
jmp 0x1402c09a8
cmp r13d, 0x65
jne 0x1402bf978
mov r13d, r10d
mov dword [rsp + 0x44], r10d
mov byte [rbx + 2], 1
jmp 0x1402c4205
add dword [r14 + 0xdc], r11d
movsxd rcx, dword [r12 + 4]
mov edi, r11d
mov rax, qword [r14 + 0x78]
mov dword [rbp - 0x80], r11d
mov rsi, qword [rax + rcx*8]
mov rbx, qword [rsi + 0x30]
cmp byte [rsi], r11b
jne 0x1402bff59
mov r13d, r10d
mov dword [rsp + 0x44], r10d
cmp byte [rbx + 0x58], r10b
jne 0x1402bff29
lea rdx, [rbx + 0x38]
cmp qword [rdx], r10
je 0x1402bff7a
lea rcx, [rbx + 0x60]
mov edi, r10d
call fcn.1402d8478
xor r10d, r10d
jmp 0x1402bff73
mov rcx, rbx
call fcn.1402d7ac4
mov edx, eax
mov rcx, rbx
call fcn.1402d7c20
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bff7a
mov rcx, rbx
call fcn.1402d8200
xor r10d, r10d
mov edi, r10d
jmp 0x1402bff73
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.14028d9b4
mov edi, dword [rbp - 0x80]
xor r10d, r10d
mov byte [rsi + 3], r10b
mov dword [rsi + 0x20], r10d
mov r13d, eax
mov dword [rsp + 0x44], eax
cmp r13d, r10d
jne 0x1402bf978
mov rbx, qword [rsp + 0x50]
mov r11d, 1
mov byte [rsi + 2], dil
cmp dword [r12 + 8], r10d
jle 0x1402bffa2
cmp edi, r10d
jne 0x1402bf543
mov rsi, qword [rsp + 0x68]
jmp 0x1402bf12b
mov ecx, r8d
sub ecx, 0x29
je 0x1402c0085
sub ecx, 1
je 0x1402c0085
sub ecx, 1
je 0x1402bffcf
cmp ecx, 1
jne 0x1402bf135
movsxd rax, dword [r12 + 4]
mov r15d, 2
imul rcx, rax, 0x38
mov edx, r15d
add rcx, rsi
call fcn.1402bdf14
movsxd rcx, dword [r12 + 8]
mov edx, r15d
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, rsi
call fcn.1402bdf14
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r12], 0x2c
movsxd r9, eax
lea rax, [0x140000000]
jne 0x1402c001f
mov r9b, byte [r9 + rax + 0x3f74b8]
jmp 0x1402c0027
mov r9b, byte [r9 + rax + 0x3f74c8]
movsxd rax, dword [r12 + 0xc]
mov r11d, 1
imul rdx, rax, 0x38
lea r8, [rdx + rsi]
movzx ecx, word [r8 + 0x14]
cmp r9b, r15b
jne 0x1402c0056
mov eax, 0xf241
lea edx, [r11 + 3]
and cx, ax
or cx, r11w
jmp 0x1402c006e
movzx eax, r9b
mov qword [rdx + rsi], rax
mov eax, 0xf244
and cx, ax
mov edx, 4
or cx, dx
mov rbx, qword [rsp + 0x50]
mov word [r8 + 0x14], cx
mov r9d, dword [rsp + 0x40]
xor r10d, r10d
jmp 0x1402bf135
movsxd rcx, dword [r12 + 4]
cmp r8b, 0x2a
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x60], rax
movzx eax, word [r12 + 0x10]
mov word [rbp + 0x7c], ax
sbb al, al
mov byte [rbp + 0x7e], al
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
mov qword [rbp + 0x68], rcx
mov rcx, rbx
call fcn.14026c5cc
mov edx, dword [rbx + 0x40]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffe
ja 0x1402c539d
xor eax, eax
mov qword [rbp + 0x158], r15
lea r8, [rbp + 0x140]
mov word [rbp + 0x154], ax
mov rcx, rbx
mov dword [rbp + 0x160], eax
call fcn.1402c70f0
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
mov rdx, qword [rbp + 0x148]
lea r8, [rbp + 0x60]
mov ecx, dword [rbp + 0x150]
xor r9d, r9d
call fcn.1402c82b0
xor r10d, r10d
mov ebx, eax
cmp dword [rbp + 0x160], r10d
je 0x1402c0147
lea rcx, [rbp + 0x140]
call fcn.1402d64ac
xor r10d, r10d
mov r11d, 1
test byte [r12], r11b
jne 0x1402c0157
neg ebx
jmp 0x1402c015a
add ebx, r11d
test ebx, ebx
jg 0x1402bf53e
jmp 0x1402bf126
cmp r8d, 0x44
ja 0x1402c0bee
je 0x1402c0bc1
cmp r8d, 0x39
ja 0x1402c0840
je 0x1402c05d4
cmp r8d, 0x33
ja 0x1402c05b2
je 0x1402c0599
sub r8d, 0x2e
je 0x1402c04ca
sub r8d, 1
je 0x1402c0451
sub r8d, 1
je 0x1402c01fa
sub r8d, 1
je 0x1402c01d4
cmp r8d, 1
jne 0x1402bf13a
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jmp 0x1402bf853
cmp dword [r12 + 4], r10d
je 0x1402c01e4
cmp qword [r15 + 0x2f8], r10
jmp 0x1402c01e8
cmp qword [r14 + 0x50], r10
jne 0x1402bf13a
cmp qword [r15 + 0x300], r10
jmp 0x1402c0940
movsxd rax, dword [r12 + 0xc]
mov r15, qword [r12 + 0x10]
imul rbx, rax, 0x38
add rbx, rsi
cmp word [r12 + 2], r10w
je 0x1402c0233
mov rcx, qword [r15 + 0x20]
mov rax, qword [r14 + 0x108]
jmp 0x1402c022e
cmp qword [rax + 0x30], rcx
je 0x1402c0635
mov rax, qword [rax + 8]
cmp rax, r10
jne 0x1402c0220
mov rdi, qword [rsp + 0x70]
mov eax, dword [rdi + 0xb0]
cmp dword [r14 + 0x118], eax
jge 0x1402c53af
mov eax, 0x10
test byte [rbx + 0x14], al
jne 0x1402c0443
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
add ecx, edx
cmp edx, r10d
lea r14d, [rcx + 1]
cmovne r14d, ecx
lea eax, [r14 + 2]
imul ecx, eax, 7
mov eax, dword [r15 + 8]
add ecx, edx
add eax, 7
jns 0x1402c0283
add eax, 7
sar eax, 3
lea esi, [rax + rcx*8]
mov rcx, rdi
movsxd rdx, esi
call fcn.140293b74
xor r10d, r10d
mov rdi, rax
test rax, rax
je 0x1402c5724
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x1402c02b4
cmp dword [rbx + 0x20], r10d
je 0x1402c02bf
mov rcx, rbx
call fcn.1402d64ac
xor r10d, r10d
mov rcx, qword [rsp + 0x60]
lea rax, [0x1402c5db4]
sub r12, qword [rsp + 0x50]
mov qword [rbx + 0x30], rax
mov word [rbx + 0x14], 0x1010
mov qword [rbx + 8], rdi
mov dword [rbx + 0x10], esi
mov qword [rdi], rcx
mov dword [rdi + 0x58], r14d
mov eax, dword [r15 + 0x10]
mov dword [rdi + 0x5c], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul r12
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rdi + 0x4c], edx
mov rax, qword [rcx + 0x68]
mov rdx, qword [rsp + 0x70]
mov qword [rdi + 0x18], rax
mov eax, dword [rcx + 0x24]
mov dword [rdi + 0x54], eax
mov rax, qword [rcx + 0x78]
mov qword [rdi + 0x20], rax
mov eax, dword [rcx + 0x28]
mov dword [rdi + 0x48], eax
mov rax, qword [rcx + 0x88]
mov qword [rdi + 0x10], rax
mov eax, dword [rcx + 0x90]
mov dword [rdi + 0x50], eax
mov rax, qword [r15 + 0x20]
mov qword [rdi + 0x30], rax
movsxd rax, r14d
add rax, 2
imul rcx, rax, 0x38
lea rax, [rdi + 0x70]
add rcx, rdi
jmp 0x1402c036b
mov word [rax + 0x14], r10w
mov qword [rax + 0x18], rdx
add rax, 0x38
cmp rax, rcx
jne 0x1402c035e
mov r14, qword [rsp + 0x60]
mov r11d, 1
add dword [r14 + 0x118], r11d
lea rsi, [rdi + 0x70]
mov rax, qword [r14 + 0x108]
mov qword [rdi + 8], rax
mov rax, qword [rdx + 0x38]
mov qword [rdi + 0x38], rax
mov rax, qword [r14 + 0x38]
mov qword [rdi + 0x60], rax
mov rax, qword [r14]
mov qword [rsp + 0x68], rsi
mov rcx, qword [rax + 0x78]
mov qword [rdi + 0x68], rcx
mov rax, qword [r14 + 0x128]
mov qword [rdi + 0x40], rax
mov qword [r14 + 0x128], r10
mov qword [r14 + 0x38], r10
mov qword [r14 + 0x108], rdi
mov qword [r14 + 0x68], rsi
movsxd rcx, dword [rdi + 0x58]
mov dword [r14 + 0x24], ecx
movzx eax, word [rdi + 0x5c]
mov dword [r14 + 0x28], eax
imul rcx, rcx, 0x38
add rcx, rsi
mov qword [r14 + 0x78], rcx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [rdi + 0x28], rcx
mov eax, dword [r15 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.140331590
mov rbx, qword [r15]
xor r10d, r10d
mov qword [r14 + 0x88], rbx
mov eax, dword [r15 + 8]
mov r15, qword [rsp + 0x70]
lea r12, [rbx - 0x18]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x78], r12
mov dword [r14 + 0x90], eax
jmp 0x1402c420a
mov rdi, qword [rbx + 8]
mov rdx, qword [rsp + 0x70]
jmp 0x1402c037b
movsxd rax, dword [r12 + 4]
mov edi, dword [r12 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rbx, rsi
imul rsi, rax, 0x38
mov eax, 0x10
add rsi, qword [rsp + 0x68]
test byte [rbx + 0x14], al
jne 0x1402c048d
mov rcx, rbx
call fcn.1402c7464
xor r10d, r10d
test eax, eax
jne 0x1402c572e
cmp edi, r10d
je 0x1402c04b4
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.1402b5a58
xor r10d, r10d
test eax, eax
jne 0x1402bf538
cmp edi, r10d
jl 0x1402beae4
mov rdx, qword [rsi]
mov rcx, qword [rbx + 8]
call fcn.1402b5a04
mov rsi, qword [rsp + 0x68]
jmp 0x1402bf7b3
movsxd rax, dword [r12 + 4]
imul rdi, rax, 0x38
mov eax, 0x10
add rdi, rsi
test byte [rdi + 0x14], al
je 0x1402c0575
mov rbx, qword [rdi + 8]
mov eax, 2
test byte [rbx + 0x32], al
jne 0x1402c051a
test byte [rbx + 0x32], r11b
jne 0x1402c0511
mov rcx, qword [rbx + 0x10]
call fcn.140283240
xor r10d, r10d
mov qword [rbx + 0x10], rax
mov ecx, 0x9000
lea r11d, [r10 + 1]
mov eax, 3
or word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
cmp rax, r10
je 0x1402c0570
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
cmp rax, r10
jne 0x1402c053e
mov rcx, rbx
call fcn.1402b5984
xor r10d, r10d
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x1402c0562
mov rdx, rdi
call fcn.1402d7594
jmp 0x1402c4202
mov qword [rcx], rdi
mov word [rcx + 0x14], 4
jmp 0x1402c4205
mov rbx, qword [rsp + 0x50]
test word [rdi + 0x14], cx
je 0x1402c058f
mov rcx, rdi
call fcn.1402d64e8
xor r10d, r10d
lea r11d, [r10 + 1]
jmp 0x1402c09ad
mov word [rdi + 0x14], r11w
jmp 0x1402c09ad
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
je 0x1402bf543
jmp 0x1402bf135
sub r8d, 0x34
je 0x1402c05d4
sub r8d, 1
je 0x1402c05d4
sub r8d, 1
je 0x1402c05d4
sub r8d, 1
je 0x1402c05d4
cmp r8d, 1
jne 0x1402bf13a
movsxd rax, dword [r12 + 4]
imul r14, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add r14, rsi
imul rsi, rax, 0x38
movzx edi, word [r14 + 0x14]
add rsi, qword [rsp + 0x68]
movzx ebx, word [rsi + 0x14]
movzx eax, bx
and ax, di
test dl, al
je 0x1402c068a
mov rax, qword [r14]
movzx ecx, byte [r12]
cmp qword [rsi], rax
jle 0x1402c063f
mov rax, qword [0x14047d468]
cmp byte [rcx + rax], r10b
jne 0x1402bf53e
mov rsi, qword [rsp + 0x68]
mov r9d, r11d
mov dword [rsp + 0x40], r11d
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
jmp 0x1402bf135
mov rbx, qword [rsp + 0x50]
jge 0x1402c066f
mov rax, qword [0x14047d458]
cmp byte [rcx + rax], r10b
jne 0x1402bf543
or r9d, 0xffffffff
mov dword [rsp + 0x40], r9d
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
jmp 0x1402bf135
mov rax, qword [0x14047d460]
cmp byte [rcx + rax], r10b
jne 0x1402bf543
mov r9d, r10d
mov dword [rsp + 0x40], r10d
jmp 0x1402c0660
movzx ecx, bx
or cx, di
test r11b, cl
je 0x1402c0736
test byte [r12 + 2], 0x80
je 0x1402c0714
test r11b, al
je 0x1402c06f9
mov eax, 0x100
test ax, bx
jne 0x1402c06f9
mov r9d, r10d
mov dword [rsp + 0x40], r10d
movzx edx, byte [r12]
mov rax, qword [0x14047d460]
cmp r9d, r10d
je 0x1402c06d0
mov rax, qword [0x14047d468]
mov dl, byte [rdx + rax]
mov word [rsi + 0x14], bx
mov rbx, qword [rsp + 0x50]
mov word [r14 + 0x14], di
cmp dl, r10b
jne 0x1402bf543
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
jmp 0x1402bf130
movzx eax, bx
not ax
and eax, r11d
lea r9d, [rax*2 - 1]
mov dword [rsp + 0x40], r9d
jmp 0x1402c0823
mov rbx, qword [rsp + 0x50]
mov eax, 0x10
test byte [r12 + 2], al
jne 0x1402bf543
mov r9d, r11d
mov dword [rsp + 0x40], r11d
jmp 0x1402c0660
mov al, byte [r12 + 2]
and al, 0x47
cmp al, 0x43
jb 0x1402c0784
mov r15d, 2
test r15b, cl
je 0x1402c0805
mov al, dil
and al, 0x2e
cmp al, r15b
jne 0x1402c0768
xor edx, edx
mov rcx, r14
call fcn.140237e98
movzx ebx, word [rsi + 0x14]
mov al, bl
and al, 0x2e
cmp al, r15b
jne 0x1402c0805
xor edx, edx
mov rcx, rsi
call fcn.140237e98
jmp 0x1402c0805
cmp al, 0x42
jne 0x1402c0805
mov r15d, 2
test r15b, cl
je 0x1402c0805
test r15b, dil
mov r15b, byte [rsp + 0x48]
jne 0x1402c07d9
test dil, 0x2c
je 0x1402c07d9
mov r8b, r11b
mov dl, r15b
mov rcx, r14
call fcn.1402c78e0
xor di, word [r14 + 0x14]
mov eax, 0xdbf
and di, ax
mov eax, 2
xor di, word [r14 + 0x14]
lea r11d, [rax - 1]
cmp r14, rsi
jne 0x1402c07de
movzx ebx, di
or bx, ax
jmp 0x1402c07de
mov eax, 2
test al, bl
jne 0x1402c0805
test bl, 0x2c
je 0x1402c0805
mov r8b, r11b
mov dl, r15b
mov rcx, rsi
call fcn.1402c78e0
xor bx, word [rsi + 0x14]
mov eax, 0xdbf
and bx, ax
xor bx, word [rsi + 0x14]
mov r8, qword [r12 + 0x10]
mov rdx, r14
mov rcx, rsi
call fcn.1402accc4
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r9d, eax
lea r11d, [r10 + 1]
cmp r9d, r10d
jge 0x1402c06b8
movzx ecx, byte [r12]
mov rax, qword [0x14047d458]
mov dl, byte [rcx + rax]
jmp 0x1402c06d3
cmp r8d, 0x3f
ja 0x1402c09c9
je 0x1402c094b
sub r8d, 0x3a
je 0x1402c093d
sub r8d, 1
je 0x1402c0916
sub r8d, 1
je 0x1402c08ee
sub r8d, 1
je 0x1402c08c3
cmp r8d, 1
jne 0x1402bf13a
movsxd rcx, dword [r12 + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14028db40
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
je 0x1402beaee
cmp eax, 0x65
jne 0x1402bf978
mov r13d, r10d
mov dword [rsp + 0x44], r10d
mov r11d, 1
jmp 0x1402bf543
movsxd rax, dword [r12 + 4]
movabs r8, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
cmp rax, r8
jle 0x1402c08e6
dec rax
mov qword [rcx + rsi], rax
cmp rax, r10
jmp 0x1402c05a7
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
cmp rax, r10
je 0x1402bf135
jle 0x1402bf543
dec rax
mov qword [rcx + rsi], rax
jmp 0x1402bf543
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + rsi]
cmp rdx, r10
jle 0x1402bf130
movsxd rax, dword [r12 + 0xc]
sub rdx, rax
mov qword [rcx + rsi], rdx
jmp 0x1402bf543
cmp r9d, r10d
je 0x1402bf543
jmp 0x1402bf13a
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], r10b
jne 0x1402bf135
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r14
mov r13d, eax
mov dword [rsp + 0x44], eax
call fcn.1402ca01c
xor r10d, r10d
test r13d, r13d
jne 0x1402bf978
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
mov rsi, qword [rsp + 0x68]
xor r10d, r10d
test eax, eax
jne 0x1402c4205
lea r11d, [r13 + 1]
mov rbx, qword [rsp + 0x50]
mov eax, dword [r12 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
mov qword [rsp + 0x78], r12
jmp 0x1402c420a
sub r8d, 0x40
je 0x1402c0b52
sub r8d, 1
je 0x1402c0a05
sub r8d, 1
je 0x1402c0a05
cmp r8d, 1
jne 0x1402bf13a
movsxd rax, dword [r12 + 4]
imul rax, rax, 0x38
test byte [rax + rsi + 0x14], dl
je 0x1402bf13a
mov rax, qword [rax + rsi]
jmp 0x1402bf4df
mov rdi, qword [r12 + 0x10]
movsxd rax, dword [r12 + 0xc]
imul rbx, rax, 0x38
mov qword [rbp - 0x70], rdi
add rbx, rsi
cmp qword [rdi], rbx
je 0x1402c0a75
movzx eax, byte [rdi + 0x2a]
mov r15b, byte [rsp + 0x48]
mov qword [rdi + 0x18], r14
mov qword [rdi], rbx
lea rdx, [rax - 1]
mov byte [rdi + 0x28], r15b
lea r9d, [rax - 1]
cmp rdx, r10
jl 0x1402c0a75
lea r8, [rdx + 6]
mov r14d, 8
lea r8, [rdi + r8*8]
mov eax, dword [r12 + 8]
sub rdx, r11
add eax, r9d
sub r9d, r11d
cdqe
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r8], rcx
sub r8, r14
cmp rdx, r10
jge 0x1402c0a4e
mov r14, qword [rsp + 0x60]
movzx eax, word [rbx + 0x14]
lea r8, [rdi + 0x30]
mov ecx, 0xf241
and ax, cx
mov rcx, rdi
or ax, r11w
mov word [rbx + 0x14], ax
mov rax, qword [rdi + 8]
movzx edx, byte [rdi + 0x2a]
call qword [rax + 0x18]
mov eax, dword [rdi + 0x24]
xor r10d, r10d
test eax, eax
je 0x1402beae9
jle 0x1402c0ad5
lea edx, [r10 + 1]
mov rcx, rbx
call fcn.1402bda04
mov r8, rax
lea rdx, [0x1403fa3c0]
mov rcx, r14
call fcn.1402be6e8
mov r13d, dword [rdi + 0x24]
xor r10d, r10d
mov dword [rsp + 0x44], r13d
mov rsi, qword [rsp + 0x60]
mov r15d, dword [r12 + 4]
add rsi, 0x128
mov r14d, dword [rdi + 0x20]
mov rbx, qword [rsi]
test rbx, rbx
je 0x1402c0b49
mov rdi, qword [rsp + 0x70]
test r14d, r14d
js 0x1402c0b19
cmp dword [rbx], r14d
jne 0x1402c0b13
mov eax, dword [rbx + 4]
test eax, eax
js 0x1402c0b13
cmp eax, 0x1f
jg 0x1402c0b19
bt r15d, eax
jae 0x1402c0b19
lea rsi, [rbx + 0x18]
jmp 0x1402c0b3d
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1402c0b28
mov rcx, qword [rbx + 8]
call rax
mov rax, qword [rbx + 0x18]
mov rdx, rbx
mov rcx, rdi
mov qword [rsi], rax
call fcn.1402939e0
xor r10d, r10d
mov rbx, qword [rsi]
test rbx, rbx
jne 0x1402c0af7
mov rdi, qword [rbp - 0x70]
mov dword [rdi + 0x24], r10d
jmp 0x1402bead6
movsxd rax, dword [r12 + 4]
mov rdx, r12
mov rcx, rsi
imul rbx, rax, 0x38
call fcn.14024659c
mov ecx, dword [rbx + rsi + 0x10]
xor edx, edx
shl ecx, 3
mov r11d, 1
movsxd r8, ecx
div r8
mov rax, qword [rbx + rsi + 8]
mov rbx, qword [rsp + 0x50]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
mov al, dl
and al, 7
movzx eax, al
bt r8d, eax
jb 0x1402c0bad
add dword [r14 + 0xf4], r11d
xor r10d, r10d
jmp 0x1402bf543
add dword [r14 + 0xf0], r11d
mov r9d, dword [rsp + 0x40]
xor r10d, r10d
jmp 0x1402bf130
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rsi]
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
sub eax, r11d
mov word [rdx + rsi + 0x14], r10w
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp 0x1402bf130
cmp r8d, 0x50
ja 0x1402c0ff2
je 0x1402c0f5d
cmp r8d, 0x4a
ja 0x1402c0d05
je 0x1402c0eb9
sub r8d, 0x45
je 0x1402c0c68
sub r8d, 1
je 0x1402c0c7c
sub r8d, 1
je 0x1402c0c50
sub r8d, 1
je 0x1402c0c35
cmp r8d, 1
je 0x1402c2d97
jmp 0x1402bf13a
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
mov rcx, qword [r12 + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x1402bf7b8
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
movsxd rcx, dword [r12 + 4]
mov qword [rax], rcx
jmp 0x1402bf7b8
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
je 0x1402bf135
mov rcx, qword [r14 + 0x108]
cmp rcx, r10
je 0x1402c53c6
cmp dword [r12 + 4], r10d
jne 0x1402c53c6
mov rax, qword [rcx + 8]
dec dword [r14 + 0x118]
mov qword [r14 + 0x108], rax
mov rax, qword [r14 + 0x38]
add qword [r15 + 0x80], rax
mov qword [r15 + 0x78], rax
call fcn.1402c5dcc
mov edx, 4
lea r11d, [rdx - 3]
cmp dword [r12 + 8], edx
jne 0x1402c0ce1
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, r11d
mov rbx, qword [r14 + 0x88]
mov rsi, qword [r14 + 0x68]
cdqe
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x68], rsi
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp 0x1402c0078
sub r8d, 0x4b
je 0x1402c0eb9
sub r8d, 1
je 0x1402c0e95
sub r8d, 1
je 0x1402c0e3b
sub r8d, 1
je 0x1402c0dc8
cmp r8d, 1
jne 0x1402bf13a
movsxd rax, dword [r12 + 4]
mov esi, dword [r12 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 8]
add rdi, qword [rsp + 0x68]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x1402c0d69
cmp dword [rbx + 0x20], r10d
je 0x1402c0d71
mov rcx, rbx
call fcn.1402d64ac
mov r8d, 0x38
mov rdx, rdi
mov rcx, rbx
call fcn.140330ef0
xor r10d, r10d
mov r11d, 1
mov eax, 0x4000
mov word [rdi + 0x14], r11w
mov dword [rdi + 0x20], r10d
test word [rbx + 0x14], ax
je 0x1402c0db6
mov rcx, rbx
call fcn.1402c72cc
xor r10d, r10d
test eax, eax
jne 0x1402c572e
lea r11d, [r10 + 1]
add rdi, 0x38
add rbx, 0x38
sub esi, r11d
jne 0x1402c0d58
jmp 0x1402bf121
mov eax, dword [r12 + 4]
sub eax, r11d
cdqe
imul rdi, rax, 0x38
add rdi, qword [r14 + 0x80]
mov rcx, rdi
call fcn.1402c79f4
cmp eax, r10d
jne 0x1402c5611
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, rsi
test word [rbx + 0x14], ax
je 0x1402c0e0d
mov rcx, rbx
call fcn.1402d64e8
mov r8d, 0x18
mov rdx, rdi
mov rcx, rbx
call fcn.140330ef0
movzx eax, word [rbx + 0x14]
mov ecx, 0xafff
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
jmp 0x1402bf7b3
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
mov rdx, qword [r12 + 0x10]
mov rbx, rax
xor eax, eax
mov rcx, rbx
test rdx, rdx
jne 0x1402c0e77
mov edx, dword [r12 + 4]
call fcn.1402c7834
mov rcx, rbx
call fcn.1402c6f08
xor r10d, r10d
test eax, eax
jne 0x1402c572e
jmp 0x1402c0e8c
movsxd r8, dword [r12 + 4]
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.1402c7524
xor r10d, r10d
mov byte [rbx + 0x16], dil
jmp 0x1402beae9
movsxd rax, dword [r12 + 4]
mov edx, 0xffc1
imul rcx, rax, 0x38
movzx eax, word [rcx + rsi + 0x14]
and ax, dx
or ax, r11w
mov word [rcx + rsi + 0x14], ax
jmp 0x1402bf130
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], cx
je 0x1402c0ee0
mov rcx, rdx
call fcn.1402794d8
xor r10d, r10d
mov rdx, rax
lea r11d, [r10 + 1]
jmp 0x1402c0ee6
mov word [rdx + 0x14], 4
mov ecx, dword [r12 + 8]
lea rbx, [rdx + 0x14]
mov eax, dword [r12 + 4]
mov edi, dword [r12 + 0xc]
neg eax
mov eax, 0x100
mov dword [rdx + 0x10], r10d
sbb si, si
and si, ax
add si, r11w
sub edi, ecx
mov ecx, 0x9000
jmp 0x1402c0f3c
lea rbx, [rbx + 0x38]
test word [rbx], cx
je 0x1402c0f35
lea rcx, [rbx - 0x14]
call fcn.1402d64e8
xor r10d, r10d
mov ecx, 0x9000
lea r11d, [r10 + 1]
mov dword [rbx - 4], r10d
sub edi, r11d
mov word [rbx], si
cmp edi, r10d
jg 0x1402c0f17
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x40]
mov edx, 4
jmp 0x1402bf13a
movsxd rax, dword [r12 + 4]
mov esi, dword [r12 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 8]
add rdi, qword [rsp + 0x68]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
mov r8d, 0x4000
mov rdx, rdi
mov rcx, rbx
call fcn.1402c7880
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x1402c0faf
mov rcx, rbx
call fcn.1402c72cc
xor r10d, r10d
test eax, eax
jne 0x1402c572e
jmp 0x1402c0fb2
xor r10d, r10d
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x1402c0fd5
mov ecx, 2
test byte [r12 + 2], cl
je 0x1402c0fd5
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
mov r11d, 1
sub esi, r11d
test eax, eax
je 0x1402c1964
add rbx, 0x38
add rdi, 0x38
jmp 0x1402c0f7e
cmp r8d, 0x56
ja 0x1402c10fa
je 0x1402c10d9
sub r8d, 0x51
je 0x1402c10b1
sub r8d, 1
je 0x1402c1077
sub r8d, 1
je 0x1402c1068
sub r8d, 1
je 0x1402c54d1
cmp r8d, 1
jne 0x1402bf13a
cmp dword [r12 + 4], r10d
je 0x1402bf13a
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x1402c105a
xor edx, edx
call fcn.1402d7594
jmp 0x1402bf7b8
mov qword [rcx], r10
mov word [rcx + 0x14], dx
mov ecx, eax
jmp 0x1402bf13a
xor edx, edx
mov rcx, r14
call fcn.1402be030
jmp 0x1402bf17d
movsxd rax, dword [r12 + 8]
imul r8, rax, 0x38
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add r8, rsi
mov rax, qword [rcx + rsi]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x1402c10a4
mov rdx, rax
mov rcx, r8
jmp 0x1402c1050
mov qword [r8], rax
mov word [r8 + 0x14], dx
jmp 0x1402bf13a
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rdx, rsi
add rcx, rsi
mov r8d, 0x4000
call fcn.1402c7880
jmp 0x1402bf7b8
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.1402c729c
movsxd rax, dword [r12 + 8]
add qword [rbx], rax
jmp 0x1402bf7b3
sub r8d, 0x57
je 0x1402c12da
sub r8d, 1
je 0x1402c128c
sub r8d, 2
je 0x1402c117b
cmp r8d, 1
jne 0x1402bf13a
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1402bdf14
movsxd rdx, dword [r12 + 0x10]
movsxd rcx, eax
movsxd rax, dword [r12 + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
jne 0x1402c1050
mov qword [rcx], rdx
mov edx, 4
mov word [rcx + 0x14], dx
mov ecx, eax
xor r10d, r10d
mov r9d, dword [rsp + 0x40]
mov r11d, 1
jmp 0x1402bf13a
test byte [r12 + 2], r11b
jne 0x1402c1187
mov rdi, r10
jmp 0x1402c118f
mov rdi, qword [r12 - 8]
add rdi, rdx
movsxd rax, dword [r12 + 0xc]
mov r14d, r10d
mov r8d, dword [r12 + 4]
mov rbx, r10
mov ecx, dword [r12 + 8]
mov r13, qword [r12 + 0x10]
mov dword [rbp - 0x60], r8d
mov dword [rbp - 0x80], ecx
mov qword [rbp - 0x70], rax
cmp rax, r10
jle 0x1402c513e
lea r15, [r13 + 0x20]
cmp rdi, r10
je 0x1402c11cb
mov edx, dword [rdi + rbx*4]
jmp 0x1402c11ce
mov edx, r14d
mov rax, qword [r13 + 0x18]
add ecx, edx
imul r12, rcx, 0x38
movzx eax, byte [rax + rbx]
lea ecx, [rdx + r8]
mov r8, qword [r15]
and eax, r11d
mov dword [rbp - 0x50], eax
add r12, rsi
imul rax, rcx, 0x38
mov rdx, r12
add rsi, rax
mov rcx, rsi
call fcn.1402accc4
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r9d, eax
lea r11d, [r10 + 1]
test eax, eax
jne 0x1402c1245
mov r8d, dword [rbp - 0x60]
add r14d, r11d
mov ecx, dword [rbp - 0x80]
add rbx, r11
mov rsi, qword [rsp + 0x68]
add r15, 8
cmp rbx, qword [rbp - 0x70]
jl 0x1402c11c1
mov r13d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x78]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
jmp 0x1402bf130
mov rax, qword [r13 + 0x18]
mov ecx, 2
test byte [rbx + rax], cl
je 0x1402c1268
test byte [rsi + 0x14], r11b
jne 0x1402c1260
test byte [r12 + 0x14], r11b
je 0x1402c1268
neg r9d
mov dword [rsp + 0x40], r9d
mov r13d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x78]
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
cmp dword [rbp - 0x50], r10d
je 0x1402c123b
neg r9d
mov dword [rsp + 0x40], r9d
jmp 0x1402c123b
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, rsi
test word [rbx + 0x14], ax
je 0x1402c12b9
mov rcx, rbx
call fcn.1402c6f08
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1402bf978
mov dl, byte [r12 + 8]
mov r8b, dil
mov rcx, rbx
call fcn.1402c6d2c
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jmp 0x1402bfcdf
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, rsi
test byte [rcx + 0x14], 0x24
je 0x1402bf135
call fcn.1402c73c8
jmp 0x1402bf7b8
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jne 0x1402c1324
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jne 0x1402c1324
movsxd rax, dword [r12 + 8]
jmp 0x1402c103c
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x1402c1345
call fcn.1402d64e8
jmp 0x1402bf7b8
mov word [rcx + 0x14], r11w
jmp 0x1402c1061
mov eax, 0x8c
cmp r8d, eax
ja 0x1402c3a0e
je 0x1402c3924
cmp r8d, 0x74
ja 0x1402c29ea
je 0x1402c2ae1
cmp r8d, 0x69
ja 0x1402c2345
je 0x1402c20fa
cmp r8d, 0x63
ja 0x1402c20d4
je 0x1402c20a0
sub r8d, 0x5e
je 0x1402c1aa1
sub r8d, 1
je 0x1402c1973
sub r8d, 1
je 0x1402c18b3
sub r8d, 1
je 0x1402c141f
cmp r8d, 1
jne 0x1402bf13a
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
cmp dword [r12 + 0xc], r10d
je 0x1402c13e6
mov rcx, rdx
call fcn.14028f2d4
mov rbx, rax
jmp 0x1402c140c
lea r8, [rbp - 0x70]
mov qword [rbp - 0x70], r10
mov rcx, r15
call fcn.14028d370
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
mov rbx, qword [rbp - 0x70]
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
mov qword [rax], rbx
jmp 0x1402c4202
mov rcx, qword [rsp + 0x78]
mov r9d, 1
mov r15, r10
mov qword [rbp + 0x28], r10
mov r12d, r10d
mov dword [rbp - 0x50], r10d
mov qword [rbp - 0x60], r10
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r11, rax, 0x38
mov eax, dword [rcx + 8]
add r11, rsi
sub eax, r9d
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul r13, rax, 0x38
add rsi, r11
mov qword [rbp - 0x80], r11
add r13, qword [rsp + 0x68]
mov qword [rbp - 0x70], rsi
mov qword [rbp + 0x30], r13
cmp rdi, r10
je 0x1402c14de
mov sil, byte [rsp + 0x48]
lea rbx, [r11 + 0x14]
lea r13d, [r9 + 3]
mov r15d, 0xfffb
lea r12d, [r9 + 0x1f]
mov dl, byte [rdi]
lea rcx, [rbx - 0x14]
mov r8b, sil
call fcn.140237e2c
cmp byte [rdi], 0x45
jne 0x1402c14b5
movzx eax, word [rbx]
test r13b, al
je 0x1402c14b5
and ax, r15w
or ax, r12w
mov word [rbx], ax
mov r9d, 1
add rbx, 0x38
add rdi, r9
xor r10d, r10d
cmp byte [rdi], r10b
jne 0x1402c148f
mov r15, qword [rbp + 0x28]
mov r12d, dword [rbp - 0x50]
mov r13, qword [rbp + 0x30]
mov r11, qword [rbp - 0x80]
mov rsi, qword [rbp - 0x70]
add rsi, 0x24
movzx edx, word [rsi - 0x10]
test r9b, dl
je 0x1402c1503
add r12d, r9d
mov eax, 0x400
and dx, ax
neg dx
sbb ebx, ebx
and ebx, 0xa
jmp 0x1402c165a
test dl, 0x24
je 0x1402c15e1
mov r8, qword [rsi - 0x24]
mov rcx, r8
cmp r8, r10
jge 0x1402c151b
not rcx
add r12d, r9d
cmp rcx, 0x7f
ja 0x1402c1550
mov rax, r8
and rax, r9
cmp rax, r8
jne 0x1402c1545
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0xc5], 4
jb 0x1402c1545
lea ebx, [rcx + 8]
jmp 0x1402c165a
add r15, r9
mov ebx, r9d
jmp 0x1402c165a
cmp rcx, 0x7fff
ja 0x1402c1568
mov eax, 2
add r15, rax
mov ebx, eax
jmp 0x1402c165a
cmp rcx, 0x7fffff
ja 0x1402c1578
mov eax, 3
jmp 0x1402c155e
cmp rcx, 0x7fffffff
ja 0x1402c1588
mov eax, 4
jmp 0x1402c155e
movabs rax, 0x7fffffffffff
cmp rcx, rax
ja 0x1402c15a5
add r15, 6
mov ebx, 5
jmp 0x1402c165a
mov ecx, 8
add r15, rcx
lea eax, [rcx + 0x18]
test al, dl
je 0x1402c15da
xorps xmm0, xmm0
mov eax, 0xffdf
cvtsi2sd xmm0, r8
and dx, ax
or dx, cx
mov word [rsi - 0x10], dx
movsd qword [rsi - 0x24], xmm0
mov ebx, 7
jmp 0x1402c165a
mov ebx, 6
jmp 0x1402c165a
mov eax, 8
test al, dl
je 0x1402c15f2
add r12d, r9d
add r15, rax
jmp 0x1402c15d0
mov r14d, dword [rsi - 0x14]
mov eax, edx
shr eax, 1
and eax, r9d
bt dx, 0xa
lea ebx, [r14 + 6]
lea ebx, [rax + rbx*2]
jae 0x1402c163a
lea rdi, [rsi - 0x24]
movsxd rax, dword [rdi]
lea ebx, [rbx + rax*2]
cmp r15, r10
je 0x1402c1636
mov rcx, rdi
call fcn.1402c6f08
xor r10d, r10d
test eax, eax
jne 0x1402c5724
add r14d, dword [rdi]
lea r9d, [r10 + 1]
jmp 0x1402c163a
add qword [rbp - 0x60], rax
mov eax, r14d
mov ecx, r9d
add r15, rax
mov eax, ebx
jmp 0x1402c164a
add ecx, r9d
shr rax, 7
cmp rax, r10
jne 0x1402c1647
mov r11, qword [rbp - 0x80]
add r12d, ecx
mov rax, rsi
mov dword [rax], ebx
lea rax, [rsi - 0x24]
cmp rax, r11
je 0x1402c1671
sub rsi, 0x38
jmp 0x1402c14e2
cmp r12d, 0x7e
jle 0x1402c16a6
mov edx, r9d
movsxd rax, r12d
jmp 0x1402c1682
add edx, r9d
shr rax, 7
cmp rax, r10
jne 0x1402c167f
add r12d, edx
mov ecx, r9d
movsxd rax, r12d
jmp 0x1402c1699
add ecx, r9d
shr rax, 7
cmp rax, r10
jne 0x1402c1696
cmp edx, ecx
jge 0x1402c16a9
add r12d, r9d
mov r14, qword [rbp - 0x60]
movsxd rax, dword [r13 + 0x20]
movsxd rbx, r12d
add rbx, r15
lea rcx, [rbx + r14]
cmp rcx, rax
jle 0x1402c16fd
mov r15, qword [rsp + 0x70]
movsxd rax, dword [r15 + 0x88]
cmp rcx, rax
jg 0x1402c560c
cmp dword [r13 + 0x20], ebx
jge 0x1402c16fd
xor r8d, r8d
mov edx, ebx
mov rcx, r13
call fcn.1402c714c
xor r10d, r10d
test eax, eax
jne 0x1402c1fa2
mov r11, qword [rbp - 0x80]
lea r9d, [r10 + 1]
jmp 0x1402c1705
mov rax, qword [r13 + 0x28]
mov qword [r13 + 8], rax
mov dword [r13 + 0x10], ebx
mov word [r13 + 0x14], 0x10
cmp r14, r10
je 0x1402c1720
mov dword [r13], r14d
mov word [r13 + 0x14], 0x410
mov rsi, qword [r13 + 8]
movsxd rdi, r12d
add rdi, rsi
cmp r12d, 0x80
jge 0x1402c173b
mov byte [rsi], r12b
add rsi, r9
jmp 0x1402c1753
movsxd rdx, r12d
mov rcx, rsi
call fcn.1402a4814
movsxd rcx, eax
add rsi, rcx
xor r10d, r10d
lea r9d, [r10 + 1]
mov r15, qword [rbp - 0x70]
lea r14, [r11 + 0x10]
mov ebx, dword [r14 + 0x14]
cmp ebx, 7
ja 0x1402c1841
mov byte [rsi], bl
add rsi, r9
cmp ebx, r10d
je 0x1402c1891
cmp ebx, 7
jne 0x1402c1795
lea r8d, [rbx + 1]
lea rdx, [r14 - 0x10]
lea rcx, [rbp - 0x58]
call fcn.140330ef0
mov rcx, qword [rbp - 0x58]
xor r10d, r10d
jmp 0x1402c179d
mov rcx, qword [r14 - 0x10]
mov qword [rbp - 0x58], rcx
lea rdx, [0x140000000]
movzx edx, byte [rbx + rdx + 0x3f51e0]
mov eax, edx
sub eax, 1
je 0x1402c183a
sub eax, 1
je 0x1402c182b
sub eax, 1
je 0x1402c181c
sub eax, 1
je 0x1402c180d
mov r8d, 2
cmp eax, r8d
je 0x1402c17ef
mov byte [rdi + 7], cl
mov rax, qword [rbp - 0x58]
shr rax, 8
mov qword [rbp - 0x58], rax
mov byte [rdi + 6], al
mov rcx, qword [rbp - 0x58]
shr rcx, 8
mov qword [rbp - 0x58], rcx
mov byte [rdi + 5], cl
mov rax, qword [rbp - 0x58]
shr rax, 8
mov qword [rbp - 0x58], rax
mov byte [rdi + 4], al
mov rcx, qword [rbp - 0x58]
shr rcx, 8
mov qword [rbp - 0x58], rcx
mov byte [rdi + 3], cl
mov rcx, qword [rbp - 0x58]
shr rcx, 8
mov qword [rbp - 0x58], rcx
mov byte [rdi + 2], cl
mov rcx, qword [rbp - 0x58]
shr rcx, 8
mov qword [rbp - 0x58], rcx
mov byte [rdi + 1], cl
mov rcx, qword [rbp - 0x58]
shr rcx, 8
mov qword [rbp - 0x58], rcx
mov byte [rdi], cl
add rdi, rdx
jmp 0x1402c1891
cmp ebx, 0x80
jae 0x1402c1860
mov r11d, 1
mov byte [rsi], bl
add rsi, r11
cmp ebx, 0xe
jb 0x1402c1897
cmp dword [r14], r10d
jle 0x1402c1897
jmp 0x1402c1879
mov rdx, rbx
mov rcx, rsi
call fcn.1402a4814
movsxd rcx, eax
xor r10d, r10d
add rsi, rcx
cmp dword [r14], r10d
je 0x1402c1891
movsxd r8, dword [r14]
mov rcx, rdi
mov rdx, qword [r14 - 8]
call fcn.140330ef0
movsxd rax, dword [r14]
add rdi, rax
xor r10d, r10d
mov r11d, 1
lea rax, [r14 - 0x10]
cmp rax, r15
je 0x1402c1955
add r14, 0x38
mov r9d, 1
jmp 0x1402c175b
movsxd rax, dword [r12 + 4]
mov rdi, qword [r12 + 0x10]
mov r12d, 0xfffb
mov r15b, byte [rsp + 0x48]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, rsi
mov esi, 8
lea r14d, [rsi - 4]
lea r13d, [rsi + 0x18]
mov r8b, r15b
mov dl, al
mov rcx, rbx
call fcn.140237e2c
cmp byte [rdi], 0x45
jne 0x1402c193d
movzx ecx, word [rbx + 0x14]
test r14b, cl
je 0x1402c193d
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x1402c1922
and cx, r12w
or cx, r13w
jmp 0x1402c1939
xorps xmm0, xmm0
mov eax, 0xfff9
cvtsi2sd xmm0, rdx
and cx, ax
or cx, si
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
mov r11d, 1
xor r10d, r10d
add rdi, r11
mov al, byte [rdi]
test al, al
je 0x1402c1955
add rbx, 0x38
jmp 0x1402c18de
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x78]
mov r13d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x40]
jmp 0x1402c123b
mov r15, qword [r12 + 0x10]
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov rdi, qword [r15 + 8]
add rbx, rsi
mov esi, r10d
cmp r10w, word [r15 + 0x36]
jge 0x1402c222d
lea r14, [rdi + 0xc]
test byte [r14 + 6], 0x60
je 0x1402c19c0
mov eax, 0x20
test byte [r14 + 6], al
jne 0x1402c1a88
cmp dword [r12 + 0xc], r10d
je 0x1402c19c0
add rbx, 0x38
jmp 0x1402c1a88
mov r8b, byte [rsp + 0x48]
mov rcx, rbx
mov dl, byte [r14]
call fcn.140237e2c
movzx ecx, word [rbx + 0x14]
mov r11d, 1
movzx edx, cx
test r11b, cl
jne 0x1402c1a81
mov eax, dword [r14 - 4]
lea r8d, [r11 + 1]
shr eax, 4
and eax, 0xf
sub eax, r8d
je 0x1402c1a74
sub eax, r11d
je 0x1402c1a6d
sub eax, r11d
je 0x1402c1a6d
sub eax, r11d
je 0x1402c1a12
cmp eax, r11d
jne 0x1402c1a81
test r8b, cl
jmp 0x1402c1a7b
mov eax, 4
test al, cl
je 0x1402c1a68
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov rax, rbx
ja 0x1402c1a43
or cx, 0x20
jmp 0x1402c1a53
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
mov edx, 0x14
mov r8d, 0xfffb
and cx, r8w
mov word [rax + rdx], cx
jmp 0x1402c1a81
test cl, 0x28
jmp 0x1402c1a7b
mov eax, 4
jmp 0x1402c1a79
mov eax, 0x10
test al, cl
je 0x1402c5554
add rbx, 0x38
xor r10d, r10d
movsx eax, word [r15 + 0x36]
add esi, r11d
add r14, 0x18
cmp esi, eax
jl 0x1402c199a
jmp 0x1402bf6d3
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov r14d, dword [r12 + 8]
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x80], r14d
mov r12, qword [rbx + 0x58]
mov eax, dword [rsi + 0x2c]
mov qword [rbp - 0x50], r12
cmp dword [rbx + 0x20], eax
je 0x1402c1b06
cmp byte [rbx + 2], r10b
jne 0x1402c1b7e
mov rdi, qword [rbx + 0x30]
cmp byte [rbx + 3], r10b
je 0x1402c1aff
mov rdx, qword [rbx + 0x10]
cmp rdx, r10
je 0x1402c1b31
lea eax, [r14 + 1]
mov eax, dword [rdx + rax*4]
cmp eax, r10d
jbe 0x1402c1b31
mov rbx, qword [rbx + 0x28]
lea r14d, [rax - 1]
jmp 0x1402c1ab8
cmp byte [rdi], r10b
je 0x1402c1b47
jmp 0x1402c1b13
mov rax, qword [rbx + 0x30]
cmp byte [rax], r10b
je 0x1402c1c80
mov rcx, rbx
call fcn.1402c63d0
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
je 0x1402c1abc
mov r14, rsi
jmp 0x1402bf978
mov rcx, rbx
call fcn.1402c5d6c
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402c1b29
mov rcx, rdi
call fcn.14026c5cc
mov eax, dword [rdi + 0x40]
xor r10d, r10d
mov dword [rbx + 0x68], eax
mov rax, qword [rdi + 0x88]
movzx ecx, word [rdi + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rdi + 0x38]
cmp ecx, edx
jle 0x1402c1b75
test edx, edx
mov ecx, edx
cmovs ecx, r10d
mov dword [rbx + 0x6c], ecx
mov rcx, qword [rdi + 0x38]
jmp 0x1402c1baf
mov eax, 3
cmp byte [rbx], al
jne 0x1402c1c2c
cmp dword [rbx + 0x24], r10d
jle 0x1402c1c2c
movsxd rax, dword [rbx + 0x24]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
mov eax, dword [rcx + 0x10]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + 8]
mov qword [rbx + 0x60], rcx
lea rdi, [rbx + 0x40]
mov eax, dword [rsi + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r12], eax
cmp eax, 0x80
jae 0x1402c1bd6
mov r11d, 1
mov eax, r11d
jmp 0x1402c1bec
mov rcx, qword [rbx + 0x60]
mov rdx, r12
call fcn.1402a8fdc
xor r10d, r10d
movzx eax, al
lea r11d, [r10 + 1]
mov rcx, rdi
lea rsi, [rbx + 0x4a]
mov dword [rcx], eax
mov word [rsi], r10w
mov eax, dword [r12]
cmp dword [rbx + 0x6c], eax
jae 0x1402c1c23
mov qword [rbx + 0x60], r10
mov dword [rbx + 0x6c], r10d
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x1402c1e9a
cmp eax, dword [rbx + 0x68]
jbe 0x1402c1c8a
jmp 0x1402c1e9a
mov rax, qword [rbx + 0x60]
jmp 0x1402c1cf2
mov r12, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x1402c1c5c
call fcn.1402d64e8
mov r14, qword [rsp + 0x60]
jmp 0x1402bf7b3
mov r14, qword [rsp + 0x60]
mov r11d, 1
mov rbx, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x40]
mov word [rcx + 0x14], r11w
mov edx, 4
jmp 0x1402c1061
lea rsi, [rbx + 0x4a]
mov r11d, 1
movzx eax, word [rsi]
cmp eax, r14d
ja 0x1402c1ef8
mov eax, dword [r12]
lea rdi, [rbx + 0x40]
cmp dword [rdi], eax
jae 0x1402c1ec7
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x70], rax
cmp rax, r10
jne 0x1402c1cf6
xor edx, edx
lea rcx, [rbp + 0x108]
lea r8d, [rdx + 0x38]
call fcn.140331590
mov edx, dword [r12]
lea r8, [rbp + 0x108]
mov rcx, qword [rbx + 0x30]
call fcn.1402c70f0
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf973
mov rax, qword [rbp + 0x110]
mov qword [rbp - 0x70], rax
movzx r13d, word [rsi]
mov r11d, 1
mov edi, dword [rdi]
mov r14d, r13d
mov rcx, qword [rbp - 0x50]
add rdi, rax
mov r15d, dword [r12 + r13*4]
mov r12d, dword [r12]
add r12, rax
movzx esi, byte [rdi]
mov dword [rbp - 0x60], esi
mov dword [rbx + r14*4 + 0x78], esi
cmp esi, 0x80
jae 0x1402c1d3e
lea rdx, [0x140000000]
add rdi, r11
movzx eax, byte [rsi + rdx + 0x3f51e0]
jmp 0x1402c1d80
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.1402a8fdc
mov esi, dword [rbp - 0x60]
movzx eax, al
add rdi, rax
mov dword [rbx + r14*4 + 0x78], esi
cmp esi, 0x80
jb 0x1402c1d67
lea eax, [rsi - 0xc]
shr eax, 1
jmp 0x1402c1d76
lea rcx, [0x140000000]
movzx eax, byte [rsi + rcx + 0x3f51e0]
mov rcx, qword [rbp - 0x50]
mov r11d, 1
add r13d, r11d
add r15, rax
movsxd r14, r13d
mov dword [rcx + r14*4], r15d
cmp r13d, dword [rbp - 0x80]
ja 0x1402c1d9c
cmp rdi, r12
jb 0x1402c1d17
cmp rdi, r12
jb 0x1402c1e4b
ja 0x1402c1e57
mov eax, dword [rbx + 0x68]
cmp r15, rax
jne 0x1402c1e57
xor r10d, r10d
sub edi, dword [rbp - 0x70]
mov edx, 0x9000
mov word [rbx + 0x4a], r13w
mov dword [rbx + 0x40], edi
cmp qword [rbx + 0x60], r10
jne 0x1402c1dfa
test word [rbp + 0x11c], dx
jne 0x1402c1de2
cmp dword [rbp + 0x128], r10d
je 0x1402c1dfa
lea rcx, [rbp + 0x108]
call fcn.1402d64ac
xor r10d, r10d
mov edx, 0x9000
lea r11d, [r10 + 1]
mov r12, qword [rbp - 0x50]
mov r14d, dword [rbp - 0x80]
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x1402c1eff
mov r12, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
cmp byte [r12 + 1], 0xf6
jne 0x1402c1ed4
mov rdx, qword [r12 + 0x10]
mov r8d, 0x2000
call fcn.1402c7880
mov r13d, dword [rsp + 0x44]
jmp 0x1402c1c52
mov eax, dword [rbx + 0x68]
cmp r15, rax
jbe 0x1402c1db7
xor r10d, r10d
cmp dword [rcx], r10d
jne 0x1402c1e6a
mov r13d, r10d
mov rdi, r12
jmp 0x1402c1dba
cmp qword [rbx + 0x60], r10
jne 0x1402c1e9a
mov eax, 0x9000
test word [rbp + 0x11c], ax
jne 0x1402c1e87
cmp dword [rbp + 0x128], r10d
je 0x1402c1e9a
lea rcx, [rbp + 0x108]
call fcn.1402d64ac
xor r10d, r10d
lea r11d, [r10 + 1]
mov rbx, qword [rsp + 0x50]
mov eax, dword [rbx + 0xc]
cmp eax, r10d
jle 0x1402c55be
mov r13d, dword [rsp + 0x44]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r12, [rbx + rax*8]
mov r14, qword [rsp + 0x60]
jmp 0x1402bffa2
mov esi, r10d
mov edx, 0x9000
jmp 0x1402c1e02
test word [rcx + 0x14], dx
je 0x1402c1ee4
call fcn.1402d64e8
jmp 0x1402c1e41
mov r13d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x60]
mov word [rcx + 0x14], r11w
jmp 0x1402bf126
mov eax, r14d
mov esi, dword [rbx + rax*4 + 0x78]
mov r15, qword [rsp + 0x78]
movsxd rax, dword [r15 + 0xc]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsp + 0x68]
test word [rdi + 0x14], ax
je 0x1402c1f24
mov rcx, rdi
call fcn.1402d64e8
lea eax, [r14 + 1]
mov eax, dword [r12 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x1402c1ffd
mov eax, r14d
mov r14d, dword [r12 + rax*4]
add r14, qword [rbx + 0x60]
cmp esi, 0xc
jae 0x1402c1f64
mov rcx, r14
mov edx, esi
mov r8, rdi
call fcn.1402c895c
mov r13d, dword [rsp + 0x44]
mov r12, r15
mov r14, qword [rsp + 0x60]
jmp 0x1402c04c0
mov al, byte [rsp + 0x48]
lea ebx, [rsi - 0xc]
shr ebx, 1
mov dword [rdi + 0x10], ebx
mov byte [rdi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rdi + 0x20], edx
jge 0x1402c1fac
mov r15, qword [rsp + 0x70]
cmp ebx, dword [r15 + 0x88]
jg 0x1402c560c
xor r8d, r8d
mov word [rdi + 0x14], 1
mov rcx, rdi
call fcn.1402c714c
test eax, eax
je 0x1402c1fb4
mov r14, qword [rsp + 0x60]
jmp 0x1402c572e
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
mov r8, rbx
mov rdx, r14
call fcn.140330ef0
mov rax, qword [rdi + 8]
lea rcx, [0x140000000]
mov r13d, dword [rsp + 0x44]
xor r10d, r10d
mov byte [rbx + rax], r10b
mov rax, qword [rdi + 8]
lea r11d, [r10 + 1]
mov byte [rax + rbx + 1], r10b
mov eax, esi
and rax, r11
movzx eax, word [rcx + rax*2 + 0x3f74e4]
mov word [rdi + 0x14], ax
jmp 0x1402bf6ce
mov al, byte [rsp + 0x48]
mov byte [rdi + 0x16], al
mov al, byte [r15 + 2]
and al, 0xc0
je 0x1402c2024
cmp al, 0x80
je 0x1402c2048
cmp esi, 0xc
jb 0x1402c2024
mov r11d, 1
test r11b, sil
je 0x1402c2048
cmp al, 0xc0
je 0x1402c2048
cmp esi, 0x80
jb 0x1402c2033
lea eax, [rsi - 0xc]
shr eax, 1
jmp 0x1402c2044
mov eax, esi
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x3f51e0]
test eax, eax
jne 0x1402c2054
lea rcx, [0x1403f5000]
jmp 0x1402c1f48
mov eax, r14d
mov r8d, esi
mov qword [rsp + 0x30], rdi
mov edx, r14d
mov rcx, rbx
mov r9d, dword [r12 + rax*4]
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x20], eax
call fcn.1402d56f0
mov r14, qword [rsp + 0x60]
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402c55d5
mov r12, r15
jmp 0x1402beae4
movsxd rax, dword [r12 + 4]
lea r8, [rbp - 0x10]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r12 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14028da54
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
movsxd rcx, dword [rbp - 0x10]
jmp 0x1402c0c60
sub r8d, 0x64
je 0x1402c218f
sub r8d, 1
je 0x1402c214b
sub r8d, 1
je 0x1402c20fa
sub r8d, 1
je 0x1402c20fa
cmp r8d, 1
jne 0x1402bf13a
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rbx, rsi
add rcx, rsi
imul rsi, rax, 0x38
mov al, byte [rcx + 0x14]
add rsi, qword [rsp + 0x68]
or al, byte [rbx + 0x14]
test r11b, al
je 0x1402c2237
mov ecx, 0x9000
test word [rsi + 0x14], cx
je 0x1402c2228
mov rcx, rsi
call fcn.1402d64e8
jmp 0x1402c04c0
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp rdi, r10
je 0x1402c28b8
mov eax, dword [r12 + 8]
cmp dword [rdi + 0x44], eax
jne 0x1402c28b8
mov rbx, qword [rdi + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.140232dc8
xor r10d, r10d
mov qword [rbx + 0x18], r10
lea r11d, [r10 + 1]
mov byte [rbx], r11b
jmp 0x1402c29d6
movsxd rbx, dword [r12 + 4]
mov r8d, dword [r12 + 0xc]
mov edx, dword [r12 + 8]
shl rbx, 5
add rbx, qword [r15 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14028ff18
mov r11d, 1
mov dword [rsp + 0x44], eax
mov r13d, eax
cmp dword [r12 + 8], r11d
jne 0x1402c21ef
movzx eax, word [r12 + 2]
mov ecx, dword [r12 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, r15
or dword [r15 + 0x2c], r11d
mov edx, dword [r12 + 4]
call fcn.14029bf9c
mov r11d, 1
jmp 0x1402c2207
mov eax, 2
cmp dword [r12 + 8], eax
jne 0x1402c2207
mov rcx, qword [rbx + 0x18]
mov al, byte [r12 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r12 + 4], r11d
jne 0x1402c2220
xor edx, edx
mov rcx, r15
call fcn.140296090
and dword [r14 + 0xc8], 0xfffffffc
xor r10d, r10d
jmp 0x1402bf2b5
mov word [rsi + 0x14], r11w
mov rsi, qword [rsp + 0x68]
jmp 0x1402c2637
call fcn.1402c6548
mov rcx, rbx
mov qword [rbp - 0x40], rax
call fcn.1402c6548
mov dil, byte [r12]
mov rbx, rax
cmp dil, 0x66
jne 0x1402c225e
and qword [rbp - 0x40], rax
jmp 0x1402c2319
cmp dil, 0x67
jne 0x1402c226d
or qword [rbp - 0x40], rbx
jmp 0x1402c2319
xor r10d, r10d
test rbx, rbx
je 0x1402c231c
jns 0x1402c229b
mov rcx, rbx
mov eax, 0xd1
sub al, dil
neg rcx
mov dil, al
mov rax, rbx
cmp rax, 0xffffffffffffffc0
lea ebx, [r10 + 0x40]
cmovg rbx, rcx
cmp rbx, 0x40
jl 0x1402c22bc
cmp qword [rbp - 0x40], r10
jge 0x1402c22b3
cmp dil, 0x68
je 0x1402c22b3
or rax, 0xffffffffffffffff
jmp 0x1402c22b6
mov rax, r10
mov qword [rbp - 0x40], rax
jmp 0x1402c231c
mov r15d, 8
lea rdx, [rbp - 0x40]
mov r8d, r15d
lea rcx, [rbp - 0x30]
call fcn.140330ef0
mov rcx, rbx
cmp dil, 0x68
jne 0x1402c22e1
shl qword [rbp - 0x30], cl
jmp 0x1402c2309
mov rdx, qword [rbp - 0x30]
shr rdx, cl
xor ecx, ecx
mov qword [rbp - 0x30], rdx
cmp qword [rbp - 0x40], rcx
jge 0x1402c2309
or rax, 0xffffffffffffffff
mov ecx, 0x40
sub cl, bl
shl rax, cl
or rax, rdx
mov qword [rbp - 0x30], rax
mov r8, r15
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x40]
call fcn.140330ef0
xor r10d, r10d
mov rax, qword [rbp - 0x40]
mov ecx, 0xf244
mov qword [rsi], rax
mov edx, 4
movzx eax, word [rsi + 0x14]
and ax, cx
or ax, dx
mov word [rsi + 0x14], ax
mov rsi, qword [rsp + 0x68]
jmp 0x1402bf2ed
cmp r8d, 0x6f
ja 0x1402c278c
je 0x1402c25e1
sub r8d, 0x6a
je 0x1402c2377
sub r8d, 1
je 0x1402c2377
sub r8d, 1
je 0x1402c2377
sub r8d, 1
je 0x1402c2377
cmp r8d, 1
jne 0x1402bf13a
mov rdx, qword [rsp + 0x68]
movsxd rax, dword [r12 + 4]
imul rsi, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rsi, rdx
imul r14, rax, 0x38
movzx ebx, word [rsi + 0x14]
add rdi, rdx
add r14, rdx
mov edx, 4
movzx ecx, word [rdi + 0x14]
mov al, cl
and al, bl
test dl, al
jne 0x1402c23fd
or cl, bl
test r11b, cl
jne 0x1402c256d
lea r15d, [rdx + 0x29]
and bx, r15w
jne 0x1402c23d5
mov rcx, rsi
call fcn.14023fbc4
movzx ebx, ax
movzx eax, word [rdi + 0x14]
and ax, r15w
jne 0x1402c23e7
mov rcx, rdi
call fcn.14023fbc4
and al, bl
mov ecx, 4
test cl, al
je 0x1402c24cf
xor r10d, r10d
lea r11d, [rcx - 3]
movzx edx, byte [r12]
mov r8, qword [rdi]
mov rcx, qword [rsi]
mov qword [rsp + 0x78], r8
sub edx, 0x6a
je 0x1402c249b
sub edx, 1
je 0x1402c247f
sub edx, 1
je 0x1402c246e
cmp edx, 1
je 0x1402c2443
cmp rcx, r10
je 0x1402c2568
cmp rcx, 0xffffffffffffffff
mov rax, r8
cqo
cmove rcx, r11
idiv rcx
mov r8, rdx
jmp 0x1402c24b2
cmp rcx, r10
je 0x1402c2568
cmp rcx, 0xffffffffffffffff
jne 0x1402c2461
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x1402c24cf
mov rax, r8
cqo
idiv rcx
mov r8, rax
jmp 0x1402c24b2
mov rdx, rcx
lea rcx, [rsp + 0x78]
call fcn.1402acde4
test eax, eax
jmp 0x1402c24ab
movabs rax, 0x8000000000000000
cmp rcx, rax
jne 0x1402c2498
cmp r8, r10
jge 0x1402c24cf
sub r8, rcx
jmp 0x1402c24b2
neg rcx
mov rdx, rcx
lea rcx, [rsp + 0x78]
call fcn.14028957c
cmp eax, r10d
jne 0x1402c24cf
mov r8, qword [rsp + 0x78]
movzx eax, word [r14 + 0x14]
mov ecx, 0xf244
and ax, cx
mov qword [r14], r8
mov edx, 4
or ax, dx
jmp 0x1402c25c5
mov rcx, rsi
call fcn.1402c827c
mov rcx, rdi
movaps xmm7, xmm0
call fcn.1402c827c
movzx ecx, byte [r12]
movaps xmm6, xmm0
sub ecx, 0x6a
je 0x1402c254f
sub ecx, 1
je 0x1402c2549
sub ecx, 1
je 0x1402c2543
cmp ecx, 1
je 0x1402c2534
mov rcx, rsi
call fcn.1402c6548
mov rcx, rdi
mov rbx, rax
call fcn.1402c6548
xor r10d, r10d
test rbx, rbx
je 0x1402c2568
cmp rbx, 0xffffffffffffffff
lea r11d, [r10 + 1]
cqo
xorps xmm6, xmm6
cmove rbx, r11
idiv rbx
cvtsi2sd xmm6, rdx
jmp 0x1402c2553
ucomisd xmm7, xmm8
jp 0x1402c253d
je 0x1402c2565
divsd xmm6, xmm7
jmp 0x1402c2553
mulsd xmm6, xmm7
jmp 0x1402c2553
subsd xmm6, xmm7
jmp 0x1402c2553
addsd xmm6, xmm7
movaps xmm0, xmm6
call fcn.140323f54
mov ecx, 2
cmp ax, cx
jne 0x1402c25aa
xor r10d, r10d
mov edx, 4
mov ecx, 0x9000
test word [r14 + 0x14], cx
je 0x1402c2586
mov rcx, r14
call fcn.1402d64e8
jmp 0x1402c1f5a
mov rsi, qword [rsp + 0x68]
mov r11d, 1
mov word [r14 + 0x14], r11w
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x40]
jmp 0x1402bf13a
movzx eax, word [r14 + 0x14]
mov ecx, 0xf248
and ax, cx
movsd qword [r14], xmm6
or ax, 8
mov edx, 4
mov rsi, qword [rsp + 0x68]
xor r10d, r10d
mov rbx, qword [rsp + 0x50]
mov word [r14 + 0x14], ax
mov r14, qword [rsp + 0x60]
jmp 0x1402beaf3
movsxd rax, dword [r12 + 4]
imul r13, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add r13, rsi
imul rdi, rax, 0x38
movzx r15d, word [r13 + 0x14]
add rbx, rsi
mov al, r15b
add rdi, rsi
or al, byte [rbx + 0x14]
test r11b, al
je 0x1402c2641
test word [rdi + 0x14], cx
je 0x1402c262d
mov rcx, rdi
call fcn.1402d64e8
mov r13d, dword [rsp + 0x44]
jmp 0x1402bf7b3
mov r13d, dword [rsp + 0x44]
mov word [rdi + 0x14], r11w
mov rbx, qword [rsp + 0x50]
jmp 0x1402bf13a
test r15b, 0x12
jne 0x1402c2658
mov dl, byte [rsp + 0x48]
xor r8d, r8d
mov rcx, r13
call fcn.1402c78e0
jmp 0x1402c266b
mov eax, 0x400
test ax, r15w
je 0x1402c2686
mov rcx, r13
call fcn.1402c6f08
test eax, eax
jne 0x1402c5729
movzx r15d, word [r13 + 0x14]
mov eax, 0xfffd
and r15w, ax
mov eax, 0x400
movzx esi, word [rbx + 0x14]
test sil, 0x12
jne 0x1402c26b8
mov dl, byte [rsp + 0x48]
xor r8d, r8d
mov rcx, rbx
call fcn.1402c78e0
xor r8d, r8d
test eax, eax
jne 0x1402c5729
movzx esi, word [rbx + 0x14]
mov eax, 0xfffd
and si, ax
jmp 0x1402c26ca
test ax, si
je 0x1402c26c7
mov rcx, rbx
call fcn.1402c6f08
jmp 0x1402c269f
xor r8d, r8d
mov rax, qword [rsp + 0x70]
mov edx, dword [rbx + 0x10]
add edx, dword [r13 + 0x10]
movsxd r14, edx
movsxd rax, dword [rax + 0x88]
cmp r14, rax
jg 0x1402c560c
cmp rdi, rbx
mov rcx, rdi
sete r8b
add edx, 2
call fcn.1402c714c
test eax, eax
jne 0x1402c5724
movzx eax, word [rdi + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rdi + 0x14], ax
cmp rdi, rbx
je 0x1402c2731
movsxd r8, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rdi + 8]
call fcn.140330ef0
mov word [rbx + 0x14], si
movsxd rcx, dword [rbx + 0x10]
add rcx, qword [rdi + 8]
movsxd r8, dword [r13 + 0x10]
mov rdx, qword [r13 + 8]
call fcn.140330ef0
mov cl, byte [rsp + 0x48]
mov r11d, 1
mov word [r13 + 0x14], r15w
cmp cl, r11b
jbe 0x1402c275e
and r14, 0xfffffffffffffffe
mov rax, qword [rdi + 8]
xor r10d, r10d
mov r13d, dword [rsp + 0x44]
mov byte [r14 + rax], r10b
mov rax, qword [rdi + 8]
mov byte [rax + r14 + 1], r10b
mov eax, 0x200
or word [rdi + 0x14], ax
mov dword [rdi + 0x10], r14d
mov byte [rdi + 0x16], cl
jmp 0x1402bf6d3
sub r8d, 0x70
je 0x1402c28b8
sub r8d, 1
je 0x1402c28b8
sub r8d, 1
je 0x1402c285a
cmp r8d, 1
jne 0x1402bf13a
movsxd rcx, dword [r12 + 8]
xor r9d, r9d
mov rax, qword [r14 + 0x78]
mov edx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r14
movsx r8d, word [rbx + 0x48]
call fcn.1402364dc
mov r10, rax
test rax, rax
je 0x1402c572e
mov edx, dword [r10 + 8]
mov eax, 1
or edx, eax
mov byte [r10 + 2], al
mov dword [r10 + 8], edx
mov r8d, 4
mov rcx, qword [rbx + 0x38]
mov qword [r10 + 0x38], rcx
mov ecx, edx
mov al, byte [rbx + 4]
mov byte [r10 + 4], al
mov eax, dword [rbx + 0x44]
mov dword [r10 + 0x44], eax
xor ecx, dword [rbx + 8]
and ecx, r8d
xor ecx, edx
mov dword [r10 + 8], ecx
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
lea eax, [r8 + 4]
or ecx, eax
mov dword [r10 + 8], ecx
or dword [rbx + 8], eax
mov rax, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14028d4dc
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x1402bf7b3
movsxd rax, dword [r12 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rdi, rsi
add rbx, rsi
test word [rbx + 0x14], cx
je 0x1402c2892
mov rcx, rbx
call fcn.1402d64e8
xor r10d, r10d
mov ecx, 0x9000
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
jmp 0x1402c2897
mov word [rbx + 0x14], r11w
test byte [rdi + 0x14], r11b
jne 0x1402c259b
mov rcx, rdi
mov word [rbx + 0x14], dx
call fcn.1402c6548
not rax
mov qword [rbx], rax
jmp 0x1402bf7b3
mov eax, dword [r14 + 0xc8]
and al, 3
cmp al, r11b
je 0x1402c55e8
movsxd r15, dword [r12 + 0xc]
mov edi, r10d
mov rdx, qword [rsp + 0x70]
mov rax, r15
mov r13, qword [rsp + 0x78]
mov r14, r10
mov ebx, dword [r12 + 8]
shl rax, 5
add rax, qword [rdx + 0x20]
cmp byte [r13], 0x71
mov r12, qword [rax + 8]
jne 0x1402c2921
mov rax, qword [rax + 0x18]
movzx esi, word [r13 + 2]
and esi, 8
or esi, 4
mov cl, byte [rax + 0x70]
mov rax, qword [rsp + 0x60]
cmp cl, byte [rax + 0xc5]
jae 0x1402c2924
mov byte [rax + 0xc5], cl
jmp 0x1402c2924
mov esi, r10d
mov eax, 0x10
test byte [r13 + 2], al
je 0x1402c2942
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.1402c729c
mov ebx, dword [rbx]
mov al, byte [r13 + 1]
cmp al, 0xf8
jne 0x1402c2955
mov r14, qword [r13 + 0x10]
movzx edi, word [r14 + 8]
jmp 0x1402c295d
cmp al, 0xfd
jne 0x1402c295d
mov edi, dword [r13 + 0x10]
mov edx, dword [r13 + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x60]
mov r8d, edi
call fcn.1402364dc
mov rdi, rax
test rax, rax
je 0x1402c5724
mov rcx, qword [rdi + 0x30]
mov r9, r14
mov byte [rax + 1], r15b
mov r8d, esi
mov byte [rax + 2], 1
mov edx, ebx
mov qword [rsp + 0x20], rcx
mov eax, 4
or dword [rdi + 8], eax
mov rcx, r12
mov dword [rdi + 0x44], ebx
call fcn.14028d4dc
mov r12, qword [rsp + 0x78]
mov r13d, eax
mov rsi, qword [rsp + 0x68]
mov qword [rdi + 0x38], r14
mov r14, qword [rsp + 0x60]
cmp byte [r12 + 1], 0xf8
mov dword [rsp + 0x44], eax
setne al
xor r10d, r10d
mov byte [rdi + 4], al
lea r11d, [r10 + 1]
mov cl, byte [r12 + 2]
mov rax, qword [rdi + 0x30]
and cl, 3
mov byte [rax + 3], cl
jmp 0x1402bf2b5
mov eax, 0x81
cmp r8d, eax
ja 0x1402c3360
je 0x1402c331f
cmp r8d, 0x7a
ja 0x1402c2e2a
je 0x1402c2df7
sub r8d, 0x75
je 0x1402c2cb2
sub r8d, 1
je 0x1402c2ae1
sub r8d, 1
je 0x1402c2aa5
sub r8d, 1
je 0x1402c2a7e
cmp r8d, 1
jne 0x1402bf13a
mov r8d, dword [r12 + 0xc]
lea r9d, [rax - 0x7e]
mov edx, dword [r12 + 4]
mov rcx, r14
call fcn.1402364dc
xor r10d, r10d
test rax, rax
je 0x1402c572e
lea r11d, [r10 + 1]
mov byte [rax + 2], r11b
mov ecx, dword [r12 + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x1404846c4]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], r11b
jmp 0x1402bf12b
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
cmp rcx, r10
jne 0x1402bf130
jmp 0x1402bf543
mov r8d, dword [r12 + 8]
mov r9b, r11b
mov edx, dword [r12 + 4]
mov rcx, r14
call fcn.1402364dc
test rax, rax
je 0x1402c572e
mov rcx, qword [r12 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r15
mov edx, dword [r12 + 0xc]
call fcn.1402c8cd0
jmp 0x1402bf17d
cmp dword [r12 + 0xc], r10d
jle 0x1402c2b0b
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov dword [rcx + rsi + 0x10], r10d
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x1403f8cfc]
mov qword [rcx + rsi + 8], rax
movsxd rdx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rdx*8]
cmp rbx, r10
je 0x1402c2b63
mov eax, 8
test byte [rbx + 8], al
jne 0x1402c2b63
movsx eax, word [rbx + 0x48]
cmp dword [r12 + 8], eax
jg 0x1402c2b63
mov edx, dword [rbx + 0x44]
xor r8d, r8d
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r10
mov dword [rbx + 0x20], r10d
call fcn.14028cdb4
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
lea edx, [rax + 4]
jmp 0x1402c2c9e
mov r8d, dword [r12 + 8]
xor r9d, r9d
mov rcx, r14
call fcn.1402364dc
mov rbx, rax
test rax, rax
je 0x1402c572e
mov eax, 1
mov dword [rsp + 0x28], 0x41e
or dword [rbx + 8], eax
lea rdi, [rbx + 0x10]
movzx ecx, word [r12 + 2]
mov r9, rdi
or ecx, 5
mov r8, r15
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r15]
call fcn.14028eaa4
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1402bf978
mov rcx, qword [rdi]
lea r15d, [rax + 1]
mov edx, r15d
xor r8d, r8d
call fcn.14028cd14
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402c2c74
mov r14, qword [r12 + 0x10]
lea rsi, [rbx + 0x44]
mov rcx, qword [rdi]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x1402c2c41
movzx r8d, word [r12 + 2]
mov rdx, rsi
or r8d, 2
call fcn.14028d478
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402c2c3b
mov rax, qword [rbx + 0x30]
lea r8d, [r15 + 3]
mov edx, dword [rsi]
mov r9, r14
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.14028d4dc
mov r13d, eax
mov dword [rsp + 0x44], eax
xor r10d, r10d
mov byte [rbx + 4], r10b
jmp 0x1402c2c6a
mov rax, qword [rbx + 0x30]
xor r9d, r9d
mov edx, r15d
mov dword [rsi], r15d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.14028d4dc
mov r13d, eax
mov dword [rsp + 0x44], eax
xor r10d, r10d
mov byte [rbx + 4], r15b
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
movzx eax, word [r12 + 2]
mov edx, 4
sub ax, 8
neg ax
mov eax, dword [rbx + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, edx
or ecx, eax
mov dword [rbx + 8], ecx
test r13d, r13d
jne 0x1402c55f3
mov r11d, 1
mov byte [rbx + 2], r11b
mov rbx, qword [rsp + 0x50]
jmp 0x1402bf4c6
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
mov rcx, qword [r12 + 0x10]
xor edx, edx
mov rbx, rax
test rcx, rcx
jne 0x1402c2cd0
mov eax, edx
jmp 0x1402c2cdc
call fcn.140321380
and eax, 0x3fffffff
xor edx, edx
mov ecx, 1
mov dword [r12 + 4], eax
cmp dil, cl
je 0x1402c2d80
mov qword [rsp + 0x20], rdx
mov r9b, cl
mov rdx, qword [r12 + 0x10]
mov rcx, rbx
or r8, 0xffffffffffffffff
call fcn.1402c7524
mov r13d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
test r13d, r13d
jne 0x1402c5611
lea ecx, [rax + 2]
test byte [rbx + 0x14], cl
jne 0x1402c2d28
mov byte [rbx + 0x16], dil
jmp 0x1402c2d43
cmp byte [rbx + 0x16], dil
je 0x1402c2d43
mov dl, dil
mov rcx, rbx
call fcn.1402c7a20
test eax, eax
jne 0x1402c572e
xor eax, eax
mov ecx, 0x2000
mov dword [rbx + 0x20], eax
or word [rbx + 0x14], cx
cmp byte [r12 + 1], 0xfa
jne 0x1402c2d69
mov rdx, qword [r12 + 0x10]
test rdx, rdx
je 0x1402c2d69
mov rcx, r15
call fcn.1402939e0
mov byte [r12 + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r12 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r12 + 4], eax
cmp eax, dword [r15 + 0x88]
jg 0x1402c5611
mov rbx, qword [rsp + 0x50]
mov byte [r12], 0x49
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
xor r10d, r10d
mov r8, rax
mov word [rax + 0x14], 0x2202
mov rcx, qword [r12 + 0x10]
mov qword [rax + 8], rcx
mov ecx, dword [r12 + 4]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x16], dil
cmp dword [r12 + 0xc], r10d
jle 0x1402c35e6
movsxd rcx, dword [r12 + 0xc]
lea r11d, [r10 + 1]
movzx eax, word [r12 + 2]
imul rdx, rcx, 0x38
cmp qword [rdx + rsi], rax
jne 0x1402bf126
mov word [r8 + 0x14], 0x2210
jmp 0x1402bf12b
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
cmp rdx, r10
je 0x1402c2e18
mov rcx, r14
call fcn.1402c5e70
xor r10d, r10d
lea r11d, [r10 + 1]
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov qword [rax + rcx*8], r10
jmp 0x1402bf12b
sub r8d, 0x7c
je 0x1402c31d1
sub r8d, 1
je 0x1402c318b
sub r8d, 1
je 0x1402c3150
sub r8d, 1
je 0x1402c2f9b
cmp r8d, 1
jne 0x1402bf13a
movsxd rax, dword [r12 + 8]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, rsi
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
cmp byte [r12 + 1], 0xfb
mov r8, qword [rcx + rsi]
mov qword [rbp + 0xe0], r8
jne 0x1402c2eb2
cmp qword [r15 + 0x140], r10
je 0x1402c2eb2
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov rdi, qword [r12 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x1402c2eb8
mov rdi, r10
mov rsi, r10
test byte [r12 + 2], r11b
je 0x1402c2ed3
add qword [r14 + 0x38], r11
mov eax, 0x20
test byte [r12 + 2], al
je 0x1402c2ed3
mov qword [r15 + 0x38], r8
mov rax, qword [rdx + 8]
movzx r8d, word [r12 + 2]
mov qword [rbp + 0xe8], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0xfc], eax
mov eax, 0x10
test al, r8b
je 0x1402c2efd
mov r9d, dword [rbx + 0x24]
jmp 0x1402c2f00
mov r9d, r10d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x1402c2f15
mov eax, dword [rdx]
mov dword [rbp + 0x100], eax
jmp 0x1402c2f1c
mov dword [rbp + 0x100], r10d
mov qword [rbp + 0xd8], r10
lea rdx, [rbp + 0xd8]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.14028e0cc
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
mov byte [rbx + 3], r10b
mov dword [rbx + 0x20], r10d
lea r11d, [r10 + 1]
add dword [rbp - 0x48], r11d
test eax, eax
jne 0x1402bf978
test rdi, rdi
je 0x1402bf121
mov al, byte [r12 + 2]
mov r8, rsi
mov r9, qword [rdi]
and al, 4
mov rcx, qword [r15 + 0x138]
neg al
mov rax, qword [rbp + 0xe0]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r15 + 0x140]
jmp 0x1402c04c0
mov rdx, r12
mov qword [rbp - 0x38], r10
mov rcx, r14
mov dword [rbp - 0x80], r10d
call fcn.1402794b0
movsxd rdx, dword [r12 + 4]
mov r15d, 2
mov rcx, qword [r14 + 0x78]
mov rsi, rax
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], r15b
jne 0x1402c303e
mov rcx, qword [rdi + 0x30]
xor eax, eax
cmp byte [rcx], al
jne 0x1402c300c
lea edx, [rax + 8]
test byte [rcx + 1], dl
je 0x1402c300c
mov r13d, eax
mov dword [rsp + 0x44], eax
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.14026c5cc
mov rax, qword [rbx + 0x30]
movabs rcx, 0x7fffffffffffffff
mov qword [rbp - 0x38], rax
cmp rax, rcx
jl 0x1402c3037
or dword [rdi + 8], r15d
jmp 0x1402c303e
lea rdx, [rbp - 0x80]
call fcn.14023b38c
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf97e
cmp dword [rbp - 0x80], r10d
je 0x1402c2fe3
lea r15d, [rax + 1]
mov qword [rbp - 0x38], r15
jmp 0x1402c3045
inc rax
mov qword [rbp - 0x38], rax
xor r10d, r10d
lea r15d, [r10 + 1]
cmp dword [r12 + 0xc], r10d
je 0x1402c30d0
mov rcx, qword [r14 + 0x108]
test rcx, rcx
je 0x1402c307d
mov rax, qword [rcx + 8]
jmp 0x1402c3069
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1402c3062
movsxd rax, dword [r12 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x18]
jmp 0x1402c308b
movsxd rax, dword [r12 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.1402c729c
mov rcx, qword [rbx]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x1402c5601
mov eax, 2
test byte [rdi + 8], al
jne 0x1402c5601
mov rax, qword [rbp - 0x38]
inc rcx
cmp rax, rcx
jge 0x1402c30ca
mov rax, rcx
mov qword [rbp - 0x38], rcx
mov qword [rbx], rax
xor r10d, r10d
mov eax, 2
test byte [rdi + 8], al
je 0x1402c313c
mov ebx, r10d
lea rdx, [rbp - 0x38]
mov ecx, 8
call fcn.140232e94
mov rdx, qword [rbp - 0x38]
lea r9, [rbp - 0x80]
movabs rax, 0x3fffffffffffffff
xor r8d, r8d
and rdx, rax
add rdx, r15
mov qword [rbp - 0x38], rdx
mov rcx, qword [rdi + 0x30]
call fcn.14028f8dc
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
cmp dword [rbp - 0x80], r10d
jne 0x1402c313c
add ebx, r15d
cmp ebx, 0x64
jl 0x1402c30dd
lea r13d, [rax + 0xd]
jmp 0x1402bf978
mov byte [rdi + 3], r10b
mov dword [rdi + 0x20], r10d
mov rax, qword [rbp - 0x38]
mov qword [rsi], rax
jmp 0x1402beae4
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
mov rcx, qword [r14 + 0x78]
mov r11d, 1
movsxd rdx, dword [r12 + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r11
jmp 0x1402c0bb4
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0xc]
cmp eax, dword [r12 + 8]
jge 0x1402c31b2
movzx eax, word [r12 + 8]
mov word [rdx + 0xc], ax
jmp 0x1402bf130
mov ecx, 0x9000
cmp eax, dword [r12 + 0xc]
jle 0x1402c0f53
movzx eax, word [r12 + 0xc]
mov word [rdx + 0xc], ax
jmp 0x1402c0f53
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 0x1c]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], r10b
jne 0x1402bf135
mov rax, qword [rdi + 0x38]
mov esi, dword [r12 + 4]
mov qword [rbp + 0x60], rax
movzx eax, word [r12 + 0x28]
mov word [rbp + 0x7c], ax
movsxd rax, dword [r12 + 0x24]
imul rcx, rax, 0x38
mov byte [rbp + 0x7e], r10b
add rcx, qword [rsp + 0x68]
mov qword [rbp + 0x68], rcx
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.14026c5cc
mov edx, dword [rbx + 0x40]
lea rax, [rdx - 1]
cmp rax, 0x7ffffffe
ja 0x1402c32a6
xor eax, eax
mov qword [rbp + 0x190], r15
lea r8, [rbp + 0x178]
mov word [rbp + 0x18c], ax
mov rcx, rbx
mov dword [rbp + 0x198], eax
call fcn.1402c70f0
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1402bf978
mov rdx, qword [rbp + 0x180]
lea r8, [rbp + 0x60]
mov ecx, dword [rbp + 0x188]
xor r9d, r9d
call fcn.1402c82b0
xor r10d, r10d
mov ebx, eax
cmp dword [rbp + 0x198], r10d
je 0x1402c329c
lea rcx, [rbp + 0x178]
call fcn.1402d64ac
xor r10d, r10d
mov r13d, r10d
mov dword [rsp + 0x44], r10d
jmp 0x1402c32c5
mov ecx, 0x15db9
call fcn.14029212c
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
mov ebx, r10d
test eax, eax
jne 0x1402bf978
test ebx, ebx
jle 0x1402c32d3
cmp word [r12 + 2], r10w
je 0x1402c3311
test ebx, ebx
jns 0x1402bf538
test esi, esi
jle 0x1402c35e1
mov rcx, qword [rdi + 0x30]
xor edx, edx
dec esi
mov dword [rdi + 0x20], r10d
call fcn.14028ea5c
xor r10d, r10d
mov r13d, eax
test eax, eax
je 0x1402c3218
cmp eax, 0x65
jne 0x1402bf978
mov r13d, r10d
mov dword [rsp + 0x44], r10d
add r12, 0x18
mov qword [rsp + 0x78], r12
jmp 0x1402bf538
mov rcx, qword [r14 + 0x78]
movsxd rax, dword [r12 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r12 + 8]
mov rdx, qword [rcx + rax*8]
cmp dword [r12 + 0xc], r10d
je 0x1402c334b
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + rsi]
jmp 0x1402c334e
mov r8, r10
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.14028fad0
jmp 0x1402bf17d
mov eax, 0x87
cmp r8d, eax
ja 0x1402c36ea
je 0x1402c35f1
sub r8d, 0x82
je 0x1402c34dd
sub r8d, 1
je 0x1402c34c5
sub r8d, 1
je 0x1402c3475
sub r8d, 1
je 0x1402c342f
cmp r8d, 1
jne 0x1402bf13a
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
mov rcx, qword [r14 + 0x78]
mov rdi, rax
movsxd rdx, dword [r12 + 4]
mov rdx, qword [rcx + rdx*8]
mov rbx, qword [rdx + 0x30]
mov rcx, rbx
call fcn.14026c5cc
mov edx, dword [rbx + 0x40]
cmp edx, dword [r15 + 0x88]
ja 0x1402c5611
mov r8, rdi
mov rcx, rbx
call fcn.1402c70f0
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
cmp dword [r12 + 0xc], r10d
jne 0x1402c35e6
mov eax, 0x4000
test word [rdi + 0x14], ax
je 0x1402c35e6
mov rcx, rdi
call fcn.1402c72cc
xor r10d, r10d
test eax, eax
jne 0x1402c572e
jmp 0x1402beae9
movsxd rax, dword [r12 + 8]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, rsi
mov rcx, qword [rax + rcx*8]
call fcn.1402c90dc
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
movsxd rcx, dword [r12 + 0xc]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r10d
jmp 0x1402beaee
mov rax, qword [r14 + 0x78]
lea r9, [rbp - 0x60]
movsxd rcx, dword [r12 + 4]
mov r8d, dword [r12 + 0x10]
mov dword [rbp - 0x60], r10d
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rdx, rax, 0x38
add rdx, rsi
call fcn.1402c8bd8
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
lea r11d, [rax + 1]
cmp dword [rbp - 0x60], r10d
je 0x1402bf12b
jmp 0x1402bf543
mov rax, qword [r14 + 0x38]
add qword [r15 + 0x80], rax
mov qword [r15 + 0x78], rax
mov qword [r14 + 0x38], r10
jmp 0x1402bf13a
cmp byte [r12 + 1], 0xfb
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov r15d, dword [r12 + 8]
mov rdi, qword [rax + rcx*8]
jne 0x1402c3548
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x140], r10
je 0x1402c3548
mov rax, qword [rax + 0x20]
movsx rcx, byte [rdi + 1]
mov rsi, qword [r12 + 0x10]
shl rcx, 5
mov r14, qword [rcx + rax]
mov eax, 2
test byte [r12 + 2], al
je 0x1402c354e
cmp byte [rdi + 4], r10b
je 0x1402c354e
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.14026c5cc
mov rax, qword [rbx + 0x30]
mov rbx, qword [rsp + 0x50]
mov qword [rdi + 0x50], rax
jmp 0x1402c354e
mov r14, r10
mov rsi, r10
mov dl, byte [r12 + 2]
mov rcx, qword [rdi + 0x30]
call fcn.14028d568
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
mov qword [rdi + 0x20], r10
lea r11d, [r10 + 1]
add dword [rbp - 0x48], r11d
test eax, eax
jne 0x1402bf973
test r11b, r15b
je 0x1402bf6d3
mov rax, qword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
add qword [rax + 0x38], r11
mov r10, qword [r15 + 0x140]
test r10, r10
je 0x1402c35d4
test rsi, rsi
je 0x1402c35d4
test byte [rsi + 0x30], 0x80
jne 0x1402c35d4
mov rax, qword [rdi + 0x50]
lea edx, [r13 + 9]
mov r9, qword [rsi]
mov r8, r14
mov rcx, qword [r15 + 0x138]
mov qword [rsp + 0x20], rax
call r10
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
jmp 0x1402bf7b8
mov r14, qword [rsp + 0x60]
xor r10d, r10d
jmp 0x1402bf121
mov rsi, qword [rsp + 0x68]
mov r11d, 1
jmp 0x1402bf126
movsxd rax, dword [r12 + 8]
imul rdi, rax, 0x38
add rdi, qword [r14 + 0x68]
test word [rdi + 0x14], cx
je 0x1402c361c
mov rcx, rdi
call fcn.1402794d8
xor r10d, r10d
mov rdi, rax
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
jmp 0x1402c3620
mov word [rdi + 0x14], dx
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], r10b
je 0x1402c363d
mov word [rdi + 0x14], r11w
jmp 0x1402c2ca8
cmp byte [rbx + 3], r10b
je 0x1402c364c
mov rax, qword [rbx + 0x50]
jmp 0x1402c36de
mov rcx, qword [rbx + 0x30]
mov r15d, 2
cmp byte [rbx], r15b
jne 0x1402c368c
mov rbx, qword [rcx]
lea rdx, [rbp]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r14
mov r13d, eax
mov dword [rsp + 0x44], eax
call fcn.1402ca01c
xor r10d, r10d
test r13d, r13d
jne 0x1402bf97e
mov rax, qword [rbp]
jmp 0x1402c36e2
cmp byte [rcx], r10b
je 0x1402c36ad
mov rcx, rbx
call fcn.1402c63d0
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf97e
jmp 0x1402c36b5
mov r13d, r10d
mov dword [rsp + 0x44], r10d
cmp byte [rbx + 2], r10b
je 0x1402c36cb
mov r11d, 1
mov word [rdi + 0x14], r11w
jmp 0x1402bf126
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.14026c5cc
mov rax, qword [rbx + 0x30]
xor r10d, r10d
mov qword [rbp], rax
mov qword [rdi], rax
jmp 0x1402beae9
mov ecx, r8d
sub ecx, 0x88
je 0x1402c38a6
sub ecx, 1
je 0x1402c3811
sub ecx, 1
je 0x1402c375a
cmp ecx, 1
jne 0x1402bf135
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, rsi
test word [rbx + 0x14], ax
je 0x1402c374a
mov rcx, rbx
call fcn.1402c6f08
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1402bf978
mov rdx, rbx
mov rcx, rdi
call fcn.1402c919c
jmp 0x1402c12c9
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, rsi
test byte [r12 + 2], r11b
je 0x1402c377e
add qword [r14 + 0x38], r11
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x1402c379f
mov rcx, rbx
call fcn.1402c6f08
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1402bf978
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r12 + 2]
mov qword [rbp + 0x288], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x280], rax
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r12 + 0x10]
add rcx, rsi
mov word [rbp + 0x2a0], ax
mov eax, 0x10
mov qword [rbp + 0x298], rcx
test al, r8b
je 0x1402c37eb
mov r9d, dword [rdi + 0x24]
jmp 0x1402c37ee
mov r9d, r10d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x280]
and r8d, 0x8a
call fcn.14028e0cc
xor r10d, r10d
mov dword [rdi + 0x20], r10d
jmp 0x1402c12cc
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov eax, r10d
mov dword [rbp - 0x60], eax
mov rcx, qword [rbx + 0x30]
cmp r8b, 0x89
jne 0x1402c388b
or dword [rbx + 0x24], 0xffffffff
cmp byte [rcx], r10b
je 0x1402c2ca8
lea rdx, [rbp - 0x60]
call fcn.14023b38c
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
mov eax, dword [rbp - 0x60]
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
mov byte [rbx + 2], al
mov byte [rbx + 3], r10b
mov dword [rbx + 0x20], r10d
cmp r13d, r10d
jne 0x1402bf978
mov rbx, qword [rsp + 0x50]
cmp dword [r12 + 8], r10d
jle 0x1402bf12b
cmp eax, r10d
je 0x1402bf4c6
jmp 0x1402bf543
cmp byte [rcx], r10b
jne 0x1402c383b
mov r8d, 8
test byte [rcx + 1], r8b
je 0x1402c383b
mov r13d, r10d
mov dword [rsp + 0x44], r10d
jmp 0x1402c3859
movsxd rdx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rax, qword [rax + rdx*8]
cmp rax, r10
jne 0x1402c38f3
mov r9d, 3
mov r8d, r11d
mov rcx, r14
call fcn.1402364dc
xor r10d, r10d
test rax, rax
je 0x1402c572e
lea ecx, [r10 + 8]
mov dword [rax + 0x24], r10d
or dword [rax + 8], ecx
lea r11d, [r10 + 1]
lea rcx, [0x1404846c4]
mov byte [rax + 4], r11b
mov qword [rax + 0x30], rcx
mov byte [rax + 2], r11b
mov dword [rax + 0x20], r10d
cmp byte [rax], r10b
jne 0x1402bf12b
mov rbx, qword [rax + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.140232dc8
xor r10d, r10d
mov qword [rbx + 0x18], r10
lea r11d, [r10 + 1]
mov byte [rbx], r11b
jmp 0x1402bf126
movsxd rcx, dword [r12 + 4]
lea r8, [rbp - 0xc]
mov rax, qword [r14 + 0x78]
lea rdx, [rbp + 0x1b0]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rdi + 0x30]
mov qword [rbp + 0x1b0], rax
movzx eax, word [r12 + 0xc]
mov word [rbp + 0x1cc], ax
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov byte [rbp + 0x1ce], r10b
add rcx, rsi
mov qword [rbp + 0x1b8], rcx
mov rcx, rbx
call fcn.14028dc64
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
cmp dword [rbp - 0xc], r10d
jne 0x1402c39bf
lea edx, [rax + 4]
mov rcx, rbx
call fcn.14028d568
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
mov r11d, 1
and qword [rdi + 0x20], 0
jmp 0x1402bf126
cmp word [r12 + 2], r10w
je 0x1402c39af
mov eax, dword [r15 + 0x30]
mov r11d, 1
and eax, 0x10000001
cmp rax, r11
je 0x1402c39b5
lea rax, [0x1404028b4]
mov r13d, 0x30b
mov ecx, r13d
mov qword [rsp + 0x20], rax
mov r9d, 0x182ff
lea r8, [0x1403faec8]
lea rdx, [0x1403ff288]
call fcn.14021fdd0
jmp 0x1402c5184
mov eax, 0xa3
cmp r8d, eax
ja 0x1402c4590
je 0x1402c4461
mov eax, 0x98
cmp r8d, eax
ja 0x1402c4061
je 0x1402c3fe7
mov eax, 0x92
cmp r8d, eax
ja 0x1402c3d44
je 0x1402c3d0a
sub r8d, 0x8d
je 0x1402c3c1b
sub r8d, 1
je 0x1402c3c1b
sub r8d, 1
je 0x1402c3bfa
sub r8d, 1
je 0x1402c3ad4
cmp r8d, 1
jne 0x1402bf13a
movsxd rax, dword [r12 + 8]
lea r8, [rbp + 0x18]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r12 + 4]
shl rax, 5
mov qword [rbp + 0x18], r10
mov rcx, qword [rax + rcx + 8]
call fcn.14028cdb4
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
cmp dword [r12 + 0xc], r10d
je 0x1402c3acc
mov rdx, qword [rbp + 0x18]
add qword [r14 + 0x38], rdx
cmp dword [r12 + 0xc], r10d
jle 0x1402c3acc
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add qword [rcx + rsi], rdx
test r13d, r13d
jmp 0x1402bf189
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
mov r11d, 1
mov rsi, rax
mov word [rax + 0x14], r11w
mov ecx, dword [r15 + 0xe8]
add ecx, r11d
cmp dword [r15 + 0xdc], ecx
jg 0x1402c562b
movsxd r14, dword [r12 + 0xc]
xor eax, eax
mov rcx, qword [r15 + 0x20]
mov rdx, r14
mov edi, dword [r12 + 4]
shl rdx, 5
mov dword [rbp - 0x60], eax
mov rbx, qword [rdx + rcx + 8]
cmp byte [rbx + 0x11], al
je 0x1402c3b39
add dword [rbx + 0x14], r11d
cmp byte [rbx + 0x12], al
jne 0x1402c3b39
mov rcx, rbx
call fcn.14023b444
lea r8, [rbp - 0x60]
mov edx, edi
mov rcx, rbx
call fcn.14023ae3c
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
cmp byte [rbx + 0x11], r10b
je 0x1402c3b68
sub dword [rbx + 0x14], 1
jne 0x1402c3b68
mov rcx, rbx
call fcn.1402d3a74
xor r10d, r10d
movsxd r8, dword [rbp - 0x60]
mov edx, 4
mov word [rsi + 0x14], dx
mov qword [rsi], r8
test r13d, r13d
jne 0x1402bf973
test r8d, r8d
je 0x1402c4b8d
mov r9d, dword [r12 + 4]
mov rdx, r14
shl rdx, 5
add rdx, qword [r15 + 0x20]
mov rax, qword [rdx + 0x18]
mov rcx, qword [rax + 0x10]
jmp 0x1402c3bb5
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], r8d
jne 0x1402c3bb2
mov dword [rax + 0x28], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1402c3ba4
mov rax, qword [rdx + 0x18]
mov rcx, qword [rax + 0x28]
jmp 0x1402c3bd5
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], r8d
jne 0x1402c3bd2
mov dword [rax + 0x58], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1402c3bc4
lea r11d, [rcx + 1]
lea r10d, [r11 + r14]
mov byte [rbp - 0x68], r10b
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
jmp 0x1402c0bb4
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], r10b
je 0x1402bf135
call fcn.1402c5d6c
jmp 0x1402bf17d
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], r10b
je 0x1402c3c54
mov rcx, rbx
call fcn.1402c63d0
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
lea edx, [rax + 4]
lea r11d, [rax + 1]
jmp 0x1402c3c5c
mov r13d, r10d
mov dword [rsp + 0x44], r10d
cmp byte [rbx + 2], r10b
jne 0x1402c3cdb
mov rdx, qword [rbx + 0x30]
lea r8, [rbp - 0x70]
mov rcx, r15
mov qword [rbp - 0x70], r10
call fcn.1402c6420
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
cmp byte [r12], 0x8d
jne 0x1402c3cc4
mov rax, qword [r14 + 0x78]
lea r11d, [r13 + 1]
movsxd rcx, dword [r12 + 0xc]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x70]
mov word [rdx + 2], 0x100
mov qword [rdx + 0x50], rax
mov dword [rdx + 0x20], r10d
mov rax, qword [r12 + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x1402bf126
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
mov rcx, qword [rbp - 0x70]
mov qword [rax], rcx
jmp 0x1402bf7b3
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
jne 0x1402bf7ae
mov rbx, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x40]
mov word [rcx + 0x14], r11w
jmp 0x1402c1061
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x30]
cmp byte [rdx], r11b
jne 0x1402c3d30
mov rdx, rcx
mov rcx, r15
call fcn.1402c8f64
jmp 0x1402bf7b8
mov edx, dword [rcx + 0x50]
xor r8d, r8d
mov rcx, qword [rcx + 8]
call fcn.14028cdb4
jmp 0x1402bf17d
sub r8d, 0x93
je 0x1402c3f98
sub r8d, 1
je 0x1402c3efc
sub r8d, 1
je 0x1402c3dbf
sub r8d, 1
je 0x1402c3dad
cmp r8d, 1
jne 0x1402bf13a
movsxd rcx, dword [r12 + 4]
xor r8d, r8d
mov rdx, qword [r12 + 0x10]
shl rcx, 5
add rcx, qword [r15 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.1402a91e8
mov rdx, rax
mov rcx, r15
call fcn.140294b64
mov r11d, 1
or dword [r15 + 0x2c], r11d
jmp 0x1402c0bb4
mov edx, dword [r12 + 4]
mov rcx, r15
call fcn.14028ad84
jmp 0x1402bf17d
mov r9, qword [r12 + 0x10]
movsxd rbx, dword [r12 + 4]
cmp r9, r10
jne 0x1402c3e20
mov rcx, qword [r15 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1402b6564
and dword [r15 + 0x2c], 0xffffffef
lea r8, [r14 + 0xa8]
movzx r9d, word [r12 + 2]
mov edx, ebx
mov rcx, r15
call fcn.1402a9bb8
mov r11d, 1
mov dword [rsp + 0x44], eax
or dword [r15 + 0x2c], r11d
mov r13d, eax
and dword [r14 + 0xc8], 0xfffffffc
xor r10d, r10d
jmp 0x1402c3eee
mov r8, qword [r15 + 0x20]
lea rax, [r14 + 0xa8]
mov qword [rbp + 0x38], r15
mov rdx, rbx
mov dword [rbp + 0x48], ebx
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x50], r10d
shl rdx, 5
mov qword [rsp + 0x20], r9
lea r9, [0x1403faee0]
mov rax, qword [rdx + r8 + 8]
mov rcx, qword [rax + 8]
mov eax, dword [rcx + 0x40]
mov rcx, r15
mov dword [rbp + 0x58], eax
mov r8, qword [rdx + r8]
lea rdx, [0x1403faef0]
call fcn.1402ac81c
xor edi, edi
mov rbx, rax
test rax, rax
je 0x1402c5644
lea r9, [rbp + 0x38]
mov byte [r15 + 0xc5], 1
lea r8, [fcn.1402a9914]
mov dword [rbp + 0x4c], edi
mov rdx, rax
mov dword [rbp + 0x54], edi
mov rcx, r15
mov qword [rsp + 0x20], rdi
call fcn.1402312dc
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402c3ed5
mov r13d, dword [rbp + 0x4c]
mov dword [rsp + 0x44], r13d
test r13d, r13d
jne 0x1402c3ed5
cmp dword [rbp + 0x54], edi
jne 0x1402c3ed5
mov ecx, 0x184e4
call fcn.14029212c
mov r13d, eax
mov dword [rsp + 0x44], eax
mov rdx, rbx
mov rcx, r15
call fcn.1402939e0
xor r10d, r10d
mov byte [r15 + 0xc5], r10b
lea r11d, [r10 + 1]
test r13d, r13d
jne 0x1402c564a
jmp 0x1402bf126
add byte [r15 + 0x70], r11b
mov rbx, qword [r15 + 0x200]
mov dil, byte [r15 + 0x6e]
mov qword [rbp - 0x70], r10
cmp dword [r12 + 4], r10d
je 0x1402c3f21
mov qword [r15 + 0x200], r10
mov byte [r15 + 0x6e], r10b
mov rdx, qword [r12 + 0x10]
lea rax, [rbp - 0x70]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rcx, r15
call fcn.1402312dc
dec byte [r15 + 0x70]
xor r10d, r10d
mov qword [r15 + 0x200], rbx
mov r13d, eax
mov rbx, qword [rbp - 0x70]
mov dword [rsp + 0x44], eax
mov byte [r15 + 0x6e], dil
test rbx, rbx
jne 0x1402c3f67
test eax, eax
je 0x1402beae9
mov r8, rbx
lea rdx, [0x1403fa3c0]
mov rcx, r14
call fcn.1402be6e8
mov rcx, rbx
call fcn.140232dc8
mov r12, qword [rsp + 0x58]
cmp r13d, 7
je 0x1402c5733
xor r10d, r10d
jmp 0x1402c566f
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
mov r8d, dword [r12 + 0xc]
lea rdx, [rbp - 0x60]
xor ecx, ecx
mov rbx, rax
mov dword [rbp - 0x60], ecx
movsxd rcx, dword [r12 + 4]
shl rcx, 5
add rcx, qword [r15 + 0x20]
mov rcx, qword [rcx + 8]
call fcn.14028d478
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1402bf978
mov eax, dword [rbp - 0x60]
mov qword [rbx], rax
jmp 0x1402beae9
movsxd rcx, dword [r12 + 4]
xor r8d, r8d
mov rax, qword [r15 + 0x20]
mov rdx, qword [r12 + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.1402a91e8
xor r10d, r10d
mov rdx, rax
test rax, rax
je 0x1402c4052
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x1402c4038
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x1402c4047
lea r8, [rcx]
mov rcx, qword [rcx + 0x28]
cmp rcx, rdx
je 0x1402c403f
test rcx, rcx
jne 0x1402c402c
jmp 0x1402c4047
mov rax, qword [rdx + 0x28]
mov qword [r8 + 0x28], rax
mov rcx, r15
call fcn.14029cb50
xor r10d, r10d
mov r11d, 1
or dword [r15 + 0x2c], r11d
jmp 0x1402bf12b
mov eax, 0x9e
cmp r8d, eax
ja 0x1402c42cc
je 0x1402c4294
sub r8d, 0x99
je 0x1402c427e
sub r8d, 1
je 0x1402c4267
sub r8d, 1
je 0x1402c4124
sub r8d, 1
je 0x1402c40e1
cmp r8d, 1
jne 0x1402bf13a
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
mov r9, qword [r14 + 0x108]
movsxd rcx, dword [r9 + 0x4c]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [r12 + 4]
movsxd rcx, r8d
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x18]
jmp 0x1402c10c9
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rdi, rax, 0x38
add rbx, rsi
mov eax, 0x10
add rdi, rsi
test byte [rbx + 0x14], al
jne 0x1402c4113
mov rcx, rbx
call fcn.1402c7464
test eax, eax
jne 0x1402c572e
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.1402b5a04
jmp 0x1402bf7b3
movsxd rax, dword [r12 + 0xc]
lea r9, [rbp + 0x20]
mov rdx, qword [r15 + 0x20]
mov r8, qword [r12 + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 4]
add r8, 4
mov qword [rsp + 0x30], r9
lea r9, [rbp - 8]
imul rbx, rax, 0x38
mov ecx, dword [rdi + rsi]
movzx eax, word [r12 + 2]
add ecx, r11d
mov qword [rsp + 0x28], r9
add rbx, rsi
mov r9d, dword [r12 + 8]
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov rdx, qword [rax + rdx + 8]
call fcn.14028e5ac
mov r13d, eax
mov dword [rsp + 0x44], eax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1402c419f
mov rcx, rbx
call fcn.1402d64e8
mov edx, 1
jmp 0x1402c41a8
mov edx, 1
mov word [rbx + 0x14], dx
mov eax, dword [rbp - 8]
test eax, eax
je 0x1402c41e0
test r13d, r13d
jne 0x1402c5657
dec eax
mov r9b, dl
mov rdx, qword [rbp + 0x20]
or r8, 0xffffffffffffffff
movsxd rcx, eax
lea rax, [fcn.140232dc8]
sub qword [rdi + rsi], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1402c7524
mov eax, 2
test byte [rbx + 0x14], al
mov al, byte [rsp + 0x48]
jne 0x1402c41f3
mov byte [rbx + 0x16], al
jmp 0x1402c4202
cmp byte [rbx + 0x16], al
je 0x1402c4202
mov dl, al
mov rcx, rbx
call fcn.1402c7a20
xor r10d, r10d
mov rbx, qword [rsp + 0x50]
mov eax, dword [r15 + 0x198]
cmp eax, r10d
jne 0x1402c571a
mov rdi, qword [rsp + 0x58]
cmp qword [rbp - 0x28], rdi
jb 0x1402c4afb
mov rdx, qword [r15 + 0x210]
cmp rdx, r10
je 0x1402c4afb
mov eax, dword [r15 + 0x220]
mov rcx, qword [r15 + 0x218]
add rdi, rax
mov qword [rsp + 0x58], rdi
call rdx
xor r10d, r10d
test eax, eax
jne 0x1402c5665
cmp qword [rbp - 0x28], rdi
jae 0x1402c4229
jmp 0x1402beaee
mov r8, qword [r12 + 0x10]
mov rcx, r15
mov edx, dword [r12 + 4]
call fcn.1402bb440
jmp 0x1402bf7b8
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
mov word [rax + 0x14], 8
jmp 0x1402c0c40
mov eax, dword [r15 + 0x30]
bt rax, 0x13
movsxd rax, dword [r12 + 8]
jae 0x1402c42b0
add qword [r15 + 0x300], rax
jmp 0x1402bf13a
cmp dword [r12 + 4], r10d
je 0x1402c42c3
add qword [r15 + 0x2f8], rax
jmp 0x1402bf13a
add qword [r14 + 0x50], rax
jmp 0x1402bf13a
sub r8d, 0x9f
je 0x1402c43f1
sub r8d, 1
je 0x1402c4392
sub r8d, 1
je 0x1402c42f3
cmp r8d, 1
jne 0x1402bf13a
movzx ebx, word [r12 + 2]
mov rcx, r15
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.140293a98
xor r10d, r10d
mov r8, rax
test rax, rax
je 0x1402c572e
mov qword [rax + 0x10], r10
add rdi, 6
lea rcx, [rax + rdi*8]
mov qword [rax], rcx
lea edi, [r10 + 1]
mov word [rcx + 0x14], di
mov qword [rcx + 0x18], r15
mov dword [rcx + 0x20], r10d
mov rcx, qword [r12 + 0x10]
mov qword [rax + 8], rcx
mov rcx, r12
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r14
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x29], r10b
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x24], r10d
mov al, byte [rsp + 0x48]
mov byte [r8 + 0x28], al
mov dword [r8 + 0x20], edx
mov byte [r8 + 0x2a], bl
mov word [r12], 0xf1a3
mov qword [r12 + 0x10], r8
jmp 0x1402c4466
movsxd rax, dword [r12 + 4]
mov rdx, r12
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
mov rcx, r14
imul rdi, rax, 0x38
add rdi, rsi
call fcn.1402794b0
mov rcx, qword [rbx + rsi]
xor r11d, r11d
mov qword [rbp - 0x70], rcx
mov r10, rax
test rcx, rcx
jle 0x1402c43e8
mov rdx, qword [rdi]
lea rcx, [rbp - 0x70]
test rdx, rdx
cmovle rdx, r11
call fcn.14028957c
test eax, eax
jne 0x1402c43e8
mov rax, qword [rbp - 0x70]
mov qword [r10], rax
jmp 0x1402bf7b3
or qword [r10], 0xffffffffffffffff
jmp 0x1402bf7b3
mov rcx, qword [r14 + 0x108]
cmp rcx, r10
je 0x1402c441e
mov rax, qword [rcx + 8]
jmp 0x1402c440a
mov rcx, rax
mov rax, qword [rax + 8]
cmp rax, r10
jne 0x1402c4403
movsxd rax, dword [r12 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x1402c442a
movsxd rax, dword [r12 + 4]
imul rdi, rax, 0x38
add rdi, rsi
mov rcx, rdi
call fcn.1402c729c
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.1402c729c
mov rax, qword [rbx]
xor r10d, r10d
lea edx, [r10 + 4]
cmp qword [rdi], rax
jge 0x1402bf2ed
mov qword [rdi], rax
jmp 0x1402bf2ed
mov edi, 1
movsxd rax, dword [r12 + 0xc]
xor r11d, r11d
mov rbx, qword [r12 + 0x10]
imul r8, rax, 0x38
add r8, rsi
cmp qword [rbx + 0x10], r8
je 0x1402c44c4
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r8
sub rdx, 1
lea r10d, [rax - 1]
js 0x1402c44c4
lea r9, [rdx + 6]
lea r9, [rbx + r9*8]
lea r14d, [r11 + 8]
mov eax, dword [r12 + 8]
add eax, r10d
sub r10d, edi
cdqe
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r9], rcx
sub r9, r14
sub rdx, rdi
jns 0x1402c44a0
mov r14, qword [rsp + 0x60]
add dword [r8 + 0x10], edi
mov rcx, rbx
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [r12 + 4], r11d
je 0x1402c44e3
call qword [rax + 0x30]
jmp 0x1402c44e6
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x1402c4afb
jle 0x1402c451f
mov rcx, qword [rbx]
mov dl, dil
call fcn.1402bda04
mov r8, rax
lea rdx, [0x1403fa3c0]
mov rcx, r14
call fcn.1402be6e8
mov r13d, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x44], r13d
cmp byte [rbx + 0x29], r10b
je 0x1402c455d
cmp dword [r12 - 0x14], r10d
je 0x1402c4559
movsxd rax, dword [r12 - 0x14]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x1402c4550
mov rdx, rdi
call fcn.1402d7594
xor r10d, r10d
jmp 0x1402c4559
mov qword [rcx], rdi
mov word [rcx + 0x14], 4
mov byte [rbx + 0x29], r10b
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x1402c4571
cmp dword [rcx + 0x20], r10d
je 0x1402c4579
call fcn.1402d64ac
xor r10d, r10d
mov rax, qword [rbx]
mov r11d, 1
mov word [rax + 0x14], r11w
mov dword [rbx + 0x24], r10d
jmp 0x1402bf2b5
mov eax, 0xae
cmp r8d, eax
ja 0x1402c4b97
je 0x1402c48fd
mov eax, 0xa9
cmp r8d, eax
ja 0x1402c473e
je 0x1402c46d9
sub r8d, 0xa4
je 0x1402c4654
sub r8d, 1
je 0x1402c4654
sub r8d, 1
je 0x1402c4619
sub r8d, 1
je 0x1402c45ff
cmp r8d, 1
jne 0x1402bf13a
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
jmp 0x1402bf135
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
jmp 0x1402bf135
cmp dword [r12 + 4], r10d
jne 0x1402c4632
mov edx, dword [r12 + 8]
mov rcx, r15
call fcn.140296090
jmp 0x1402bf130
mov eax, dword [r14 + 0xc8]
mov ecx, dword [r12 + 8]
add ecx, r11d
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [r14 + 0xc8], ecx
jmp 0x1402bf135
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
cmp dword [r12 + 0xc], r10d
je 0x1402c4695
movsxd rax, dword [r12 + 0xc]
mov r8, qword [r12 + 0x10]
imul rdx, rax, 0x38
add rdx, rsi
call fcn.1402c6cb0
mov r13d, eax
mov dword [rsp + 0x44], eax
movsxd rax, dword [r12 + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
jmp 0x1402c46a6
mov rdx, qword [r12 + 0x10]
call fcn.1402c6f6c
mov r13d, eax
mov dword [rsp + 0x44], eax
xor r10d, r10d
test r13d, r13d
jne 0x1402c567a
lea eax, [r10 + 2]
test byte [rbx + 0x14], al
je 0x1402c0e8c
cmp byte [rbx + 0x16], dil
je 0x1402c4afb
mov dl, dil
mov rcx, rbx
call fcn.1402c7a20
jmp 0x1402bf7b3
mov r8b, byte [r12 + 0xc]
cmp r8b, r10b
jne 0x1402c46f7
movabs rax, 0x400000000
test qword [r15 + 0x30], rax
jne 0x1402bf13a
movsxd rax, dword [r12 + 4]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r12 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14028e990
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
je 0x1402beaee
cmp al, 6
jne 0x1402bf978
mov r8, qword [r12 + 0x10]
lea rdx, [0x1403faf90]
jmp 0x1402c517c
sub r8d, 0xaa
je 0x1402c48c9
sub r8d, 1
je 0x1402c4814
sub r8d, 1
je 0x1402c47ef
cmp r8d, 1
jne 0x1402bf13a
mov rax, qword [r12 + 0x10]
mov qword [rbp - 0x18], r10
mov rbx, qword [rax + 0x10]
cmp rbx, r10
je 0x1402c5387
mov rdi, qword [rbx]
cmp rdi, r10
je 0x1402c5387
lea rdx, [rbp - 0x18]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r14
mov r13d, eax
mov dword [rsp + 0x44], eax
call fcn.1402ca01c
xor r10d, r10d
test r13d, r13d
jne 0x1402bf978
mov rax, qword [rbp - 0x18]
lea r9d, [r13 + 2]
xor r8d, r8d
mov rcx, r14
mov qword [rax], rbx
mov edx, dword [r12 + 4]
call fcn.1402364dc
mov rcx, qword [rbp - 0x18]
xor r10d, r10d
test rax, rax
je 0x1402c5696
lea r11d, [r13 + 1]
mov qword [rax + 0x30], rcx
add dword [rbx + 8], r11d
jmp 0x1402bf126
add dword [r15 + 0xe8], r11d
mov rcx, r15
mov r8, qword [r12 + 0x10]
mov edx, dword [r12 + 4]
call fcn.1402c9ad0
dec dword [r15 + 0xe8]
jmp 0x1402bf17d
xor edx, edx
lea rcx, [rbp + 0x210]
lea r8d, [rdx + 0x38]
call fcn.140331590
movsxd rax, dword [r12 + 8]
lea rcx, [rbp + 0x210]
imul rdx, rax, 0x38
mov qword [rbp + 0x228], r15
add rdx, rsi
call fcn.1402c6e84
mov edx, 1
mov dword [rsp + 0x44], eax
lea rcx, [rbp + 0x210]
mov r13d, eax
call fcn.1402bda04
xor r10d, r10d
test rax, rax
je 0x1402c4886
mov edx, dword [r12 + 4]
lea r9, [r14 + 0xa8]
mov r8, rax
mov rcx, r15
call fcn.1402c99c0
mov r13d, eax
mov dword [rsp + 0x44], eax
xor r10d, r10d
mov ecx, 0x9000
test word [rbp + 0x224], cx
jne 0x1402c489d
cmp dword [rbp + 0x230], r10d
je 0x1402c48b1
lea rcx, [rbp + 0x210]
call fcn.1402d64ac
xor r10d, r10d
mov ecx, 0x9000
test r13d, r13d
jne 0x1402bf978
mov r9d, dword [rsp + 0x40]
mov edx, 4
jmp 0x1402c1170
mov rbx, qword [r12 + 0x10]
mov rcx, r15
mov rdx, rbx
call fcn.1402c96c4
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r13d, eax
test rbx, rbx
je 0x1402bfcdc
mov rdx, qword [rbx + 0x10]
mov rcx, r14
call fcn.1402ca01c
jmp 0x1402bfcd9
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov qword [rbp + 8], r10
add rbx, rsi
test word [rbx + 0x14], cx
je 0x1402c4928
mov rcx, rbx
call fcn.1402d64e8
xor r10d, r10d
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
jmp 0x1402c492d
mov word [rbx + 0x14], r11w
mov rdi, qword [r12 + 0x10]
mov rax, qword [rdi + 0x50]
cmp rax, r10
je 0x1402c2ca8
mov rcx, qword [rax + 0x10]
lea r8, [rbp + 8]
mov qword [rsp + 0x20], r8
mov r10, qword [rcx]
add dword [rax + 0x18], r11d
movsxd rax, dword [r12 + 4]
mov rdx, qword [r15 + 0x20]
mov r9d, dword [r12 + 0xc]
mov r8, qword [rdi]
shl rax, 5
mov rdx, qword [rax + rdx]
call qword [r10 + 0xc0]
mov rcx, qword [rdi + 0x50]
mov r13d, eax
mov dword [rsp + 0x44], eax
call fcn.1402ca3a0
xor r10d, r10d
test r13d, r13d
jne 0x1402c569e
mov rsi, qword [rbp + 8]
test rsi, rsi
je 0x1402c4af6
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x1402c49ad
mov edi, dword [rax + 0x88]
jmp 0x1402c49b2
mov edi, 0x3b9aca00
mov rcx, rsi
call fcn.140321380
movsxd rcx, edi
mov r14, rax
mov r15d, 0x202
cmp rax, rcx
jle 0x1402c4abc
lea rax, [fcn.140232dc8]
cmp rax, 0xffffffffffffffff
je 0x1402c4a57
lea rcx, [fcn.1402ad108]
cmp rax, rcx
jne 0x1402c49f6
mov rcx, qword [rbx + 0x18]
mov rdx, rsi
call fcn.1402939e0
jmp 0x1402c4a57
xor edi, edi
cmp dword [0x14047d100], edi
je 0x1402c4a4e
mov rcx, qword [0x140484850]
test rcx, rcx
je 0x1402c4a12
call qword [0x14047d180]
mov rcx, rsi
call qword [0x14047d138]
movsxd rcx, eax
mov eax, 1
sub qword [0x140484790], rcx
mov rcx, rsi
sub qword [0x1404847d8], rax
call qword [0x14047d128]
mov rcx, qword [0x140484850]
test rcx, rcx
je 0x1402c4a57
call qword [0x14047d190]
jmp 0x1402c4a57
mov rcx, rsi
call qword [0x14047d128]
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x1402c4a77
mov rcx, rbx
call fcn.1402d64e8
mov ecx, 0x9000
mov r11d, 1
jmp 0x1402c4a82
mov r11d, 1
mov word [rbx + 0x14], r11w
mov rax, qword [rbx + 0x18]
xor r10d, r10d
test rax, rax
je 0x1402c4af1
mov rax, qword [rax + 0x160]
lea edx, [r10 + 4]
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
test rax, rax
je 0x1402bf2ed
add dword [rax + 0x30], r11d
mov dword [rax + 0x18], 0x12
jmp 0x1402c259b
lea rdi, [fcn.140232dc8]
cmp rdi, 0xffffffffffffffff
jne 0x1402c4b27
lea rdi, [rax + 1]
mov eax, 0x20
cmp rdi, rax
mov edx, eax
cmovg edx, edi
cmp dword [rbx + 0x20], edx
jge 0x1402c4b05
xor r8d, r8d
mov rcx, rbx
call fcn.1402c714c
xor r10d, r10d
test eax, eax
je 0x1402c4b16
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov edx, 4
jmp 0x1402bf2ed
mov rax, qword [rbx + 0x28]
mov ecx, 0x2d
and word [rbx + 0x14], cx
mov qword [rbx + 8], rax
mov rcx, qword [rbx + 8]
mov r8, rdi
mov rdx, rsi
call fcn.140330ef0
jmp 0x1402c4b70
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x1402c4b39
xor ecx, ecx
cmp dword [rbx + 0x20], ecx
je 0x1402c4b41
mov rcx, rbx
call fcn.1402d64ac
lea rax, [fcn.1402ad108]
mov qword [rbx + 8], rsi
cmp rdi, rax
jne 0x1402c4b66
mov rcx, qword [rbx + 0x18]
mov rdx, rsi
mov qword [rbx + 0x28], rsi
call fcn.140293b3c
mov dword [rbx + 0x20], eax
jmp 0x1402c4b70
mov qword [rbx + 0x30], rdi
mov r15d, 0x1202
btr r14d, 0x1f
mov word [rbx + 0x14], r15w
mov r11d, 1
mov dword [rbx + 0x10], r14d
mov byte [rbx + 0x16], r11b
jmp 0x1402c3be6
mov r14, qword [rsp + 0x60]
jmp 0x1402c233b
mov eax, 0xb4
cmp r8d, eax
ja 0x1402c4eeb
je 0x1402c4ed3
sub r8d, 0xaf
je 0x1402c4e6a
sub r8d, 1
je 0x1402c4d2a
sub r8d, 1
je 0x1402c4c99
sub r8d, 1
je 0x1402c4c70
cmp r8d, 1
jne 0x1402bf13a
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
movsxd rdx, dword [r12 + 4]
xor r10d, r10d
mov rcx, qword [r15 + 0x20]
mov rsi, rax
shl rdx, 5
mov edi, r10d
mov rbx, qword [rdx + rcx + 8]
mov edx, dword [r12 + 0xc]
test edx, edx
je 0x1402c4c1b
mov rcx, qword [rbx + 8]
mov edi, dword [rcx + 0x40]
cmp edi, edx
cmovb edi, edx
cmp byte [rbx + 0x11], r10b
je 0x1402c4c3a
mov eax, 1
add dword [rbx + 0x14], eax
cmp byte [rbx + 0x12], r10b
jne 0x1402c4c3a
mov rcx, rbx
call fcn.14023b444
xor r10d, r10d
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x1402c4c4b
mov dword [rcx + 0xbc], edi
mov edi, dword [rcx + 0xbc]
cmp byte [rbx + 0x11], r10b
je 0x1402c4c68
sub dword [rbx + 0x14], 1
jne 0x1402c4c68
mov rcx, rbx
call fcn.1402d3a74
xor r10d, r10d
mov qword [rsi], rdi
jmp 0x1402beae4
mov rdx, r12
mov rcx, r14
call fcn.1402794b0
mov rcx, qword [r15 + 0x20]
movsxd rdx, dword [r12 + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x40]
jmp 0x1402c0c48
mov edi, dword [r15 + 0x30]
mov eax, 0x4000000
or qword [r15 + 0x30], rax
and edi, eax
mov rax, qword [r12 + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 2
add rbx, qword [rsp + 0x68]
test byte [rbx + 0x14], al
jne 0x1402c4ccf
mov byte [rbx + 0x16], r11b
jmp 0x1402c4cee
cmp byte [rbx + 0x16], r11b
je 0x1402c4cee
mov dl, r11b
mov rcx, rbx
call fcn.1402c7a20
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1402bf978
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x44], eax
mov r13d, eax
test edi, edi
jne 0x1402c4d0f
btr qword [r15 + 0x30], 0x1a
mov rdx, rsi
mov rcx, r14
call fcn.1402ca01c
and dword [r14 + 0xc8], 0xfffffffc
xor r10d, r10d
jmp 0x1402beadb
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
cmp byte [rdi + 2], r10b
jne 0x1402bf7a0
mov rax, qword [rdi + 0x30]
lea rcx, [rbp + 0x248]
xor edx, edx
mov rsi, qword [rax]
lea r8d, [rdx + 0x38]
mov r14, qword [rsi]
call fcn.140331590
mov r15b, byte [rsp + 0x48]
lea rax, [rbp + 0x2b0]
xor r13d, r13d
mov qword [rbp + 0x248], rbx
mov byte [rbp + 0x270], r15b
mov qword [rbp + 0x2b8], r13
mov dword [rbp + 0x2b4], 0x1000000
lea ecx, [r13 + 1]
mov qword [rbp + 0x250], rax
test byte [r12 + 2], cl
je 0x1402c4dcc
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1402c4dbe
mov rcx, rbx
call fcn.1402d64e8
jmp 0x1402c4dc2
mov word [rbx + 0x14], cx
mov dword [rbx], r13d
mov eax, 0x401
jmp 0x1402c4ddb
movzx eax, word [rbx + 0x14]
mov edx, 0xf241
and ax, dx
or ax, cx
mov word [rbx + 0x14], ax
lea rdx, [rbp + 0x248]
mov r8d, dword [r12 + 8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov r14, qword [rsp + 0x60]
mov rdx, rsi
mov rcx, r14
mov dword [rsp + 0x44], eax
mov r13d, eax
call fcn.1402ca01c
xor ecx, ecx
cmp dword [rbp + 0x26c], ecx
jle 0x1402c4e3d
lea edx, [rcx + 1]
mov rcx, rbx
call fcn.1402bda04
mov r8, rax
lea rdx, [0x1403fa3c0]
mov rcx, r14
call fcn.1402be6e8
mov r13d, dword [rbp + 0x26c]
mov dword [rsp + 0x44], r13d
mov eax, 2
test byte [rbx + 0x14], al
jne 0x1402c4e50
mov byte [rbx + 0x16], r15b
jmp 0x1402c4d22
cmp byte [rbx + 0x16], r15b
je 0x1402c4d22
mov dl, r15b
mov rcx, rbx
call fcn.1402c7a20
jmp 0x1402c4d22
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
mov ecx, 0x10
call fcn.140232d30
mov rbx, rax
test rax, rax
je 0x1402c572e
mov rcx, qword [rdi + 0x30]
mov qword [rax], rcx
movsxd rcx, dword [r12 + 0xc]
imul rdx, rcx, 0x38
mov rcx, r14
add rdx, rsi
mov qword [rax + 8], rdx
mov rdx, r12
call fcn.1402794b0
lea r9, [0x1402578ec]
mov rdx, rbx
lea r8, [0x1403fafb0]
mov rcx, rax
mov word [rax + 0x14], 1
call fcn.1402c73f8
jmp 0x1402bf7b3
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + rsi + 0x14], ax
jmp 0x1402bf135
sub r8d, 0xb5
je 0x1402c50d7
sub r8d, 1
je 0x1402c5099
sub r8d, 1
je 0x1402c5056
cmp r8d, 1
jne 0x1402bf13a
mov al, byte [r15 + 0x6e]
test al, 0x41
je 0x1402c4ff5
cmp byte [r14 + 0xc5], 0xfe
je 0x1402c4ff5
mov r9, qword [r12 + 0x10]
cmp r9, r10
jne 0x1402c4f4a
mov r9, qword [r14 + 0xf8]
cmp r9, r10
je 0x1402c4ff5
test al, 0x40
je 0x1402c4f7c
mov rdx, r9
mov rcx, r14
call fcn.1402c5920
mov rcx, qword [r15 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r15 + 0xf8]
mov rcx, rbx
call fcn.140232dc8
mov rbx, qword [rsp + 0x50]
jmp 0x1402c4fe3
cmp dword [r15 + 0xe4], r11d
jle 0x1402c4fcf
mov r8, r9
lea rdx, [0x1403fafbc]
mov rcx, r15
call fcn.1402ac81c
mov rdx, qword [r15 + 0x100]
mov r9, rax
mov r8, r14
mov ecx, 1
mov rbx, rax
call qword [r15 + 0xf8]
xor r10d, r10d
test rbx, rbx
je 0x1402c4fc8
mov rdx, rbx
mov rcx, r15
call fcn.1402939e0
jmp 0x1402c4f75
mov rbx, qword [rsp + 0x50]
jmp 0x1402c4fe6
mov rdx, qword [r15 + 0x100]
mov r8, r14
mov ecx, r11d
call qword [r15 + 0xf8]
xor r10d, r10d
mov r11d, 1
mov ecx, 0x9000
lea edx, [r11 + 3]
mov eax, dword [r12 + 4]
cmp eax, dword [0x14047d2a8]
jl 0x1402c5043
cmp byte [r12], 0xb8
je 0x1402c25a0
mov edx, r11d
cmp dword [r14 + 0x90], r11d
jle 0x1402c5040
mov eax, 0x18
mov rcx, qword [r14 + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x1402c5030
mov dword [rax + rcx + 4], r10d
add edx, r11d
add rax, 0x18
cmp edx, dword [r14 + 0x90]
jl 0x1402c501e
mov eax, r10d
inc eax
mov dword [r12 + 4], eax
add dword [r14 + 0xec], r11d
jmp 0x1402bf543
movsxd rax, dword [r12 + 4]
mov rdx, r12
mov rcx, rsi
imul rbx, rax, 0x38
call fcn.14024659c
mov ecx, dword [rbx + rsi + 0x10]
xor edx, edx
shl ecx, 3
movsxd r8, ecx
mov rcx, qword [rbx + rsi + 8]
div r8
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x1402bf7b3
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rcx, rsi
test byte [rdx + rsi + 0x14], r11b
je 0x1402c50c3
mov eax, 0xf7ff
and word [rcx + 0x14], ax
jmp 0x1402bf130
mov eax, 0x800
or word [rcx + 0x14], ax
mov al, byte [rdx + rsi]
mov byte [rcx + 0x17], al
jmp 0x1402bf130
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x800
add rcx, rsi
test word [rdx + rsi + 0x14], ax
je 0x1402c512a
movzx eax, byte [rdx + rsi + 0x17]
mov r15d, 0x9000
test word [rcx + 0x14], r15w
je 0x1402c5116
mov edx, eax
call fcn.1402d7594
jmp 0x1402bf77a
mov edx, 4
mov qword [rcx], rax
mov word [rcx + 0x14], dx
mov ecx, r15d
jmp 0x1402bf13a
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x1402c133b
jmp 0x1402c1c71
mov r13d, dword [rsp + 0x44]
jmp 0x1402c0630
mov rbx, qword [rsp + 0x50]
xor r10d, r10d
jmp 0x1402c48bf
mov r14, qword [rsp + 0x60]
lea rax, [0x1403faf48]
cmp ebx, r9d
lea r8, [0x1403faf50]
mov r13d, 1
lea rdx, [0x1403faf58]
cmove r8, rax
mov rcx, r14
call fcn.1402be6e8
xor r10d, r10d
jmp 0x1402bf978
and eax, 0x100000
neg rax
sbb r13d, r13d
and r13d, 0xfffffffd
add r13d, 0xb
jmp 0x1402bf978
mov eax, 5
lea r15d, [rax - 3]
cmp r13b, al
jne 0x1402bf97e
mov rcx, r12
mov dword [r14 + 0x34], r13d
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x30], edx
jmp 0x1402c587c
movzx eax, byte [r15 + 0x65]
mov ebx, dword [r12 + 4]
mov ecx, dword [r12 + 8]
cmp ebx, eax
je 0x1402c52c6
cmp ecx, r10d
je 0x1402c5219
mov edx, 0x204
mov rcx, r15
call fcn.1402b5838
mov esi, 1
mov al, sil
jmp 0x1402c525d
cmp ebx, r10d
je 0x1402c523e
cmp dword [r15 + 0xe0], r10d
jle 0x1402c523e
lea rdx, [0x1403fae00]
mov rcx, r14
call fcn.1402be6e8
mov r13d, edi
jmp 0x1402c5184
mov edx, r11d
mov rcx, r14
call fcn.1402be030
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1402c5876
mov al, bl
lea esi, [r13 + 1]
mov rcx, r14
mov byte [r15 + 0x65], al
call fcn.1402c5f9c
cmp eax, edi
jne 0x1402c52ab
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
mov r13d, edi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, esi
sub al, bl
mov dword [r14 + 0x30], edx
mov byte [r15 + 0x65], al
mov dword [r14 + 0x34], edi
xor r10d, r10d
jmp 0x1402c5876
mov rcx, r15
call fcn.140290474
mov eax, dword [r14 + 0x34]
neg eax
sbb r13d, r13d
and r13d, 0xffffff9c
add r13d, 0x65
jmp 0x1402c52a3
cmp ecx, r10d
lea rax, [0x1403fae68]
lea rdx, [0x1403fae98]
mov rcx, r14
cmovne rdx, rax
cmp ebx, r10d
lea rax, [0x1403fae38]
cmove rdx, rax
call fcn.1402be6e8
mov r13d, 1
jmp 0x1402c5184
lea rdx, [0x1403fad78]
jmp 0x1402c522e
lea rdx, [0x1403fadc8]
jmp 0x1402c522e
mov rcx, qword [rsp + 0x78]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
mov r13d, r8d
imul rcx
mov rcx, rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor r10d, r10d
mov dword [r14 + 0x30], edx
mov byte [rdi + 0x65], r10b
mov dword [r14 + 0x34], r8d
lea r15d, [r10 + 2]
jmp 0x1402c5881
mov r13d, 0x65
jmp 0x1402c5876
movzx eax, byte [r12 + 2]
mov ecx, 5
cmp word [r12 + 2], cx
lea r15d, [rcx - 3]
cmove eax, r15d
mov byte [r14 + 0xc4], al
jmp 0x1402bf97e
mov r13d, 6
jmp 0x1402bf978
mov r13d, 0x14
jmp 0x1402bf978
mov ecx, 0x183cc
call fcn.14029212c
mov r13d, eax
jmp 0x1402c5184
lea rdx, [0x1403faf20]
mov rcx, r14
mov r13d, r11d
call fcn.1402be6e8
jmp 0x1402c5184
mov ecx, dword [r12 + 4]
mov dword [r14 + 0x34], ecx
mov al, byte [r12 + 8]
mov byte [r14 + 0xc4], al
cmp ecx, r10d
je 0x1402c548f
mov rcx, r14
cmp word [r12 + 2], r10w
je 0x1402c5439
movzx r8d, word [r12 + 2]
lea rax, [0x140000000]
lea rdx, [0x1403fad10]
mov r8, qword [rax + r8*8 + 0x3f73a0]
call fcn.1402be6e8
mov r9, qword [r12 + 0x10]
test r9, r9
je 0x1402c544a
mov r8, qword [r14 + 0xa8]
lea rdx, [0x1403fad28]
mov rcx, r15
call fcn.1402ac81c
mov qword [r14 + 0xa8], rax
jmp 0x1402c544a
mov r8, qword [r12 + 0x10]
lea rdx, [0x1403fa3c0]
call fcn.1402be6e8
mov r9, qword [r14 + 0xf8]
mov rcx, r12
sub rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r14 + 0xa8]
mov ecx, dword [r12 + 4]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, [0x1403fad30]
call fcn.14021fdd0
mov rcx, r14
call fcn.1402c5f9c
mov rcx, qword [rsp + 0x70]
mov r13d, eax
mov r12, qword [rsp + 0x58]
mov eax, 5
lea r15d, [rax - 3]
cmp r13d, eax
jne 0x1402c54b8
mov dword [r14 + 0x34], eax
jmp 0x1402c54c9
mov eax, dword [r14 + 0x34]
neg eax
sbb r13d, r13d
and r13d, 0xffffff9c
add r13d, 0x65
xor r10d, r10d
jmp 0x1402c5886
mov eax, dword [r14 + 0x2c]
add eax, 2
or eax, r11d
mov dword [r14 + 0x2c], eax
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r14 + 0xa0], rcx
cmp byte [r15 + 0x67], r10b
jne 0x1402c572e
test byte [r15 + 0x6e], dl
je 0x1402c5521
mov rdx, qword [r15 + 0x100]
xor r9d, r9d
mov r8, r14
lea ecx, [r9 + 4]
call qword [r15 + 0xf8]
xor r10d, r10d
lea r11d, [r10 + 1]
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rbx
mov r13d, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r11d
mov dword [r14 + 0x30], edx
jmp 0x1402c5876
mov r14, qword [rsp + 0x60]
lea r10, [0x140000000]
and edx, 0x3f
movsxd rax, esi
movzx r8d, byte [rdx + r10 + 0x3f5f30]
lea rcx, [rax + rax*2]
mov r9d, dword [rdi + rcx*8 + 8]
lea rdx, [0x1403fad48]
mov rax, qword [rdi + rcx*8]
mov rcx, r14
shr r9d, 4
mov r8, qword [r10 + r8*8 + 0x47e510]
and r9d, 0xf
mov qword [rsp + 0x28], rax
sub r9d, r11d
mov rax, qword [r15]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x47d478]
call fcn.1402be6e8
mov r13d, 0xc13
jmp 0x1402c5184
mov ecx, 0x175fd
call fcn.14029212c
mov r14, qword [rsp + 0x60]
mov r13d, eax
jmp 0x1402c5184
cmp eax, 7
je 0x1402c5729
cmp eax, 0x12
je 0x1402c5611
jmp 0x1402bf978
mov r13d, 0x204
jmp 0x1402bf978
mov rcx, qword [rbx + 0x10]
call fcn.14028ce70
jmp 0x1402c5184
mov r13d, 0xd
jmp 0x1402c5184
mov r14, qword [rsp + 0x60]
lea rdx, [0x1403f8d38]
mov rcx, r14
call fcn.1402be6e8
mov r13d, 0x12
jmp 0x1402c5184
mov r13d, 6
xor r10d, r10d
lea r15d, [r13 - 4]
mov byte [r14 + 0xc4], r15b
jmp 0x1402bf97e
mov r13d, 7
mov rcx, r15
call fcn.1402b51c4
jmp 0x1402c3f81
mov rcx, qword [rbp + 0x20]
call fcn.140232dc8
jmp 0x1402c5184
or r12, 0xffffffffffffffff
mov r13d, 9
mov r15d, 2
jmp 0x1402bf983
mov edx, 1
mov rcx, rbx
call fcn.1402bda04
mov r8, rax
lea rdx, [0x1403fa3c0]
jmp 0x1402c517c
call qword [rdi + 0x38]
jmp 0x1402c572e
mov rbx, qword [rbp + 8]
test rbx, rbx
je 0x1402bf978
cmp dword [0x14047d100], r10d
je 0x1402c570c
mov rcx, qword [0x140484850]
test rcx, rcx
je 0x1402c56c6
call qword [0x14047d180]
mov rcx, rbx
call qword [0x14047d138]
movsxd rcx, eax
mov eax, 1
sub qword [0x140484790], rcx
mov rcx, rbx
sub qword [0x1404847d8], rax
call qword [0x14047d128]
mov rcx, qword [0x140484850]
xor r10d, r10d
test rcx, rcx
je 0x1402bf978
call qword [0x14047d190]
jmp 0x1402c5184
mov rcx, rbx
call qword [0x14047d128]
jmp 0x1402c5184
mov r12, qword [rsp + 0x58]
jmp 0x1402c5669
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
mov rcx, r15
call fcn.1402ad138
lea rdx, [0x1403f87e0]
mov rcx, r14
call fcn.1402be6e8
mov r13d, 7
jmp 0x1402c3f90
mov r13d, dword [rsp + 0x44]
jmp 0x1402bf973
mov r13d, dword [rsp + 0x44]
jmp 0x1402bf978
cmp r13d, 0x210a
jne 0x1402c5782
mov ecx, 0x18cd0
call fcn.14029212c
mov r13d, eax
xor r10d, r10d
cmp qword [r14 + 0xa8], r10
jne 0x1402c57ae
cmp r13d, 0xc0a
je 0x1402c57ae
mov ecx, r13d
call fcn.140295c58
mov r8, rax
lea rdx, [0x1403fa3c0]
mov rcx, r14
call fcn.1402be6e8
mov edx, r13d
mov dword [r14 + 0x34], r13d
mov rcx, rbx
call fcn.1402ba2f4
mov rcx, qword [rsp + 0x78]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
mov r9, qword [r14 + 0xf8]
imul rcx
mov rax, qword [r14 + 0xa8]
mov ecx, r13d
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, [0x1403fafc8]
call fcn.14021fdd0
cmp byte [r14 + 0xc7], r15b
jne 0x1402c5815
mov rcx, r14
call fcn.1402c5f9c
cmp r13d, 0xc0a
jne 0x1402c584f
mov rcx, rbx
call fcn.1402ad138
xor r10d, r10d
mov rcx, rbx
movzx eax, byte [rbp - 0x68]
mov r11d, 1
mov r13d, r11d
test al, al
je 0x1402c5886
mov edx, eax
sub edx, r11d
call fcn.1402b5250
mov rcx, rbx
jmp 0x1402c54c9
cmp r13d, 0xb
jne 0x1402c5826
xor r10d, r10d
mov rcx, rbx
cmp byte [rbx + 0x65], r10b
jne 0x1402c582c
movabs rax, 0x200000000
or qword [rbx + 0x30], rax
jmp 0x1402c582c
mov r13d, dword [rsp + 0x44]
mov r15d, 2
mov rcx, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
mov rax, qword [rbp - 0x28]
cmp rax, r12
jb 0x1402c58c6
mov rdx, qword [rcx + 0x210]
cmp rdx, r10
je 0x1402c58c6
mov eax, dword [rcx + 0x220]
mov rcx, qword [rcx + 0x218]
add r12, rax
call rdx
mov rcx, qword [rsp + 0x70]
xor r10d, r10d
test eax, eax
je 0x1402c5886
or r12, 0xffffffffffffffff
lea r13d, [r10 + 9]
jmp 0x1402bf983
add dword [r14 + 0xe4], eax
cmp dword [r14 + 0xd0], r10d
je 0x1402c58de
mov rcx, r14
call fcn.1402d63d4
mov eax, r13d
mov rcx, qword [rbp + 0x310]
xor rcx, rsp
call fcn.14031d2a0
lea r11, [rsp + 0x450]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret