Function at 0x1407daee0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5a8]
sub rsp, 0x6a8
mov rbx, rcx
xor edi, edi
mov r14d, edi
mov dword [rbp + 0x5f8], edi
mov dword [rbp + 0x600], edi
movsxd rax, dword [rcx + 0xc4]
lea rdx, [0x140000000]
cmp eax, 0xa
ja case.0x1407daf31.3
mov ecx, dword [rdx + rax*4 + 0x7df4d4]
add rcx, rdx
jmp rcx
mov qword [rbx + 0x1a8], rdi
mov qword [rbx + 0x1b0], rdi
mov qword [rbx + 0x178], rdi
mov qword [rbx + 0x180], rdi
mov qword [rbx + 0x198], rdi
mov qword [rbx + 0x1a0], rdi
mov qword [rbx + 0x188], rdi
mov qword [rbx + 0x190], rdi
mov rax, qword [rbx + 0x148]
cmp dword [rax + 4], edi
je 0x1407dafb0
lea rcx, [rbx + 0x148]
call fcn.1407d9290
mov rdi, rax
lea rcx, [rbx + 0x148]
call fcn.1407d8850
mov r8, rdi
mov rdx, rax
lea rcx, [rbx + 0x148]
call fcn.1407d8f60
mov rax, qword [rbx + 0x148]
xor edi, edi
mov dword [rax + 4], edi
lea rcx, [rbx + 0xf8]
call fcn.1407d8c10
test byte [rbx + 0x228], 1
je case.0x1407daf31.3
cmp dword [rbx + 0xc4], 1
je 0x1407dafdc
mov dword [rbx + 0xc4], 5
movsxd rdx, dword [rbx + 0x30]
lea rcx, [rdx + rdx*8]
mov rax, qword [rbx + 0x28]
lea r8, [rax + rcx*8]
lea eax, [rdx - 1]
mov dword [rbx + 0x30], eax
mov eax, dword [r8 + 0x40]
mov dword [rbx + 0x18], eax
mov eax, dword [r8 + 0x44]
dec eax
mov dword [rbx + 8], eax
mov eax, dword [rbx + 0x30]
shr eax, 0x1f
mov byte [rbx + 0x20], al
mov rax, qword [r8 + 0x30]
mov qword [rbx + 0x188], rax
mov eax, dword [r8 + 0x38]
mov dword [rbx + 0x190], eax
mov eax, dword [r8 + 0x3c]
mov dword [rbx + 0x194], eax
mov rax, qword [r8]
mov qword [rbx + 0x1a8], rax
mov eax, dword [r8 + 8]
mov dword [rbx + 0x1b0], eax
mov eax, dword [r8 + 0xc]
mov dword [rbx + 0x1b4], eax
mov rax, qword [r8 + 0x10]
mov qword [rbx + 0x198], rax
mov eax, dword [r8 + 0x18]
mov dword [rbx + 0x1a0], eax
mov eax, dword [r8 + 0x1c]
mov dword [rbx + 0x1a4], eax
and dword [rbx + 0x228], 0xfffffffe
jmp 0x1407df4bd
mov qword [rbx + 0x1a8], rdi
mov qword [rbx + 0x1b0], rdi
mov qword [rbx + 0x178], rdi
mov qword [rbx + 0x180], rdi
mov qword [rbx + 0x198], rdi
mov qword [rbx + 0x1a0], rdi
mov qword [rbx + 0x188], rdi
mov qword [rbx + 0x190], rdi
mov rcx, rbx
call fcn.1407d8c70
cmp dword [rbx + 0xc4], 1
je 0x1407db0c2
mov dword [rbx + 0xc4], edi
mov esi, dword [rbx + 0x22c]
mov dword [rbp + 0x608], esi
movsxd rdx, dword [rbx + 0x230]
mov rax, qword [rbx + 0x240]
mov r9d, 5
lea r12d, [r9 - 6]
lea r15d, [r9 + 3]
lea r13d, [r9 - 3]
lea r10d, [r9 - 2]
lea r11, [0x140e8a5a8]
test esi, esi
je 0x1407db2df
mov eax, dword [rax + rdx*4 - 4]
mov dword [rbx + 0x22c], edi
jmp 0x1407db7df
mov rax, qword [rbx + 0x140]
cmp dword [rax + 4], edi
je 0x1407db155
lea rcx, [rbx + 0x140]
call fcn.1407d92f0
mov rdi, rax
lea rcx, [rbx + 0x140]
call fcn.1407d88b0
mov r8, rdi
mov rdx, rax
lea rcx, [rbx + 0x140]
call fcn.1407d9000
mov rax, qword [rbx + 0x140]
xor edi, edi
mov dword [rax + 4], edi
mov rax, qword [rbx + 0x160]
cmp dword [rax + 4], r14d
je 0x1407db19b
lea rcx, [rbx + 0x160]
call fcn.1407d9230
mov rdi, rax
lea rcx, [rbx + 0x160]
call fcn.1407d87f0
mov r8, rdi
mov rdx, rax
lea rcx, [rbx + 0x160]
call fcn.1407d8e30
mov rax, qword [rbx + 0x160]
xor edi, edi
mov dword [rax + 4], edi
mov qword [rbx + 0x1d8], rdi
mov qword [rbx + 0x1e0], r14
mov qword [rbx + 0x1e8], rdi
mov qword [rbx + 0x1f0], r14
mov qword [rbx + 0x1f8], rdi
mov qword [rbx + 0x200], r14
and dword [rbx + 0x228], 0xfffffffb
or dword [rbx + 0x228], 2
mov qword [rbx + 0x168], rdi
mov qword [rbx + 0x170], r14
jmp case.0x1407daf31.3
mov qword [rbx + 0x168], rdi
mov qword [rbx + 0x170], rdi
mov qword [rbx + 0x1a8], rdi
mov qword [rbx + 0x1b0], rdi
jmp case.0x1407daf31.3
mov qword [rbx + 0x1b8], rdi
mov qword [rbx + 0x1c0], rdi
mov qword [rbx + 0x1c8], rdi
mov qword [rbx + 0x1d0], rdi
jmp case.0x1407daf31.3
or dword [rbx + 0x228], 0x800
mov qword [rbx + 0x208], rdi
mov qword [rbx + 0x210], rdi
mov qword [rbx + 0x218], rdi
mov qword [rbx + 0x220], rdi
mov rcx, qword [rbx + 0xb8]
test rcx, rcx
je case.0x1407daf31.3
call fcn.1407be6b0
test al, al
je case.0x1407daf31.3
mov edi, 0xffffffff
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x140f119a8]
lea rdx, [0x140f11978]
lea rcx, [rsp + 0x58]
call fcn.140707930
nop
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.1407e0950
nop
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407db2bc
cmp ecx, edi
je 0x1407db2cf
mov rax, qword [rsp + 0x58]
lock add dword [rax], edi
setne al
test al, al
jne 0x1407db2cf
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rsp + 0x58]
call fcn.1406e4ad0
lea rcx, [rbx + 0x60]
call fcn.140415780
xor al, al
jmp 0x1407df4bf
mov esi, dword [rax + rdx*4]
lea rdi, [0x140000000]
cmp word [rbx + 0x260], 0xffff
jne 0x1407db6e1
movsxd rax, esi
lea rdi, [rax + rax]
lea r10, [0x140000000]
mov eax, 0xffffffc7
cmp ax, word [rdi + r10 + 0xf0fcb0]
je 0x1407db45e
mov eax, dword [rbx + 0x78]
add eax, 1
je 0x1407db342
cmp byte [rbx + 0xc0], 0
jne 0x1407db382
movsxd r8, dword [rbx + 0x78]
mov rax, qword [rbx + 0x70]
lea rdx, [rax + r8*4]
lea eax, [r8 - 1]
mov dword [rbx + 0x78], eax
mov r8d, dword [rdx]
jmp 0x1407db37c
mov rdx, qword [rbx + 0x60]
movsxd rcx, dword [rbx + 0x68]
cmp ecx, dword [rdx + 4]
jge 0x1407db364
lea eax, [rcx + 1]
mov dword [rbx + 0x68], eax
mov rax, qword [rdx + 0x10]
lea rcx, [rax + rcx*2]
movzx r8d, word [rcx + rdx]
jmp 0x1407db37c
mov rcx, rbx
call fcn.1407da550
mov r8d, eax
mov r9d, 5
lea r10, [0x140000000]
cmp r8d, 0xffffffff
jne 0x1407db391
mov dword [rbx + 0x264], 0xffffffff
jmp 0x1407db5e5
movzx eax, r8w
mov dword [rbx + 0x264], eax
test r8d, 0xff0000
je 0x1407db3b5
shr r8d, 0x10
mov word [rbx + 0x260], r8w
jmp 0x1407db45e
cmp eax, 0x2d
ja 0x1407db508
je 0x1407db4fe
add eax, 0xfffffff7
cmp eax, 0x23
ja case.default.0x1407db526
movzx eax, byte [r10 + rax + 0x7df53c]
mov ecx, dword [r10 + rax*4 + 0x7df500]
add rcx, r10
jmp rcx
mov word [rbx + 0x260], r13w
cmp r8d, 0xd
jne 0x1407db45e
mov rcx, rbx
call fcn.1407d9f50
mov dword [rbx + 0x264], eax
test eax, eax
je 0x1407db5e5
inc qword [rbx + 0xe0]
movsxd rax, dword [rbx + 0x68]
add rax, qword [rbx + 0xf0]
mov qword [rbx + 0xe8], rax
jmp 0x1407db45e
inc qword [rbx + 0xe0]
movsxd rax, dword [rbx + 0x68]
add rax, qword [rbx + 0xf0]
mov qword [rbx + 0xe8], rax
mov word [rbx + 0x260], r13w
jmp 0x1407db45e
mov word [rbx + 0x260], r9w
jmp 0x1407db45e
mov eax, 6
mov word [rbx + 0x260], ax
xor r9d, r9d
mov r10d, 3
lea rdi, [0x140000000]
movsx edx, word [rbx + 0x260]
movsxd rax, esi
lea r8, [rax + rax]
movsx eax, word [r8 + rdi + 0xf0fcb0]
add eax, edx
js 0x1407db6e9
cdqe
lea rcx, [rax + rax]
movsx eax, word [rcx + rdi + 0xf10da0]
cmp eax, edx
jne 0x1407db6e9
movsx esi, word [rcx + rdi + 0xf10360]
jmp 0x1407db6f4
mov eax, 7
jmp 0x1407db457
mov word [rbx + 0x260], r15w
jmp 0x1407db45e
mov eax, 0xb
jmp 0x1407db457
mov eax, 0xc
jmp 0x1407db457
mov eax, 0xf
jmp 0x1407db457
mov eax, 0x13
jmp 0x1407db457
mov eax, 0x15
jmp 0x1407db457
mov eax, 0x16
jmp 0x1407db457
mov eax, 0x19
jmp 0x1407db457
mov eax, 0x14
jmp 0x1407db457
cmp eax, 0x3e
ja 0x1407db584
je 0x1407db57a
add eax, 0xffffffd2
cmp eax, 0xf
ja case.default.0x1407db526
mov ecx, dword [r10 + rax*4 + 0x7df560]
add rcx, r10
jmp rcx
mov r10d, 3
mov word [rbx + 0x260], r10w
xor r9d, r9d
jmp 0x1407db467
mov eax, 0xe
jmp 0x1407db457
mov eax, 0x10
jmp 0x1407db457
mov eax, 0x11
jmp 0x1407db457
mov eax, 0x12
jmp 0x1407db457
mov eax, 0x17
jmp 0x1407db457
mov eax, 0x1b
jmp 0x1407db457
mov eax, 4
jmp 0x1407db457
cmp eax, 0x7c
ja 0x1407db5c6
je 0x1407db5bc
cmp eax, 0x3f
je 0x1407db5b2
cmp eax, 0x5b
je 0x1407db5a8
cmp eax, 0x5d
jne case.default.0x1407db526
mov eax, 0xa
jmp 0x1407db457
mov eax, 9
jmp 0x1407db457
mov eax, 0x18
jmp 0x1407db457
mov eax, 0xd
jmp 0x1407db457
cmp eax, 0xfffe
jb case.default.0x1407db526
cmp eax, 0xffff
jbe 0x1407db6a1
cmp eax, 0xffffffff
jne case.default.0x1407db526
xor r9d, r9d
mov word [rbx + 0x260], r9w
cmp byte [rbx + 0x20], r9b
jne 0x1407db461
test byte [rbx + 0x228], 0x80
jne 0x1407db461
lea rcx, [0x140000000]
movsx rax, word [rdi + rcx + 0xf0fcb0]
test ax, ax
js 0x1407db631
cmp word [rcx + rax*2 + 0xf10da0], r9w
jne 0x1407db631
movsx eax, word [rcx + rax*2 + 0xf10360]
jmp 0x1407db63b
movsx eax, word [rdi + rcx + 0xf0f950]
neg eax
test eax, eax
jns 0x1407db461
lea rax, [0x140e8a5a8]
mov qword [rbp - 0x10], rax
lea r8, [rbp - 0x10]
mov edx, 4
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rbp - 0x10]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407db68b
cmp ecx, 0xffffffff
je 0x1407dbe83
mov rax, qword [rbp - 0x10]
lock xadd dword [rax], r12d
add r12d, 0xffffffff
setne al
test al, al
jne 0x1407dbe83
mov rcx, qword [rbp - 0x10]
mov r8, r15
mov rdx, r13
call fcn.1406e4ad0
xor al, al
jmp 0x1407df4bf
mov eax, 0x2b
jmp 0x1407db457
xor r9d, r9d
lea rdi, [0x140000000]
lea r10d, [r9 + 3]
cmp r8d, 0x20
jae 0x1407db6d0
mov eax, 1
mov word [rbx + 0x260], ax
jmp 0x1407db46e
mov eax, 0x1a
mov word [rbx + 0x260], ax
jmp 0x1407db46e
xor r9d, r9d
jmp 0x1407db46e
movsx esi, word [r8 + rdi + 0xf0f950]
neg esi
cmp esi, 0x1a0
je 0x1407df490
test esi, esi
jle 0x1407db79a
inc dword [rbx + 0x230]
mov ecx, dword [rbx + 0x230]
mov eax, dword [rbx + 0x234]
dec eax
cmp ecx, eax
jl 0x1407db72e
mov rcx, rbx
call fcn.1407e1790
mov ecx, dword [rbx + 0x230]
movsxd r8, ecx
shl r8, 4
add r8, qword [rbx + 0x238]
movzx eax, word [rbx + 0x264]
mov word [r8 + 0xc], ax
lea rcx, [rbx + 0x248]
mov rax, qword [rcx]
mov edx, dword [rax + 4]
mov dword [r8], edx
mov qword [r8 + 4], 1
mov eax, dword [rbx + 0x264]
test eax, eax
je 0x1407db772
movzx edx, ax
call fcn.140055a40
movsxd rcx, dword [rbx + 0x230]
mov rax, qword [rbx + 0x240]
mov dword [rax + rcx*4], esi
mov word [rbx + 0x260], r12w
mov r9d, 5
lea r10d, [r9 - 2]
jmp 0x1407db2e9
jns 0x1407df484
not esi
mov dword [rbp + 0x608], esi
movsxd rax, esi
movsx eax, word [rdi + rax*2 + 0xf0f680]
sub dword [rbx + 0x230], eax
movsxd rdx, dword [rbx + 0x230]
mov rax, qword [rbx + 0x240]
mov eax, dword [rax + rdx*4]
inc edx
mov dword [rbx + 0x230], edx
xor edi, edi
lea r9d, [rdi + 5]
lea r11, [0x140e8a5a8]
mov dword [rsp + 0x48], eax
cmp esi, 0x10c
ja case.0x1407db80d.2
movsxd rax, esi
lea r8, [0x140000000]
movzx eax, byte [r8 + rax + 0x7df694]
mov ecx, dword [r8 + rax*4 + 0x7df5a0]
add rcx, r8
jmp rcx
cmp dword [rbx + 0xc4], 1
je case.0x1407db80d.2
mov dword [rbx + 0xc4], r10d
jmp case.0x1407db80d.2
cmp dword [rbx + 0xc4], 1
je case.0x1407db80d.2
test byte [rbx + 0x228], 0xc0
je 0x1407df274
mov dword [rbx + 0xc4], r10d
jmp case.0x1407db80d.2
movsxd rcx, dword [rbx + 0x98]
lea eax, [rcx - 1]
mov dword [rbx + 0x98], eax
mov rax, qword [rbx + 0x90]
mov rdx, qword [rax + rcx*8]
and dword [rdx + 0x10], 0xffffffef
movsxd rdx, dword [rbx + 0x230]
shl rdx, 4
add rdx, qword [rbx + 0x238]
mov rax, qword [rbx + 0x248]
mov ecx, dword [rax + 4]
mov dword [rdx], ecx
mov dword [rdx + 4], edi
jmp case.0x1407db80d.2
mov r8d, 0x37
xor r9d, r9d
lea rdx, [0x140d24520]
mov rcx, rbx
call fcn.1407e3470
test al, al
jne case.0x1407db80d.2
cmp byte [rbx + 0xc0], al
je case.0x1407db80d.2
mov eax, 0xb
mov dword [rbx + 0x22c], eax
cmp dword [rbx + 0xc8], 0
jne 0x1407dbe83
lea rsi, [0x140e8a5a8]
mov qword [rbp], rsi
mov eax, 4
mov dword [rbx + 0xc8], eax
lea rdx, [rbp]
lea rcx, [rbx + 0xd0]
call fcn.1406e73b0
cmp qword [rbx + 0xd0], rsi
jne 0x1407db972
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11ec8]
lea rdx, [0x140f11978]
lea rcx, [rbp + 0x80]
call fcn.140707930
mov rcx, qword [rbx + 0xd0]
mov rax, qword [rbp + 0x80]
mov qword [rbx + 0xd0], rax
mov qword [rbp + 0x80], rcx
mov eax, dword [rcx]
test eax, eax
je 0x1407db960
cmp eax, 0xffffffff
je 0x1407db972
mov eax, r12d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1407db972
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0x80]
call fcn.1406e4ad0
mov eax, 1
mov dword [rbx + 0xc4], eax
mov rax, qword [rbp]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407db9a8
cmp ecx, 0xffffffff
je 0x1407dbe83
mov rax, qword [rbp]
lock xadd dword [rax], r12d
add r12d, 0xffffffff
setne al
test al, al
jne 0x1407dbe83
mov rcx, qword [rbp]
mov r8, r15
mov rdx, r13
call fcn.1406e4ad0
xor al, al
jmp 0x1407df4bf
cmp dword [rbx + 0xc4], 1
je 0x1407db9ce
mov dword [rbx + 0xc4], r13d
movsxd r9, edx
add r9, 5
shl r9, 4
add r9, qword [rbx + 0x238]
lea r8, [rbx + 0x248]
mov edx, dword [r9]
add edx, dword [r9 + 8]
mov eax, dword [r9 + 4]
sub eax, dword [r9 + 8]
mov qword [rbx + 0x208], r8
mov dword [rbx + 0x210], edx
mov dword [rbx + 0x214], eax
mov rcx, rbx
call fcn.1407e3f20
jmp case.0x1407db80d.2
or dword [rbx + 0x228], 0x400
movsxd r9, edx
inc r9
shl r9, 4
add r9, qword [rbx + 0x238]
lea r8, [rbx + 0x248]
mov edx, dword [r9]
add edx, dword [r9 + 8]
mov eax, dword [r9 + 4]
sub eax, dword [r9 + 8]
mov qword [rbx + 0x1f8], r8
mov dword [rbx + 0x200], edx
mov dword [rbx + 0x204], eax
jmp case.0x1407db80d.2
movsxd r8, edx
inc r8
shl r8, 4
add r8, qword [rbx + 0x238]
lea rdi, [rbx + 0x248]
mov qword [rbp + 0x150], rdi
mov ecx, dword [r8]
add ecx, dword [r8 + 8]
mov dword [rbp + 0x158], ecx
mov eax, dword [r8 + 4]
sub eax, dword [r8 + 8]
mov dword [rbp + 0x15c], eax
lea rdx, [rbp + 0x150]
mov rcx, rbx
call fcn.1407d8a30
movsxd r8, dword [rbx + 0x230]
inc r8
shl r8, 4
add r8, qword [rbx + 0x238]
mov edx, dword [r8]
add edx, dword [r8 + 8]
mov eax, dword [r8 + 4]
sub eax, dword [r8 + 8]
mov qword [rbx + 0x1e8], rdi
mov dword [rbx + 0x1f0], edx
mov dword [rbx + 0x1f4], eax
movsxd r8, dword [rbx + 0x230]
add r8, 3
shl r8, 4
add r8, qword [rbx + 0x238]
mov edx, dword [r8]
add edx, dword [r8 + 8]
mov eax, dword [r8 + 4]
sub eax, dword [r8 + 8]
mov qword [rbx + 0x1f8], rdi
mov dword [rbx + 0x200], edx
mov dword [rbx + 0x204], eax
or dword [rbx + 0x228], 0x400
jmp case.0x1407db80d.2
mov rcx, rbx
call fcn.1407e33d0
test al, al
jne 0x1407dbb3e
cmp byte [rbx + 0xc0], al
jne 0x1407df31c
movsxd r9, dword [rbx + 0x230]
add r9, 2
shl r9, 4
add r9, qword [rbx + 0x238]
lea r8, [rbx + 0x248]
mov edx, dword [r9]
add edx, dword [r9 + 8]
mov eax, dword [r9 + 4]
sub eax, dword [r9 + 8]
mov qword [rbx + 0x1d8], r8
mov dword [rbx + 0x1e0], edx
mov dword [rbx + 0x1e4], eax
jmp case.0x1407db80d.2
movsxd r9, edx
add r9, 2
shl r9, 4
add r9, qword [rbx + 0x238]
lea r8, [rbx + 0x248]
mov edx, dword [r9]
add edx, dword [r9 + 8]
mov eax, dword [r9 + 4]
sub eax, dword [r9 + 8]
mov qword [rbx + 0x1d8], r8
mov dword [rbx + 0x1e0], edx
mov dword [rbx + 0x1e4], eax
cmp dword [rbx + 0xc4], 1
je 0x1407dbbcd
mov dword [rbx + 0xc4], r15d
lea rax, [rbx + 0x248]
mov qword [rbx + 0x168], rax
mov dword [rbx + 0x170], edi
test rax, rax
je 0x1407dbbf7
mov rax, qword [rax]
mov ecx, dword [rax + 4]
mov dword [rbx + 0x174], ecx
jmp case.0x1407db80d.2
mov ecx, edi
mov dword [rbx + 0x174], ecx
jmp case.0x1407db80d.2
mov byte [rbx + 0x100], 1
jmp case.0x1407db80d.2
mov byte [rbx + 0x100], 0
jmp case.0x1407db80d.2
mov r8d, 0x28
xor r9d, r9d
lea rdx, [0x140f11920]
mov rcx, rbx
call fcn.1407e3470
test al, al
jne case.0x1407db80d.2
mov r8d, 0x29
xor r9d, r9d
lea rdx, [0x140f11928]
mov rcx, rbx
call fcn.1407e3470
test al, al
jne case.0x1407db80d.2
cmp byte [rbx + 0xc0], al
je case.0x1407db80d.2
mov eax, 0x25
mov dword [rbx + 0x22c], eax
cmp dword [rbx + 0xc8], 0
jne 0x1407dbe83
lea rsi, [0x140e8a5a8]
mov qword [rbp + 0x10], rsi
mov eax, 4
mov dword [rbx + 0xc8], eax
lea rdx, [rbp + 0x10]
lea rcx, [rbx + 0xd0]
call fcn.1406e73b0
cmp qword [rbx + 0xd0], rsi
jne 0x1407dbd1b
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11ec8]
lea rdx, [0x140f11978]
lea rcx, [rbp + 0x90]
call fcn.140707930
mov rcx, qword [rbx + 0xd0]
mov rax, qword [rbp + 0x90]
mov qword [rbx + 0xd0], rax
mov qword [rbp + 0x90], rcx
mov eax, dword [rcx]
test eax, eax
je 0x1407dbd09
cmp eax, 0xffffffff
je 0x1407dbd1b
mov eax, r12d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1407dbd1b
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0x90]
call fcn.1406e4ad0
mov eax, 1
mov dword [rbx + 0xc4], eax
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dbd51
cmp ecx, 0xffffffff
je 0x1407dbe83
mov rax, qword [rbp + 0x10]
lock xadd dword [rax], r12d
add r12d, 0xffffffff
setne al
test al, al
jne 0x1407dbe83
mov rcx, qword [rbp + 0x10]
mov r8, r15
mov rdx, r13
call fcn.1406e4ad0
xor al, al
jmp 0x1407df4bf
mov r8d, 0x2a
xor r9d, r9d
lea rdx, [0x140f1192c]
mov rcx, rbx
call fcn.1407e3470
test al, al
jne case.0x1407db80d.2
cmp byte [rbx + 0xc0], al
je case.0x1407db80d.2
mov eax, 0x2b
mov dword [rbx + 0x22c], eax
cmp dword [rbx + 0xc8], 0
jne 0x1407dbe83
lea rsi, [0x140e8a5a8]
mov qword [rbp + 0x18], rsi
mov eax, 4
mov dword [rbx + 0xc8], eax
lea rdx, [rbp + 0x18]
lea rcx, [rbx + 0xd0]
call fcn.1406e73b0
cmp qword [rbx + 0xd0], rsi
jne 0x1407dbe46
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11ec8]
lea rdx, [0x140f11978]
lea rcx, [rbp + 0x98]
call fcn.140707930
mov rcx, qword [rbx + 0xd0]
mov rax, qword [rbp + 0x98]
mov qword [rbx + 0xd0], rax
mov qword [rbp + 0x98], rcx
mov eax, dword [rcx]
test eax, eax
je 0x1407dbe34
cmp eax, 0xffffffff
je 0x1407dbe46
mov eax, r12d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1407dbe46
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0x98]
call fcn.1406e4ad0
mov eax, 1
mov dword [rbx + 0xc4], eax
mov rax, qword [rbp + 0x18]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dbe74
cmp ecx, 0xffffffff
je 0x1407dbe83
mov rax, qword [rbp + 0x18]
lock xadd dword [rax], r12d
add r12d, 0xffffffff
setne al
test al, al
jne 0x1407dbe83
mov rcx, qword [rbp + 0x18]
mov r8, r15
mov rdx, r13
call fcn.1406e4ad0
xor al, al
jmp 0x1407df4bf
mov byte [rbx + 0x118], 1
jmp case.0x1407db80d.2
mov rcx, rbx
call fcn.1407e03f0
cmp eax, 0x46
je 0x1407dbec9
cmp eax, 0x49
je 0x1407dbebb
cmp eax, 0x52
jne 0x1407dbeec
lea rdx, [0x140f11900]
mov eax, 0x25
jmp 0x1407dbed5
lea rdx, [0x140f11910]
mov eax, 0x26
jmp 0x1407dbed5
lea rdx, [0x140f11918]
mov eax, 0x27
xor r9d, r9d
movzx r8d, ax
mov rcx, rbx
call fcn.1407e3470
test al, al
jne case.0x1407db80d.2
cmp byte [rbx + 0xc0], 0
je case.0x1407db80d.2
mov edx, 0x4e
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
movsxd rdx, edx
mov rcx, qword [rbx + 0x238]
lea rax, [rdx + 1]
add rax, rax
movups xmm0, xmmword [rcx + rax*8]
add rdx, rdx
movups xmmword [rcx + rdx*8], xmm0
mov qword [rbx + 0x108], rdi
mov qword [rbx + 0x110], 0
mov byte [rbx + 0x118], 0
mov rcx, rbx
call fcn.1407e3200
test al, al
jne case.0x1407db80d.2
cmp byte [rbx + 0xc0], al
je case.0x1407db80d.2
mov edx, 0x53
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
mov edx, dword [rbx + 0x128]
lea ecx, [rdx + 2]
mov eax, dword [rbx + 0x12c]
cmp ecx, eax
jle 0x1407dbfbc
add eax, eax
cmp ecx, eax
cmovl ecx, eax
mov dword [rbx + 0x12c], ecx
movsxd rax, ecx
imul rdx, rax, 0x58
mov rcx, qword [rbx + 0x120]
call fcn.1408e18d4
mov qword [rbx + 0x120], rax
test rax, rax
jne 0x1407dbfb6
call fcn.14074ba20
mov edx, dword [rbx + 0x128]
mov rsi, qword [rbx + 0x120]
lea eax, [rdx + 1]
mov dword [rbx + 0x128], eax
movsxd rax, edx
inc rax
imul rax, rax, 0x58
add rsi, rax
mov qword [rsi], rdi
mov qword [rsi + 8], 0
movzx eax, byte [rbx + 0x118]
mov byte [rsi + 0x50], al
movsxd rax, dword [rbx + 0x230]
shl rax, 4
add rax, qword [rbx + 0x238]
mov ecx, dword [rax + 8]
lea r14, [rbx + 0x248]
test ecx, ecx
je 0x1407dc027
dec ecx
mov eax, dword [rax]
mov qword [rbp + 0xc0], r14
mov dword [rbp + 0xc8], eax
mov dword [rbp + 0xcc], ecx
jmp 0x1407dc039
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xc8], 0
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x530]
mov rcx, rbx
call fcn.1407d83d0
mov rcx, qword [rax]
mov qword [rsi + 0x20], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x28], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x2c], eax
movsxd rax, dword [rbx + 0x230]
shl rax, 4
add rax, qword [rbx + 0x238]
mov ecx, dword [rax + 8]
mov edx, dword [rax + 4]
sub edx, ecx
mov eax, dword [rax]
add ecx, eax
mov qword [rbp + 0x160], r14
mov dword [rbp + 0x168], ecx
mov dword [rbp + 0x16c], edx
lea r8, [rbp + 0x160]
lea rdx, [rbp + 0x4e0]
mov rcx, rbx
call fcn.1407d83d0
mov rcx, qword [rax]
mov qword [rsi + 0x30], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x38], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x3c], eax
movsxd rax, dword [rbx + 0x230]
shl rax, 4
add rax, qword [rbx + 0x238]
mov ecx, dword [rax + 4]
mov eax, dword [rax]
mov qword [rbp + 0x170], r14
mov dword [rbp + 0x178], eax
mov dword [rbp + 0x17c], ecx
lea r8, [rbp + 0x170]
lea rdx, [rbp + 0x4f0]
mov rcx, rbx
call fcn.1407d83d0
mov rcx, qword [rax]
mov qword [rsi + 0x10], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x18], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x1c], eax
mov dword [rbp + 0x230], 5
lea r14, [0x140f119ec]
mov qword [rbp + 0x238], r14
movaps xmm0, xmmword [rbp + 0x230]
movdqa xmmword [rbp + 0x370], xmm0
lea rdx, [rsi + 0x20]
lea rcx, [rbp + 0x370]
call fcn.1406e7d80
test al, al
jne 0x1407dc188
cmp dword [rsi + 0x2c], 0
jne 0x1407dc184
mov dword [rbp + 0x240], 5
mov qword [rbp + 0x248], r14
movaps xmm0, xmmword [rbp + 0x240]
movdqa xmmword [rbp + 0x380], xmm0
lea rdx, [rsi + 0x30]
lea rcx, [rbp + 0x380]
call fcn.1406e7d80
test al, al
jne 0x1407dc188
xor al, al
jmp 0x1407dc18a
mov al, 1
mov byte [rsi + 0x51], al
mov rax, qword [rbx + 0x108]
test rax, rax
je 0x1407dc2c6
lea rcx, [0x140e8a5a8]
cmp qword [rax], rcx
je 0x1407dc2c6
lea rcx, [rbx + 0x108]
cmp byte [rsi + 0x50], 0
je 0x1407dc1f1
mov r8, rcx
lea rdx, [rbp + 0x500]
mov rcx, rbx
call fcn.1407d83d0
mov rcx, qword [rax]
mov qword [rsi + 0x40], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x48], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x4c], eax
mov r14d, dword [rbp + 0x5f8]
mov r15d, 8
jmp case.0x1407db80d.2
lea rdx, [rbp + 0x28]
call fcn.1406f2f10
nop
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1406f1ee0
mov r14d, dword [rbp + 0x5f8]
bts r14d, 0xd
mov dword [rbp + 0x5f8], r14d
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x510]
mov rcx, rbx
call fcn.1407d8480
mov rcx, qword [rax]
mov qword [rsi + 0x40], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x48], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x4c], eax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dc268
cmp ecx, 0xffffffff
je 0x1407dc280
mov rax, qword [rsp + 0x60]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407dc280
mov r15d, 8
mov r8d, r15d
mov rdx, r13
mov rcx, qword [rsp + 0x60]
call fcn.1406e4ad0
jmp 0x1407dc286
mov r15d, 8
mov rax, qword [rbp + 0x28]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dc2b2
cmp ecx, 0xffffffff
je case.0x1407db80d.2
mov rax, qword [rbp + 0x28]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.2
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0x28]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
xor eax, eax
mov qword [rsi + 0x40], rax
mov qword [rsi + 0x48], rax
mov r14d, dword [rbp + 0x5f8]
mov r15d, 8
jmp case.0x1407db80d.2
mov eax, dword [rbx + 0x228]
and eax, 0x108
cmp eax, 0x100
je case.0x1407db80d.2
mov edi, dword [rbx + 0x128]
inc edi
movsxd rcx, edx
add rcx, 2
shl rcx, 4
add rcx, qword [rbx + 0x238]
lea rax, [rbx + 0x248]
mov qword [rbp + 0x180], rax
mov eax, dword [rcx]
mov dword [rbp + 0x188], eax
mov eax, dword [rcx + 4]
mov dword [rbp + 0x18c], eax
lea r8, [rbp + 0x180]
lea rdx, [rbp + 0x130]
mov rcx, rbx
call fcn.1407d83d0
movsxd r13, edi
test edi, edi
je 0x1407dc467
imul rcx, r13, 0x58
nop word [rax + rax]
dec r13
sub rcx, 0x58
mov qword [rsp + 0x30], rcx
mov r12, qword [rbx + 0x120]
add r12, rcx
mov rax, qword [r12]
lea r11, [0x140e8a5a8]
test rax, rax
je 0x1407dc38f
cmp qword [rax], r11
jne 0x1407dc454
mov rax, qword [rbp + 0x130]
mov qword [r12], rax
mov eax, dword [rbp + 0x138]
mov dword [r12 + 8], eax
mov eax, dword [rbp + 0x13c]
mov dword [r12 + 0xc], eax
xor edi, edi
mov esi, edi
mov r15d, edi
test r13, r13
jle 0x1407dc44e
mov r14d, edi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbx + 0x120]
mov rcx, qword [rax + r14]
test rcx, rcx
je 0x1407dc407
cmp qword [rcx], r11
je 0x1407dc407
mov edi, esi
imul rcx, rdi, 0x58
add rcx, rax
lea rdx, [rbp + 0x130]
call fcn.1406e7cc0
test al, al
je 0x1407dc422
mov rax, qword [rbx + 0x120]
jmp 0x1407dc409
mov edi, esi
imul rcx, rdi, 0x58
add rax, 0x10
lea rdx, [r12 + 0x10]
add rcx, rax
call fcn.1406e7cc0
test al, al
jne 0x1407dc439
inc esi
inc r15
add r14, 0x58
cmp r15, r13
lea r11, [0x140e8a5a8]
jl 0x1407dc3d0
jmp 0x1407dc446
xor r9d, r9d
mov qword [r12 + 0x10], r9
mov qword [r12 + 0x18], r9
mov rcx, qword [rsp + 0x30]
test r13, r13
jne 0x1407dc360
mov r14d, dword [rbp + 0x5f8]
mov r12d, 0xffffffff
mov r15d, 8
mov r13d, 2
movsxd rax, dword [rbp + 0x608]
lea rdi, [0x140000000]
movsx r8, word [rdi + rax*2 + 0xf0f460]
lea edx, [r8 - 0x39]
movsxd rax, dword [rsp + 0x48]
movsx ecx, word [rdi + rax*2 + 0xf10006]
add ecx, edx
js 0x1407df23b
movsxd rax, ecx
lea rcx, [rax*2 + 0x7f2]
movsx eax, word [rcx + rdi + 0xf10da0]
cmp eax, edx
jne 0x1407df23b
movzx eax, word [rcx + rdi + 0xf10360]
jmp 0x1407df244
mov rcx, rbx
call fcn.1407e33d0
test al, al
jne 0x1407dc4dd
cmp byte [rbx + 0xc0], al
jne 0x1407df41b
lea rcx, [rbx + 0x150]
call fcn.1407e0450
mov r10, rax
mov qword [rax], rdi
mov qword [rax + 8], 0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], rdi
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], rdi
mov qword [rax + 0x38], 0
mov qword [rax + 0x40], rdi
mov qword [rax + 0x48], 0
mov word [rax + 0x50], 0
movsxd r9, dword [rbx + 0x230]
add r9, 2
shl r9, 4
add r9, qword [rbx + 0x238]
lea r8, [rbx + 0x248]
mov edx, dword [r9]
add edx, dword [r9 + 8]
mov eax, dword [r9 + 4]
sub eax, dword [r9 + 8]
mov qword [r10], r8
mov dword [r10 + 8], edx
mov dword [r10 + 0xc], eax
jmp case.0x1407db80d.2
mov rcx, rbx
call fcn.1407e33d0
test al, al
jne 0x1407dc581
cmp byte [rbx + 0xc0], al
jne 0x1407df42f
lea rcx, [rbx + 0x150]
call fcn.1407e0450
mov r10, rax
mov qword [rax], rdi
mov qword [rax + 8], 0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], rdi
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], rdi
mov qword [rax + 0x38], 0
mov qword [rax + 0x40], rdi
mov qword [rax + 0x48], 0
mov word [rax + 0x50], 0
movsxd r9, dword [rbx + 0x230]
add r9, 4
shl r9, 4
add r9, qword [rbx + 0x238]
lea r8, [rbx + 0x248]
mov edx, dword [r9]
add edx, dword [r9 + 8]
mov eax, dword [r9 + 4]
sub eax, dword [r9 + 8]
mov qword [r10], r8
mov dword [r10 + 8], edx
mov dword [r10 + 0xc], eax
mov byte [r10 + 0x50], 1
jmp case.0x1407db80d.2
mov rcx, rbx
call fcn.1407e3380
test al, al
jne 0x1407dc62a
cmp byte [rbx + 0xc0], al
jne 0x1407df440
movsxd rax, dword [rbx + 0x158]
imul r10, rax, 0x58
add r10, qword [rbx + 0x150]
movsxd r9, dword [rbx + 0x230]
add r9, 2
shl r9, 4
add r9, qword [rbx + 0x238]
lea r8, [rbx + 0x248]
mov edx, dword [r9]
add edx, dword [r9 + 8]
mov eax, dword [r9 + 4]
sub eax, dword [r9 + 8]
mov qword [r10 + 0x30], r8
mov dword [r10 + 0x38], edx
mov dword [r10 + 0x3c], eax
mov byte [r10 + 0x51], 1
jmp case.0x1407db80d.2
mov rcx, rbx
call fcn.1407e3380
test al, al
jne 0x1407dc696
cmp byte [rbx + 0xc0], al
jne 0x1407df451
movsxd rax, dword [rbx + 0x158]
imul rsi, rax, 0x58
add rsi, qword [rbx + 0x150]
movsxd rdx, dword [rbx + 0x230]
add rdx, 2
shl rdx, 4
add rdx, qword [rbx + 0x238]
lea rdi, [rbx + 0x248]
mov r8d, dword [rdx]
add r8d, dword [rdx + 8]
mov eax, dword [rdx + 4]
sub eax, dword [rdx + 8]
lea rdx, [rsi + 0x20]
mov qword [rdx], rdi
mov dword [rdx + 8], r8d
mov dword [rdx + 0xc], eax
mov rcx, rbx
call fcn.1407d8a30
movsxd r8, dword [rbx + 0x230]
add r8, 4
shl r8, 4
add r8, qword [rbx + 0x238]
mov edx, dword [r8]
add edx, dword [r8 + 8]
mov eax, dword [r8 + 4]
sub eax, dword [r8 + 8]
mov qword [rsi + 0x30], rdi
mov dword [rsi + 0x38], edx
mov dword [rsi + 0x3c], eax
mov byte [rsi + 0x51], 1
jmp case.0x1407db80d.2
movsxd rax, dword [rbx + 0x158]
imul r8, rax, 0x58
add r8, qword [rbx + 0x150]
movsxd rax, edx
add rax, 2
shl rax, 4
add rax, qword [rbx + 0x238]
mov ecx, dword [rax + 8]
mov edx, dword [rax + 4]
sub edx, ecx
mov eax, dword [rax]
add ecx, eax
lea rax, [rbx + 0x248]
mov qword [r8 + 0x10], rax
mov dword [r8 + 0x18], ecx
mov dword [r8 + 0x1c], edx
cmp byte [r8 + 0x50], 0
je case.0x1407db80d.94
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f119f8]
lea rdx, [0x140f11978]
lea rcx, [rsp + 0x68]
call fcn.140707930
bts r14d, 0xe
mov dword [rbp + 0x5f8], r14d
lea r8, [rsp + 0x68]
mov edx, 3
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dc7cf
cmp ecx, 0xffffffff
je case.0x1407db80d.94
mov rax, qword [rsp + 0x68]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.94
mov r8, r15
mov rdx, r13
mov rcx, qword [rsp + 0x68]
call fcn.1406e4ad0
mov eax, dword [rbx + 0x228]
and eax, 0x108
cmp eax, 0x100
jne 0x1407dc7fc
dec dword [rbx + 0x158]
jmp case.0x1407db80d.2
movsxd rax, dword [rbx + 0x158]
imul rdi, rax, 0x58
add rdi, qword [rbx + 0x150]
cmp byte [rdi + 0x51], 0
jne 0x1407dc846
movsxd rax, dword [rbx + 0x230]
inc rax
shl rax, 4
add rax, qword [rbx + 0x238]
mov ecx, dword [rax + 8]
mov edx, dword [rax + 4]
sub edx, ecx
mov eax, dword [rax]
add ecx, eax
lea rax, [rbx + 0x248]
mov qword [rdi + 0x40], rax
mov dword [rdi + 0x48], ecx
mov dword [rdi + 0x4c], edx
mov r14d, 0x88
cmp byte [rdi + 0x50], 0
mov eax, 0x80
cmove r14d, eax
add r14, rbx
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi]
test rdx, rdx
jne 0x1407dc878
lea rcx, [0x140e8a5a8]
add rcx, qword [0x140e8a5b8]
jmp 0x1407dc88a
mov rdx, qword [rdx]
movsxd rcx, dword [rdi + 8]
mov rax, qword [rdx + 0x10]
lea rcx, [rax + rcx*2]
add rcx, rdx
mov qword [rbp + 0x250], r8
mov qword [rbp + 0x258], rcx
lea rdx, [rbp + 0x250]
mov rcx, r14
call fcn.1407d8ce0
test al, al
jne 0x1407dc9f0
lea rcx, [rdi + 0x40]
lea rdx, [rbp + 0x38]
call fcn.1406f2f10
mov rsi, rax
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.1406f2f10
mov rcx, qword [rax]
mov qword [rbp + 0xa8], rcx
mov ecx, dword [rcx]
inc ecx
cmp ecx, 1
jbe 0x1407dc8e8
mov rcx, qword [rbp + 0xa8]
lock inc dword [rcx]
mov rax, qword [rsi]
mov qword [rbp + 0xb0], rax
mov eax, dword [rax]
inc eax
cmp eax, 1
jbe 0x1407dc905
mov rax, qword [rbp + 0xb0]
lock inc dword [rax]
and dword [rbp + 0xb8], 0xffffffe0
mov rax, qword [rbp + 0x30]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dc930
cmp ecx, 0xffffffff
je 0x1407dc940
mov rax, qword [rbp + 0x30]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407dc940
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0x30]
call fcn.1406e4ad0
nop
mov rax, qword [rbp + 0x38]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dc964
cmp ecx, 0xffffffff
je 0x1407dc973
mov rax, qword [rbp + 0x38]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407dc973
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0x38]
call fcn.1406e4ad0
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1407dc98d
lea rcx, [0x140e8a5a8]
cmp qword [rax], rcx
je 0x1407dc98d
mov ecx, r13d
jmp 0x1407dc98f
xor ecx, ecx
movzx edx, byte [rdi + 0x51]
and edx, 1
mov eax, dword [rbp + 0xb8]
and eax, 0xfffffffc
or edx, eax
or edx, ecx
mov dword [rbp + 0xb8], edx
mov rdx, qword [rbp + 0xa8]
movsxd r8, dword [rdx + 4]
add rdx, qword [rdx + 0x10]
mov qword [rbp + 0x260], r8
mov qword [rbp + 0x268], rdx
lea r9, [rbp + 0xa8]
lea r8, [rbp + 0x260]
lea rdx, [rbp + 0x3b0]
mov rcx, r14
call fcn.1407dabb0
nop
lea rcx, [rbp + 0xa8]
call fcn.140750940
mov r14d, dword [rbp + 0x5f8]
jmp case.0x1407db80d.2
cmp dword [rbx + 0xc4], 1
je 0x1407dca10
mov eax, 0xa
mov dword [rbx + 0xc4], eax
movsxd rcx, edx
mov rdx, qword [rbx + 0x238]
lea rax, [rcx + 3]
add rax, rax
mov edi, dword [rdx + rax*8 + 4]
add edi, dword [rdx + rax*8]
lea rax, [rcx + 2]
shl rax, 4
add rax, rdx
mov r8d, dword [rax + 4]
sub r8d, dword [rax + 8]
mov edx, dword [rax]
add edx, dword [rax + 8]
lea rsi, [rbx + 0x248]
mov qword [rbx + 0x1b8], rsi
mov dword [rbx + 0x1c0], edx
mov dword [rbx + 0x1c4], r8d
mov r8d, r12d
lea rdx, [0x140e6becc]
mov rcx, rbx
call fcn.1407e3730
test al, al
je 0x1407dcd19
mov rax, qword [rsi]
mov ecx, dword [rax + 4]
sub ecx, edi
sub ecx, 2
mov qword [rbx + 0x1c8], rsi
mov dword [rbx + 0x1d0], edi
mov dword [rbx + 0x1d4], ecx
mov dword [rbp + 0x270], 3
lea rax, [0x140f11a20]
mov qword [rbp + 0x278], rax
movaps xmm0, xmmword [rbp + 0x270]
movdqa xmmword [rbp + 0x390], xmm0
mov r8, qword [rbx + 0x1b8]
lea rsi, [0x140e8a5a8]
test r8, r8
jne 0x1407dcad9
mov rcx, qword [0x140e8a5b8]
add rcx, rsi
jmp 0x1407dcaee
mov r8, qword [r8]
movsxd rcx, dword [rbx + 0x1c0]
mov rax, qword [r8 + 0x10]
lea rcx, [rax + rcx*2]
add rcx, r8
xor r9d, r9d
lea r8, [rbp + 0x390]
mov edx, dword [rbx + 0x1c4]
call fcn.1406ea7d0
test eax, eax
jne 0x1407dcb8d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11a28]
lea rdx, [0x140f11978]
lea rcx, [rsp + 0x70]
call fcn.140707930
bts r14d, 0xf
mov dword [rbp + 0x5f8], r14d
lea r8, [rsp + 0x70]
mov edx, 3
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dcb78
cmp ecx, 0xffffffff
je case.0x1407db80d.2
mov rax, qword [rsp + 0x70]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.2
mov r8, r15
mov rdx, r13
mov rcx, qword [rsp + 0x70]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
movsxd r9, dword [rbx + 0x1c4]
mov r8, qword [rbx + 0x1b8]
test r8, r8
je 0x1407dcbbe
mov r8, qword [r8]
cmp r8, rsi
je 0x1407dcbbe
movsxd rcx, dword [rbx + 0x1c0]
mov rax, qword [r8 + 0x10]
lea rdx, [rax + rcx*2]
add rdx, r8
xor edi, edi
jmp 0x1407dcbc2
xor edi, edi
mov edx, edi
mov qword [rbp + 0x280], r9
mov qword [rbp + 0x288], rdx
movaps xmm0, xmmword [rbp + 0x280]
movdqa xmmword [rbp + 0x3a0], xmm0
lea rcx, [rbp + 0x3a0]
call fcn.140865410
test al, al
jne case.0x1407db80d.2
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11a58]
lea rdx, [0x140f11978]
lea rcx, [rsp + 0x78]
call fcn.140707930
bts r14d, 0x10
mov dword [rbp + 0x5f8], r14d
movsxd r9, dword [rbx + 0x1c4]
mov r8, qword [rbx + 0x1b8]
test r8, r8
je 0x1407dcc4e
mov r8, qword [r8]
cmp r8, rsi
je 0x1407dcc4e
movsxd rcx, dword [rbx + 0x1c0]
mov rax, qword [r8 + 0x10]
lea rdx, [rax + rcx*2]
add rdx, r8
jmp 0x1407dcc51
mov rdx, rdi
mov qword [rbp + 0x290], r9
mov qword [rbp + 0x298], rdx
movaps xmm0, xmmword [rbp + 0x290]
movdqa xmmword [rbp + 0x4a0], xmm0
mov eax, 0x20
mov word [rsp + 0x20], ax
xor r9d, r9d
lea r8, [rbp + 0x4a0]
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x78]
call fcn.1406e8d90
nop
mov r8, rax
mov edx, 3
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rbp + 0x40]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dccc6
cmp ecx, 0xffffffff
je 0x1407dccd6
mov rax, qword [rbp + 0x40]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407dccd6
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0x40]
call fcn.1406e4ad0
nop
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dcd04
cmp ecx, 0xffffffff
je case.0x1407db80d.2
mov rax, qword [rsp + 0x78]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.2
mov r8, r15
mov rdx, r13
mov rcx, qword [rsp + 0x78]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
cmp dword [rbx + 0xc4], 1
je case.0x1407db80d.2
mov edx, 0x60
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
cmp dword [rbx + 0xc4], 1
je 0x1407dcd4e
mov eax, 0xa
mov dword [rbx + 0xc4], eax
movsxd rax, edx
add rax, 2
shl rax, 4
add rax, qword [rbx + 0x238]
mov edx, dword [rax + 4]
sub edx, dword [rax + 8]
mov r9d, dword [rax]
add r9d, dword [rax + 8]
lea r8, [rbx + 0x248]
mov qword [rbx + 0x1b8], r8
mov dword [rbx + 0x1c0], r9d
mov dword [rbx + 0x1c4], edx
mov dword [rbp + 0x2a0], r10d
lea rax, [0x140f11a20]
mov qword [rbp + 0x2a8], rax
movaps xmm0, xmmword [rbp + 0x2a0]
movdqa xmmword [rbp + 0x3c0], xmm0
test r8, r8
jne 0x1407dcdbd
mov rcx, qword [0x140e8a5b8]
add rcx, r11
jmp 0x1407dcdce
mov r8, qword [r8]
movsxd rcx, r9d
mov rax, qword [r8 + 0x10]
lea rcx, [rax + rcx*2]
add rcx, r8
xor r9d, r9d
lea r8, [rbp + 0x3c0]
call fcn.1406ea7d0
test eax, eax
jne case.0x1407db80d.2
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11a88]
lea rdx, [0x140f11978]
lea rcx, [rbp - 0x80]
call fcn.140707930
bts r14d, 0x11
mov dword [rbp + 0x5f8], r14d
lea r8, [rbp - 0x80]
mov edx, 3
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rbp - 0x80]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dce4e
cmp ecx, 0xffffffff
je case.0x1407db80d.2
mov rax, qword [rbp - 0x80]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.2
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp - 0x80]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
mov rcx, rbx
call fcn.1407e03f0
sub eax, 0x41
je 0x1407dcede
sub eax, 3
je 0x1407dced0
sub eax, 1
je 0x1407dcea2
sub eax, 9
je 0x1407dce94
cmp eax, 0xd
jne 0x1407dcf01
lea rdx, [0x140f118b0]
mov eax, 0x1c
xor r9b, r9b
jmp 0x1407dceed
lea rdx, [0x140f118d8]
mov eax, 0x21
jmp 0x1407dceea
mov r8d, 0x1e
mov r9b, 1
lea rdx, [0x140f118c0]
mov rcx, rbx
call fcn.1407e3470
test al, al
jne case.0x1407db80d.2
lea rdx, [0x140f118d0]
mov eax, 0x20
jmp 0x1407dceea
lea rdx, [0x140f118b8]
mov eax, 0x1d
jmp 0x1407dceea
lea rdx, [0x140f118c8]
mov eax, 0x1f
mov r9b, 1
movzx r8d, ax
mov rcx, rbx
call fcn.1407e3470
test al, al
jne case.0x1407db80d.2
cmp byte [rbx + 0xc0], 0
je case.0x1407db80d.2
mov edx, 0x62
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
mov r8d, r12d
lea rdx, [0x140e49004]
mov rcx, rbx
call fcn.1407e3730
test al, al
jne case.0x1407db80d.2
mov edx, 0x63
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
cmp dword [rbx + 0xc4], 1
je 0x1407dcf64
mov eax, 7
mov dword [rbx + 0xc4], eax
movsxd rcx, edx
add rcx, rcx
mov rax, qword [rbx + 0x238]
mov r8d, dword [rax + rcx*8]
add r8d, 4
lea rdx, [rbx + 0x248]
mov rax, qword [rdx]
mov ecx, dword [rax + 4]
sub ecx, r8d
sub ecx, 3
mov qword [rbx + 0x168], rdx
mov dword [rbx + 0x170], r8d
mov dword [rbx + 0x174], ecx
jmp case.0x1407db80d.2
cmp dword [rbx + 0xc4], 1
je 0x1407dcfb9
mov eax, 6
mov dword [rbx + 0xc4], eax
mov eax, dword [rbx + 0x228]
and eax, 0xfffffffd
or eax, 4
mov dword [rbx + 0x228], eax
movsxd rcx, edx
inc rcx
add rcx, rcx
mov rax, qword [rbx + 0x238]
mov edi, dword [rax + rcx*8]
mov r8d, r12d
lea rdx, [0x140e6bed4]
mov rcx, rbx
call fcn.1407e3730
test al, al
je 0x1407df462
lea rdx, [rbx + 0x248]
mov rax, qword [rdx]
mov ecx, dword [rax + 4]
sub ecx, edi
sub ecx, 3
mov qword [rbx + 0x168], rdx
mov dword [rbx + 0x170], edi
mov dword [rbx + 0x174], ecx
jmp case.0x1407db80d.2
mov rcx, rbx
call fcn.1407e33d0
test al, al
jne 0x1407dd03a
cmp byte [rbx + 0xc0], al
jne 0x1407df473
mov r11d, dword [rbx + 0x138]
lea ecx, [r11 + 2]
mov eax, dword [rbx + 0x13c]
cmp ecx, eax
jle 0x1407dd08b
add eax, eax
cmp ecx, eax
cmovl ecx, eax
mov dword [rbx + 0x13c], ecx
movsxd rax, ecx
lea rdx, [rax + rax*2]
shl rdx, 4
mov rcx, qword [rbx + 0x130]
call fcn.1408e18d4
mov qword [rbx + 0x130], rax
test rax, rax
jne 0x1407dd084
call fcn.14074ba20
mov r11d, dword [rbx + 0x138]
lea eax, [r11 + 1]
mov dword [rbx + 0x138], eax
movsxd rdx, dword [rbx + 0x230]
add rdx, 2
shl rdx, 4
add rdx, qword [rbx + 0x238]
lea r10, [rbx + 0x248]
mov r8d, dword [rdx]
add r8d, dword [rdx + 8]
mov r9d, dword [rdx + 4]
sub r9d, dword [rdx + 8]
movsxd rax, r11d
inc rax
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, qword [rbx + 0x130]
mov qword [rcx], r10
mov dword [rcx + 8], r8d
mov dword [rcx + 0xc], r9d
jmp case.0x1407db80d.2
movsxd rax, dword [rbx + 0x138]
lea r10, [rax + rax*2]
shl r10, 4
add r10, qword [rbx + 0x130]
movsxd r9, edx
add r9, 2
shl r9, 4
add r9, qword [rbx + 0x238]
lea r8, [rbx + 0x248]
mov edx, dword [r9]
add edx, dword [r9 + 8]
mov eax, dword [r9 + 4]
sub eax, dword [r9 + 8]
mov qword [r10 + 0x20], r8
mov dword [r10 + 0x28], edx
mov dword [r10 + 0x2c], eax
mov qword [r10 + 0x10], rdi
mov qword [r10 + 0x18], 0
jmp case.0x1407db80d.2
movsxd rax, dword [rbx + 0x138]
lea r10, [rax + rax*2]
shl r10, 4
add r10, qword [rbx + 0x130]
mov qword [r10 + 0x20], rdi
mov qword [r10 + 0x28], 0
movsxd rdx, dword [rbx + 0x230]
add rdx, 2
shl rdx, 4
add rdx, qword [rbx + 0x238]
lea r9, [rbx + 0x248]
mov r8d, dword [rdx]
add r8d, dword [rdx + 8]
mov eax, dword [rdx + 4]
sub eax, dword [rdx + 8]
lea rdx, [r10 + 0x10]
mov qword [rdx], r9
mov dword [rdx + 8], r8d
mov dword [rdx + 0xc], eax
mov rcx, rbx
call fcn.1407d8a30
jmp case.0x1407db80d.2
movsxd rax, dword [rbx + 0x138]
lea rsi, [rax + rax*2]
shl rsi, 4
add rsi, qword [rbx + 0x130]
movsxd rdx, edx
add rdx, 2
shl rdx, 4
add rdx, qword [rbx + 0x238]
lea rdi, [rbx + 0x248]
mov r8d, dword [rdx]
add r8d, dword [rdx + 8]
mov eax, dword [rdx + 4]
sub eax, dword [rdx + 8]
lea rdx, [rsi + 0x10]
mov qword [rdx], rdi
mov dword [rdx + 8], r8d
mov dword [rdx + 0xc], eax
mov rcx, rbx
call fcn.1407d8a30
movsxd r8, dword [rbx + 0x230]
add r8, 4
shl r8, 4
add r8, qword [rbx + 0x238]
mov edx, dword [r8]
add edx, dword [r8 + 8]
mov eax, dword [r8 + 4]
sub eax, dword [r8 + 8]
mov qword [rsi + 0x20], rdi
mov dword [rsi + 0x28], edx
mov dword [rsi + 0x2c], eax
jmp case.0x1407db80d.2
and dword [rbx + 0x228], 0xfffffffd
mov rcx, rbx
call fcn.1407d93b0
movsxd rdx, dword [rbx + 0x230]
add rdx, rdx
mov rcx, qword [rbx + 0x238]
add dword [rcx + rdx*8 + 4], eax
cmp byte [rbx + 0xc0], 0
je case.0x1407db80d.2
test byte [rbx + 0x228], 0x80
jne case.0x1407db80d.2
mov edx, 0x82
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
lea rcx, [rbx + 0x248]
mov rax, qword [rcx]
cmp dword [rax + 4], 0
je case.0x1407db80d.2
cmp dword [rbx + 0xc4], 1
je 0x1407dd2a8
mov eax, 6
mov dword [rbx + 0xc4], eax
mov qword [rbx + 0x168], rcx
mov dword [rbx + 0x170], edi
test rcx, rcx
je 0x1407dbbf7
mov rax, qword [rcx]
mov ecx, dword [rax + 4]
mov dword [rbx + 0x174], ecx
jmp case.0x1407db80d.2
movsxd rdx, edx
jmp 0x1407db874
movsxd rdx, edx
mov rcx, qword [rbx + 0x238]
lea rax, [rdx + 1]
add rax, rax
movups xmm0, xmmword [rcx + rax*8]
add rdx, rdx
movups xmmword [rcx + rdx*8], xmm0
jmp case.0x1407db80d.2
movsxd r8, edx
mov rdx, qword [rbx + 0x238]
mov rcx, r8
add rcx, rcx
add r8, r8
mov eax, dword [rdx + r8*8 + 0x14]
add dword [rdx + rcx*8 + 4], eax
jmp case.0x1407db80d.2
test byte [rbx + 0x228], 0x20
je case.0x1407db80d.2
mov rax, qword [rbx + 0x248]
mov ecx, dword [rax]
mov r8, qword [rbx + 0x248]
cmp ecx, 1
ja 0x1407dd342
cmp qword [r8 + 0x10], 0x18
je 0x1407dd35e
mov edx, dword [r8 + 4]
inc edx
xor r8d, r8d
lea rcx, [rbx + 0x248]
call fcn.1406eea60
mov r8, qword [rbx + 0x248]
movsxd rcx, dword [r8 + 4]
mov rax, qword [r8 + 0x10]
lea rdx, [rax + rcx*2]
mov eax, 0x20
mov word [rdx + r8 - 2], ax
jmp case.0x1407db80d.2
mov rcx, rbx
call fcn.1407d9790
movsxd rdx, dword [rbx + 0x230]
add rdx, rdx
mov rcx, qword [rbx + 0x238]
add dword [rcx + rdx*8 + 4], eax
cmp byte [rbx + 0xc0], 0
je case.0x1407db80d.2
mov edx, 0xae
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
movsxd rax, edx
shl rax, 4
add rax, qword [rbx + 0x238]
mov edx, dword [rax + 4]
sub edx, dword [rax + 8]
mov r9d, dword [rax]
add r9d, dword [rax + 8]
lea rdi, [rbx + 0x248]
movsxd r10, edx
test rdi, rdi
je 0x1407dd3fa
mov r8, qword [rdi]
cmp r8, r11
je 0x1407dd3fa
movsxd rcx, r9d
mov rax, qword [r8 + 0x10]
lea rdx, [rax + rcx*2]
add rdx, r8
jmp 0x1407dd3fc
xor edx, edx
mov qword [rbp + 0x2b0], r10
mov qword [rbp + 0x2b8], rdx
movaps xmm0, xmmword [rbp + 0x2b0]
movdqa xmmword [rbp + 0x3d0], xmm0
lea rcx, [rbp + 0x3d0]
call fcn.140865670
test al, al
jne case.0x1407db80d.2
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11ab0]
lea rdx, [0x140f11978]
lea rcx, [rsp + 0x50]
call fcn.140707930
nop
movsxd rax, dword [rbx + 0x230]
shl rax, 4
add rax, qword [rbx + 0x238]
mov ecx, dword [rax + 8]
mov edx, dword [rax + 4]
sub edx, ecx
mov eax, dword [rax]
add ecx, eax
mov qword [rbp + 0x220], rdi
mov dword [rbp + 0x228], ecx
mov dword [rbp + 0x22c], edx
lea rdx, [rbp + 0x220]
lea rcx, [rbp + 0x580]
call fcn.14072d920
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x4c0], xmm0
mov eax, 0x20
mov word [rsp + 0x20], ax
xor r9d, r9d
lea r8, [rbp + 0x4c0]
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x50]
call fcn.1406e8d90
nop
mov rdx, rax
mov rcx, rbx
call fcn.1407e0950
nop
mov rax, qword [rbp + 0xa0]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dd4f8
cmp ecx, 0xffffffff
je 0x1407dd50b
mov rax, qword [rbp + 0xa0]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407dd50b
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0xa0]
call fcn.1406e4ad0
nop
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dd530
cmp ecx, 0xffffffff
je 0x1407dd540
mov rax, qword [rsp + 0x50]
lock xadd dword [rax], r12d
add r12d, 0xffffffff
setne al
test al, al
jne 0x1407dd540
mov r8, r15
mov rdx, r13
mov rcx, qword [rsp + 0x50]
call fcn.1406e4ad0
mov edx, 0xaf
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
movsxd rdx, edx
mov rcx, qword [rbx + 0x238]
lea rax, [rdx + 1]
add rax, rax
movups xmm0, xmmword [rcx + rax*8]
add rdx, rdx
movups xmmword [rcx + rdx*8], xmm0
movsxd r9, dword [rbx + 0x230]
shl r9, 4
add r9, qword [rbx + 0x238]
lea r8, [rbx + 0x248]
mov edx, dword [r9]
add edx, dword [r9 + 8]
mov eax, dword [r9 + 4]
sub eax, dword [r9 + 8]
mov qword [rbx + 0x108], r8
mov dword [rbx + 0x110], edx
mov dword [rbx + 0x114], eax
jmp case.0x1407db80d.2
movsxd r8, edx
shl r8, 4
add r8, qword [rbx + 0x238]
mov ecx, dword [r8 + 8]
lea r13, [rbx + 0x248]
test ecx, ecx
je 0x1407dd711
sub ecx, 1
mov eax, dword [r8]
mov qword [rbp + 0xd0], r13
mov dword [rbp + 0xd8], eax
mov dword [rbp + 0xdc], ecx
je 0x1407dd723
xor cl, cl
mov eax, r14d
mov r15d, r14d
and r15d, 0xfffffffe
and al, 1
cmove r15d, r14d
test cl, cl
je 0x1407dd829
mov rcx, rbx
call fcn.1407e04b0
mov rdi, rax
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
movsxd r8, dword [rbx + 0x230]
add r8, 4
shl r8, 4
add r8, qword [rbx + 0x238]
mov ecx, dword [r8 + 8]
mov edx, dword [r8 + 4]
sub edx, ecx
add ecx, dword [r8]
mov qword [rbp + 0x100], r13
mov dword [rbp + 0x108], ecx
mov dword [rbp + 0x10c], edx
mov eax, 0x1d
mov dword [rbp + 0x2d0], eax
lea rax, [0x140f11ad8]
mov qword [rbp + 0x2d8], rax
movaps xmm0, xmmword [rbp + 0x2d0]
movdqa xmmword [rbp + 0x3f0], xmm0
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x3f0]
call fcn.1406e7d80
test al, al
jne 0x1407dd79d
mov dword [rbp + 0x2e0], 0x24
lea rax, [0x140f11af8]
mov qword [rbp + 0x2e8], rax
movaps xmm0, xmmword [rbp + 0x2e0]
movdqa xmmword [rbp + 0x400], xmm0
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x400]
call fcn.1406e7d80
test al, al
jne 0x1407dd79d
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x520]
mov rcx, rbx
call fcn.1407d83d0
mov rcx, qword [rax]
mov qword [rdi + 0x10], rcx
mov ecx, dword [rax + 8]
mov dword [rdi + 0x18], ecx
mov eax, dword [rax + 0xc]
mov dword [rdi + 0x1c], eax
mov r14d, r15d
mov dword [rbp + 0x5f8], r15d
jmp 0x1407dc461
mov qword [rbp + 0xd0], rdi
mov qword [rbp + 0xd8], 0
mov dword [rbp + 0x2c0], r9d
lea rax, [0x140f119ec]
mov qword [rbp + 0x2c8], rax
or r14d, 1
mov ecx, dword [r8 + 8]
mov edx, dword [r8 + 4]
sub edx, ecx
add ecx, dword [r8]
mov qword [rbp + 0x190], r13
mov dword [rbp + 0x198], ecx
mov dword [rbp + 0x19c], edx
movaps xmm0, xmmword [rbp + 0x2c0]
movdqa xmmword [rbp + 0x3e0], xmm0
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x3e0]
call fcn.1406e7d80
test al, al
je 0x1407dd5f0
test dword [rbx + 0x228], 0x1000
je 0x1407dd5f0
mov cl, 1
jmp 0x1407dd5f2
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11b20]
lea rdx, [0x140f11978]
lea rcx, [rbp - 0x78]
call fcn.140707930
mov r14d, r15d
bts r14d, 0x13
mov dword [rbp + 0x5f8], r14d
lea r8, [rbp - 0x78]
mov edx, 3
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rbp - 0x78]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dd809
cmp ecx, 0xffffffff
je 0x1407dc461
mov rax, qword [rbp - 0x78]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407dc461
mov r15d, 8
mov r8d, r15d
mov r13d, 2
mov edx, r13d
mov rcx, qword [rbp - 0x78]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
mov edx, 1
lea rcx, [rbx + 0x250]
call fcn.1407e1980
mov r12, qword [rbx + 0x250]
movsxd rcx, dword [rbx + 0x258]
lea eax, [rcx + 1]
mov dword [rbx + 0x258], eax
lea rax, [rcx + 1]
shl rax, 5
add r12, rax
movsxd rcx, dword [rbx + 0x230]
add rcx, rcx
mov rax, qword [rbx + 0x238]
movups xmm0, xmmword [rax + rcx*8]
movups xmmword [r12], xmm0
movsxd rcx, dword [rbx + 0x230]
add rcx, 4
add rcx, rcx
mov rax, qword [rbx + 0x238]
movups xmm0, xmmword [rax + rcx*8]
movups xmmword [r12 + 0x10], xmm0
movsxd rax, dword [rbx + 0x230]
shl rax, 4
add rax, qword [rbx + 0x238]
mov ecx, dword [rax + 4]
mov eax, dword [rax]
mov qword [rbp + 0x1a0], r13
mov dword [rbp + 0x1a8], eax
mov dword [rbp + 0x1ac], ecx
xor edi, edi
mov r14d, edi
mov eax, dword [rbx + 0x128]
inc eax
test eax, eax
jle 0x1407dd9ea
mov esi, edi
nop word [rax + rax]
mov rdi, qword [rbx + 0x120]
add rdi, rsi
cmp byte [rdi + 0x50], 0
jne 0x1407dd917
lea rdx, [rbx + 0x198]
mov rcx, rdi
call fcn.1406e7cc0
test al, al
je 0x1407dd917
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x1a0]
call fcn.1406e7cc0
test al, al
jne 0x1407dd931
inc r14d
add rsi, 0x58
mov eax, dword [rbx + 0x128]
inc eax
cmp r14d, eax
jge 0x1407dd9ea
jmp 0x1407dd8e0
mov rax, qword [rbx + 0x248]
movsxd r13, dword [rax + 4]
xor r14d, r14d
mov sil, 1
xor edi, edi
cmp dword [r12 + 0x14], edi
jle 0x1407dd99e
nop dword [rax + rax]
mov ecx, dword [r12 + 0x10]
add ecx, edi
mov r8, qword [rbx + 0x248]
movsxd rdx, ecx
mov rax, qword [r8 + 0x10]
lea rcx, [rax + rdx*2]
movzx edx, word [rcx + r8]
cmp dx, 0x20
jne 0x1407dd97e
test sil, sil
jne 0x1407dd990
mov sil, 1
jmp 0x1407dd981
xor sil, sil
lea rcx, [rbx + 0x248]
call fcn.140055a40
inc r14d
inc edi
cmp edi, dword [r12 + 0x14]
jl 0x1407dd950
test sil, sil
je 0x1407dd9d9
movsxd rdx, r14d
test r14d, r14d
je 0x1407dd9d9
mov r8, qword [rbx + 0x248]
mov r9, qword [r8 + 0x10]
lea rcx, [rdx + r13]
add rcx, rcx
nop dword [rax + rax]
lea rax, [r9 + r8]
cmp word [rax + rcx - 2], 0x20
jne 0x1407dd9d9
dec r14d
sub rcx, 2
sub rdx, 1
jne 0x1407dd9c0
mov dword [r12 + 0x10], r13d
mov dword [r12 + 0x14], r14d
lea r13, [rbx + 0x248]
mov dword [rbp + 0x2f0], 5
lea rax, [0x140f119ec]
mov qword [rbp + 0x2f8], rax
movaps xmm0, xmmword [rbp + 0x2f0]
movdqa xmmword [rbp + 0x410], xmm0
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x410]
call fcn.1406e7d80
mov r14d, r15d
mov dword [rbp + 0x5f8], r15d
test al, al
je 0x1407dc45b
mov dword [rbp + 0x5f8], r15d
test dword [rbx + 0x228], 0x1000
je 0x1407dc45b
mov rcx, rbx
call fcn.1407e04b0
mov rsi, rax
mov edx, dword [r12 + 8]
mov r8d, dword [r12 + 4]
sub r8d, edx
add edx, dword [r12]
mov qword [rbp + 0x110], r13
mov dword [rbp + 0x118], edx
mov dword [rbp + 0x11c], r8d
mov ecx, dword [r12 + 0x18]
mov edx, dword [r12 + 0x14]
sub edx, ecx
add ecx, dword [r12 + 0x10]
mov qword [rbp + 0xe0], r13
mov dword [rbp + 0xe8], ecx
mov dword [rbp + 0xec], edx
dec dword [rbx + 0x258]
mov dword [rbp + 0x310], 3
lea rax, [0x140f11a20]
mov qword [rbp + 0x318], rax
mov dword [rbp + 0x300], 0x24
lea rax, [0x140f11af8]
mov qword [rbp + 0x308], rax
movaps xmm0, xmmword [rbp + 0x300]
movdqa xmmword [rbp + 0x420], xmm0
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x420]
call fcn.1406e7d80
movzx edi, al
movaps xmm0, xmmword [rbp + 0x310]
movdqa xmmword [rbp + 0x430], xmm0
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x430]
call fcn.1406e7d80
cmp al, dil
jne 0x1407ddbb8
mov eax, 0x1d
mov dword [rbp + 0x320], eax
lea rax, [0x140f11ad8]
mov qword [rbp + 0x328], rax
movaps xmm0, xmmword [rbp + 0x320]
movdqa xmmword [rbp + 0x440], xmm0
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x440]
call fcn.1406e7d80
test al, al
jne 0x1407ddbb8
cmp dword [rbp + 0xec], 0
je 0x1407ddbb8
mov dword [rbp + 0x330], 5
lea rax, [0x140f119ec]
mov qword [rbp + 0x338], rax
movaps xmm0, xmmword [rbp + 0x330]
movdqa xmmword [rbp + 0x450], xmm0
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x450]
call fcn.1406e7d80
mov dword [rbp + 0x5f8], r15d
test al, al
je 0x1407ddc39
mov r12d, 0xffffffff
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11b20]
lea rdx, [0x140f11978]
lea rcx, [rbp - 0x70]
call fcn.140707930
mov r14d, r15d
bts r14d, 0x14
mov dword [rbp + 0x5f8], r14d
lea r8, [rbp - 0x70]
lea edx, [r12 + 4]
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rbp - 0x70]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407ddc1c
cmp ecx, r12d
je 0x1407ddc3f
mov rax, qword [rbp - 0x70]
lock add dword [rax], r12d
setne al
test al, al
jne 0x1407ddc3f
mov r15d, 8
mov r8d, r15d
mov r13d, 2
mov edx, r13d
mov rcx, qword [rbp - 0x70]
call fcn.1406e4ad0
jmp 0x1407ddc49
mov r12d, 0xffffffff
mov r13d, 2
lea r15d, [r13 + 6]
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x590]
mov rcx, rbx
call fcn.1407d83d0
mov rcx, qword [rax]
mov qword [rsi], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 8], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0xc], eax
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x540]
mov rcx, rbx
call fcn.1407d83d0
mov rcx, qword [rax]
mov qword [rsi + 0x10], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x18], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x1c], eax
jmp case.0x1407db80d.2
or dword [rbx + 0x228], 0x20
mov rcx, rbx
call fcn.1407e4760
mov rsi, rax
movsxd rcx, dword [rbx + 0x230]
inc rcx
shl rcx, 4
add rcx, qword [rbx + 0x238]
mov edx, dword [rcx + 8]
test edx, edx
je 0x1407ddced
dec edx
mov ecx, dword [rcx]
lea rdi, [rbx + 0x248]
mov qword [rbp + 0xf0], rdi
mov dword [rbp + 0xf8], ecx
mov dword [rbp + 0xfc], edx
jmp 0x1407ddd06
mov qword [rbp + 0xf0], rdi
mov qword [rbp + 0xf8], 0
lea rdi, [rbx + 0x248]
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0x550]
mov rcx, rbx
call fcn.1407d83d0
mov rdx, qword [rax]
mov qword [rsi + 0x20], rdx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x28], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x2c], eax
mov qword [rbx + 0x178], rdx
mov eax, dword [rsi + 0x28]
mov dword [rbx + 0x180], eax
mov eax, dword [rsi + 0x2c]
mov dword [rbx + 0x184], eax
movsxd rax, dword [rbx + 0x230]
inc rax
shl rax, 4
add rax, qword [rbx + 0x238]
mov ecx, dword [rax + 8]
mov edx, dword [rax + 4]
sub edx, ecx
mov eax, dword [rax]
add ecx, eax
mov qword [rbp + 0x1b0], rdi
mov dword [rbp + 0x1b8], ecx
mov dword [rbp + 0x1bc], edx
lea r8, [rbp + 0x1b0]
lea rdx, [rbp + 0x560]
mov rcx, rbx
call fcn.1407d83d0
mov rdx, qword [rax]
mov qword [rsi], rdx
mov ecx, dword [rax + 8]
mov dword [rsi + 8], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0xc], eax
mov qword [rbx + 0x1a8], rdx
mov eax, dword [rsi + 8]
mov dword [rbx + 0x1b0], eax
mov eax, dword [rsi + 0xc]
mov dword [rbx + 0x1b4], eax
movsxd rax, dword [rbx + 0x230]
inc rax
shl rax, 4
add rax, qword [rbx + 0x238]
mov ecx, dword [rax + 4]
mov eax, dword [rax]
mov qword [rbp + 0x1c0], rdi
mov dword [rbp + 0x1c8], eax
mov dword [rbp + 0x1cc], ecx
lea r8, [rbp + 0x1c0]
lea rdx, [rbp + 0x570]
mov rcx, rbx
call fcn.1407d83d0
mov rdx, qword [rax]
mov qword [rsi + 0x10], rdx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x18], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x1c], eax
mov qword [rbx + 0x198], rdx
mov eax, dword [rsi + 0x18]
mov dword [rbx + 0x1a0], eax
mov eax, dword [rsi + 0x1c]
mov dword [rbx + 0x1a4], eax
cmp dword [rbx + 0x184], 0
je 0x1407dde9a
movsxd r9, dword [rbx + 0x184]
mov r8, qword [rbx + 0x178]
test r8, r8
je 0x1407dde6b
mov r8, qword [r8]
lea rax, [0x140e8a5a8]
cmp r8, rax
je 0x1407dde6b
movsxd rcx, dword [rbx + 0x180]
mov rax, qword [r8 + 0x10]
lea rdx, [rax + rcx*2]
add rdx, r8
jmp 0x1407dde6d
xor edx, edx
mov qword [rbp + 0x340], r9
mov qword [rbp + 0x348], rdx
movaps xmm0, xmmword [rbp + 0x340]
movdqa xmmword [rbp + 0x460], xmm0
lea rcx, [rbp + 0x460]
call fcn.140865410
test al, al
je 0x1407ddf03
movsxd r9, dword [rbx + 0x1b4]
mov r8, qword [rbx + 0x1a8]
test r8, r8
je 0x1407dded0
mov r8, qword [r8]
lea rax, [0x140e8a5a8]
cmp r8, rax
je 0x1407dded0
movsxd rcx, dword [rbx + 0x1b0]
mov rax, qword [r8 + 0x10]
lea rdx, [rax + rcx*2]
add rdx, r8
jmp 0x1407dded2
xor edx, edx
mov qword [rbp + 0x350], r9
mov qword [rbp + 0x358], rdx
movaps xmm0, xmmword [rbp + 0x350]
movdqa xmmword [rbp + 0x470], xmm0
lea rcx, [rbp + 0x470]
call fcn.140865410
test al, al
jne case.0x1407db80d.2
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11b40]
lea rdx, [0x140f11978]
lea rcx, [rbp - 0x68]
call fcn.140707930
bts r14d, 0x15
mov dword [rbp + 0x5f8], r14d
lea r8, [rbp - 0x68]
mov edx, 3
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rbp - 0x68]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407ddf6c
cmp ecx, 0xffffffff
je case.0x1407db80d.2
mov rax, qword [rbp - 0x68]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.2
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp - 0x68]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
or dword [rbx + 0x228], 1
cmp dword [rbx + 0xc4], 1
je 0x1407ddf9b
mov eax, 4
mov dword [rbx + 0xc4], eax
mov rcx, rbx
call fcn.1407e1b50
cmp dword [rbx + 0x30], 0
jne 0x1407de027
mov eax, dword [rbx + 0x228]
test al, 0x40
je 0x1407de027
test al, al
js 0x1407de027
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11b58]
lea rdx, [0x140f11978]
lea rcx, [rbp - 0x60]
call fcn.140707930
bts r14d, 0x16
mov dword [rbp + 0x5f8], r14d
lea r8, [rbp - 0x60]
mov edx, 3
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rbp - 0x60]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407de018
cmp ecx, 0xffffffff
je 0x1407de027
mov rax, qword [rbp - 0x60]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407de027
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp - 0x60]
call fcn.1406e4ad0
or dword [rbx + 0x228], 0x40
jmp case.0x1407db80d.2
cmp dword [rbx + 0xc4], 1
je 0x1407de043
mov dword [rbx + 0xc4], r9d
movsxd rdx, dword [rbx + 0x30]
lea rcx, [rdx + rdx*8]
mov rax, qword [rbx + 0x28]
lea r8, [rax + rcx*8]
lea eax, [rdx - 1]
mov dword [rbx + 0x30], eax
mov eax, dword [r8 + 0x40]
mov dword [rbx + 0x18], eax
mov eax, dword [r8 + 0x44]
dec eax
mov dword [rbx + 8], eax
mov eax, dword [rbx + 0x30]
shr eax, 0x1f
mov byte [rbx + 0x20], al
mov rax, qword [r8 + 0x30]
mov qword [rbx + 0x188], rax
mov eax, dword [r8 + 0x38]
mov dword [rbx + 0x190], eax
mov eax, dword [r8 + 0x3c]
mov dword [rbx + 0x194], eax
mov rax, qword [r8]
mov qword [rbx + 0x1a8], rax
mov eax, dword [r8 + 8]
mov dword [rbx + 0x1b0], eax
mov eax, dword [r8 + 0xc]
mov dword [rbx + 0x1b4], eax
lea rcx, [rbx + 0x198]
mov rax, qword [r8 + 0x10]
mov qword [rcx], rax
mov eax, dword [r8 + 0x18]
mov dword [rcx + 8], eax
mov eax, dword [r8 + 0x1c]
mov dword [rcx + 0xc], eax
movsxd rax, dword [rbx + 0x230]
add rax, 2
shl rax, 4
add rax, qword [rbx + 0x238]
mov r8d, dword [rax + 4]
mov edx, dword [rax]
lea rax, [rbx + 0x248]
mov qword [rbp + 0x1d0], rax
mov dword [rbp + 0x1d8], edx
mov dword [rbp + 0x1dc], r8d
lea rdx, [rbp + 0x1d0]
call fcn.1406e7cc0
test al, al
jne case.0x1407db80d.2
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11b80]
lea rdx, [0x140f11978]
lea rcx, [rbp - 0x58]
call fcn.140707930
bts r14d, 0x17
mov dword [rbp + 0x5f8], r14d
lea r8, [rbp - 0x58]
mov edx, 3
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rbp - 0x58]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407de17f
cmp ecx, 0xffffffff
je case.0x1407db80d.2
mov rax, qword [rbp - 0x58]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.2
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp - 0x58]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
mov eax, dword [rbx + 0x228]
test al, al
js 0x1407de282
test al, 8
jne 0x1407de1b0
test eax, 0x700
jne 0x1407de282
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11ba8]
lea rdx, [0x140f11978]
lea rcx, [rbp - 0x50]
call fcn.140707930
bts r14d, 0x18
mov dword [rbp + 0x5f8], r14d
lea r8, [rbx + 0xd8]
mov eax, 0x20
mov word [rsp + 0x20], ax
xor r9d, r9d
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x50]
call fcn.1406e8520
nop
mov r8, rax
mov edx, 3
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rbp + 0x48]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407de232
cmp ecx, 0xffffffff
je 0x1407de242
mov rax, qword [rbp + 0x48]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407de242
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0x48]
call fcn.1406e4ad0
nop
mov rax, qword [rbp - 0x50]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407de26e
cmp ecx, 0xffffffff
je case.0x1407db80d.2
mov rax, qword [rbp - 0x50]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.2
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp - 0x50]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
cmp dword [rbx + 0xc4], 1
je 0x1407de296
mov eax, 9
mov dword [rbx + 0xc4], eax
lea rax, [rbx + 0xd8]
mov qword [rbx + 0x1a8], rax
mov dword [rbx + 0x1b0], edi
test rax, rax
je 0x1407de2c0
mov rax, qword [rax]
mov ecx, dword [rax + 4]
mov dword [rbx + 0x1b4], ecx
jmp case.0x1407db80d.2
mov ecx, edi
mov dword [rbx + 0x1b4], ecx
jmp case.0x1407db80d.2
movsxd r8, edx
mov rdx, qword [rbx + 0x238]
mov rcx, r8
add rcx, rcx
add r8, r8
mov eax, dword [rdx + r8*8 + 0x14]
inc eax
add dword [rdx + rcx*8 + 4], eax
movsxd rcx, dword [rbx + 0x230]
inc rcx
shl rcx, 4
add rcx, qword [rbx + 0x238]
movsxd rdi, dword [rcx + 4]
lea r15, [rbx + 0x248]
mov rdx, qword [r15]
movsxd rax, dword [rcx + 8]
sub rdi, rax
movsxd rcx, dword [rcx]
add rcx, rax
mov rax, qword [rdx + 0x10]
lea rsi, [rax + rcx*2]
add rsi, rdx
mov qword [rbp + 0x140], rdi
mov qword [rbp + 0x148], rsi
lea rdx, [rbp + 0x140]
lea rcx, [rbx + 0x80]
call fcn.1407d8ce0
test al, al
je 0x1407de4fa
lea rdx, [rbp + 0x140]
lea rcx, [rbx + 0x80]
call fcn.1407d8290
mov rdi, rax
mov eax, dword [rax + 0x10]
test al, 2
je 0x1407de465
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11bc8]
lea rdx, [0x140f11978]
lea rcx, [rbp - 0x48]
call fcn.140707930
mov r14d, dword [rbp + 0x5f8]
bts r14d, 0x19
mov dword [rbp + 0x5f8], r14d
movaps xmm0, xmmword [rbp + 0x140]
movdqa xmmword [rbp + 0x480], xmm0
mov eax, 0x20
mov word [rsp + 0x20], ax
xor r9d, r9d
lea r8, [rbp + 0x480]
lea rdx, [rbp + 0x50]
lea rcx, [rbp - 0x48]
call fcn.1406e8d90
nop
mov r8, rax
mov edx, 3
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rbp + 0x50]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407de408
cmp ecx, 0xffffffff
je 0x1407de41f
mov rax, qword [rbp + 0x50]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407de41f
mov r15d, 8
mov r8d, r15d
mov rdx, r13
mov rcx, qword [rbp + 0x50]
call fcn.1406e4ad0
jmp 0x1407de425
mov r15d, 8
mov rax, qword [rbp - 0x48]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407de451
cmp ecx, 0xffffffff
je case.0x1407db80d.2
mov rax, qword [rbp - 0x48]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.2
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp - 0x48]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
lea rsi, [rdi + 8]
test al, 8
jne 0x1407de47f
mov rdx, rsi
mov rcx, rbx
call fcn.1407df7b0
or dword [rdi + 0x10], 8
mov eax, dword [rdi + 0x10]
mov rcx, rbx
test al, 4
je 0x1407de490
mov rdx, rsi
call fcn.1407e06e0
jmp 0x1407de4a7
mov rdx, rdi
call fcn.1407e1800
test al, al
je 0x1407de4a7
mov rdx, rsi
mov rcx, rbx
call fcn.1407e0580
movsxd rcx, dword [rbx + 0x230]
add rcx, rcx
mov rax, qword [rbx + 0x238]
mov edx, dword [rax + rcx*8 + 0x14]
add edx, 2
mov rcx, r15
call fcn.1406ea3a0
movsxd rdx, dword [rbx + 0x230]
shl rdx, 4
add rdx, qword [rbx + 0x238]
mov rax, qword [r15]
mov ecx, dword [rax + 4]
mov dword [rdx], ecx
mov dword [rdx + 4], 0
mov r14d, dword [rbp + 0x5f8]
mov r15d, 8
jmp case.0x1407db80d.2
cmp qword [rbx + 0x270], 0
je 0x1407de684
mov r8d, edi
mov rdx, rsi
lea rcx, [rbp - 0x40]
call fcn.1406e7130
mov r14d, dword [rbp + 0x5f8]
bts r14d, 0x1a
mov rcx, qword [rbx + 0x270]
test rcx, rcx
je 0x1407de540
mov rax, qword [rcx]
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x40]
call qword [rax + 0x10]
jmp 0x1407de54c
lea rax, [0x140e8a5a8]
mov qword [rsp + 0x40], rax
bts r14d, 0x1b
mov dword [rbp + 0x5f8], r14d
mov rax, qword [rbp - 0x40]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407de57c
cmp ecx, 0xffffffff
je 0x1407de592
mov rax, qword [rbp - 0x40]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407de592
mov esi, 8
mov r8d, esi
mov rdx, r13
mov rcx, qword [rbp - 0x40]
call fcn.1406e4ad0
jmp 0x1407de597
mov esi, 8
mov rax, qword [rsp + 0x40]
lea rcx, [0x140e8a5a8]
cmp rax, rcx
je 0x1407de643
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1407e0580
movsxd rcx, dword [rbx + 0x230]
add rcx, rcx
mov rax, qword [rbx + 0x238]
mov edx, dword [rax + rcx*8 + 0x14]
add edx, 2
mov rcx, r15
call fcn.1406ea3a0
movsxd rdx, dword [rbx + 0x230]
shl rdx, 4
add rdx, qword [rbx + 0x238]
mov rax, qword [r15]
mov ecx, dword [rax + 4]
mov dword [rdx], ecx
mov dword [rdx + 4], 0
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407de628
cmp ecx, 0xffffffff
je 0x1407dc2d7
mov rax, qword [rsp + 0x40]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407dc2d7
mov r15d, 8
mov r8d, r15d
mov rdx, r13
mov rcx, qword [rsp + 0x40]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
mov ecx, dword [rax]
test ecx, ecx
je 0x1407de66b
mov dword [rbp + 0x5f8], r14d
cmp ecx, 0xffffffff
je 0x1407de690
mov rax, qword [rsp + 0x40]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407de690
mov r8, rsi
mov rdx, r13
mov rcx, qword [rsp + 0x40]
call fcn.1406e4ad0
mov dword [rbp + 0x5f8], r14d
jmp 0x1407de690
mov r14d, dword [rbp + 0x5f8]
mov esi, 8
mov edx, 0x2e0000
mov rcx, rbx
call fcn.1407e0510
movsxd rax, dword [rbx + 0x230]
inc rax
shl rax, 4
add rax, qword [rbx + 0x238]
mov ecx, dword [rax + 8]
mov edx, dword [rax + 4]
sub edx, ecx
mov eax, dword [rax]
add ecx, eax
mov qword [rbp + 0x1e0], r15
mov dword [rbp + 0x1e8], ecx
mov dword [rbp + 0x1ec], edx
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x1e0]
call fcn.1406f2f10
mov rdx, qword [rbx + 0xd8]
mov rcx, qword [rax]
mov qword [rbx + 0xd8], rcx
mov qword [rax], rdx
mov rax, qword [rbp + 0x58]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407de719
cmp ecx, 0xffffffff
je 0x1407de728
mov rax, qword [rbp + 0x58]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407de728
mov r8, rsi
mov rdx, r13
mov rcx, qword [rbp + 0x58]
call fcn.1406e4ad0
movsxd rcx, dword [rbx + 0x230]
add rcx, rcx
mov rax, qword [rbx + 0x238]
mov edx, dword [rax + rcx*8 + 0x14]
add edx, 2
mov rcx, r15
call fcn.1406ea3a0
movsxd rdx, dword [rbx + 0x230]
shl rdx, 4
add rdx, qword [rbx + 0x238]
mov rax, qword [r15]
mov ecx, dword [rax + 4]
mov dword [rdx], ecx
mov dword [rdx + 4], 0
mov r15d, 8
jmp case.0x1407db80d.2
movsxd r8, edx
mov rdx, qword [rbx + 0x238]
mov rcx, r8
add rcx, rcx
add r8, r8
mov eax, dword [rdx + r8*8 + 0x14]
inc eax
add dword [rdx + rcx*8 + 4], eax
movsxd rcx, dword [rbx + 0x230]
inc rcx
shl rcx, 4
add rcx, qword [rbx + 0x238]
movsxd r9, dword [rcx + 4]
mov r8, qword [rbx + 0x248]
movsxd rax, dword [rcx + 8]
sub r9, rax
movsxd rcx, dword [rcx]
add rcx, rax
mov rax, qword [r8 + 0x10]
lea rdx, [rax + rcx*2]
add rdx, r8
mov qword [rbp + 0x1f0], r9
mov qword [rbp + 0x1f8], rdx
lea rdx, [rbp + 0x1f0]
lea rcx, [rbx + 0x88]
call fcn.1407d8ce0
test al, al
je 0x1407de894
or dword [rbx + 0x228], 0x200
lea rdx, [rbp + 0x1f0]
lea rcx, [rbx + 0x88]
call fcn.1407d8290
mov rdi, rax
test byte [rax + 0x10], 3
jne 0x1407de885
mov rdx, rax
mov rcx, rbx
call fcn.1407e1800
test al, al
je 0x1407de837
lea rdx, [rdi + 8]
xor r8d, r8d
mov rcx, rbx
call fcn.1407e0640
movsxd rcx, dword [rbx + 0x230]
add rcx, rcx
mov rax, qword [rbx + 0x238]
mov edx, dword [rax + rcx*8 + 0x14]
add edx, 2
lea rcx, [rbx + 0x248]
call fcn.1406ea3a0
movsxd rdx, dword [rbx + 0x230]
shl rdx, 4
add rdx, qword [rbx + 0x238]
mov rax, qword [rbx + 0x248]
mov ecx, dword [rax + 4]
mov dword [rdx], ecx
mov dword [rdx + 4], 0
jmp case.0x1407db80d.2
or dword [rbx + 0x228], 0x100
jmp case.0x1407db80d.2
mov eax, dword [rbx + 0x228]
test al, al
js case.0x1407db80d.2
test al, 8
jne 0x1407de8b1
test eax, 0x700
jne case.0x1407db80d.2
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11ba8]
lea rdx, [0x140f11978]
lea rcx, [rbp - 0x38]
call fcn.140707930
bts r14d, 0x1c
mov dword [rbp + 0x5f8], r14d
movsxd rax, dword [rbx + 0x230]
inc rax
shl rax, 4
add rax, qword [rbx + 0x238]
mov edx, dword [rax + 4]
sub edx, dword [rax + 8]
mov r9d, dword [rax]
add r9d, dword [rax + 8]
movsxd r10, edx
mov r8, qword [rbx + 0x248]
lea rax, [0x140e8a5a8]
cmp r8, rax
je 0x1407de924
movsxd rcx, r9d
mov rax, qword [r8 + 0x10]
lea rdx, [rax + rcx*2]
add rdx, r8
jmp 0x1407de926
xor edx, edx
mov qword [rbp + 0x360], r10
mov qword [rbp + 0x368], rdx
movaps xmm0, xmmword [rbp + 0x360]
movdqa xmmword [rbp + 0x490], xmm0
mov eax, 0x20
mov word [rsp + 0x20], ax
xor r9d, r9d
lea r8, [rbp + 0x490]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x38]
call fcn.1406e8d90
nop
mov r8, rax
mov edx, 3
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rbp + 0x60]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407de99a
cmp ecx, 0xffffffff
je 0x1407de9aa
mov rax, qword [rbp + 0x60]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407de9aa
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0x60]
call fcn.1406e4ad0
nop
mov rax, qword [rbp - 0x38]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407de9d6
cmp ecx, 0xffffffff
je case.0x1407db80d.2
mov rax, qword [rbp - 0x38]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.2
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp - 0x38]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
movsxd r8, edx
mov rdx, qword [rbx + 0x238]
mov rcx, r8
add rcx, rcx
add r8, r8
mov eax, dword [rdx + r8*8 + 0x14]
inc eax
add dword [rdx + rcx*8 + 4], eax
jmp case.0x1407db80d.2
movsxd r8, edx
mov rdx, qword [rbx + 0x238]
mov rcx, r8
add rcx, rcx
add r8, r8
mov eax, dword [rdx + r8*8 + 0x14]
inc eax
add dword [rdx + rcx*8 + 4], eax
movsxd rcx, dword [rbx + 0x230]
inc rcx
shl rcx, 4
add rcx, qword [rbx + 0x238]
movsxd rdi, dword [rcx + 4]
lea r15, [rbx + 0x248]
mov rdx, qword [r15]
movsxd rax, dword [rcx + 8]
sub rdi, rax
movsxd rcx, dword [rcx]
add rcx, rax
mov rax, qword [rdx + 0x10]
lea rsi, [rax + rcx*2]
add rsi, rdx
mov qword [rbp + 0x120], rdi
mov qword [rbp + 0x128], rsi
lea rdx, [rbp + 0x120]
lea rcx, [rbx + 0x80]
call fcn.1407d8ce0
test al, al
je 0x1407deca5
lea rdx, [rbp + 0x120]
lea rcx, [rbx + 0x80]
call fcn.1407d8290
mov rdi, rax
mov eax, dword [rax + 0x10]
test al, 2
jne 0x1407debb0
lea rcx, [0x140e8a5a8]
cmp qword [rdi + 8], rcx
je 0x1407debb0
test al, 8
jne 0x1407dead8
lea rdx, [rdi + 8]
mov rcx, rbx
call fcn.1407df7b0
or dword [rdi + 0x10], 8
mov eax, dword [rdi + 0x10]
mov rcx, rbx
test al, 4
je 0x1407deaed
lea rdx, [rdi + 8]
call fcn.1407e06e0
jmp 0x1407de4a7
mov rdx, rdi
call fcn.1407e1800
test al, al
je 0x1407de4a7
mov rax, qword [rdi + 8]
mov edx, dword [rax + 4]
lea rcx, [rbx + 0x70]
call fcn.1407e1930
mov rax, qword [rdi + 8]
mov ecx, dword [rax + 4]
sub ecx, 1
movsxd r9, ecx
js 0x1407de4a7
mov r15d, 0x20
nop word [rax + rax]
mov rdx, qword [rdi + 8]
mov rax, qword [rdx + 0x10]
lea rcx, [rax + r9*2]
movzx r8d, word [rcx + rdx]
cmp r8d, 0x26
je 0x1407deb8b
cmp r8d, 0x3b
je 0x1407deb8b
cmp r8d, 0xa
je 0x1407deb76
cmp r8d, 0xd
je 0x1407deb76
movsxd rcx, dword [rbx + 0x78]
lea eax, [rcx + 1]
mov dword [rbx + 0x78], eax
mov edx, r8d
or edx, 0x1a0000
mov rax, qword [rbx + 0x70]
mov dword [rax + rcx*4 + 4], edx
jmp 0x1407deb9e
movsxd rcx, dword [rbx + 0x78]
lea eax, [rcx + 1]
mov dword [rbx + 0x78], eax
mov rax, qword [rbx + 0x70]
mov dword [rax + rcx*4 + 4], r15d
jmp 0x1407deb9e
movsxd rcx, dword [rbx + 0x78]
lea eax, [rcx + 1]
mov dword [rbx + 0x78], eax
mov rax, qword [rbx + 0x70]
mov dword [rax + rcx*4 + 4], r8d
sub r9, 1
jns 0x1407deb30
lea r15, [rbx + 0x248]
jmp 0x1407de4a7
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11bf0]
lea rdx, [0x140f11978]
lea rcx, [rbp - 0x30]
call fcn.140707930
mov r14d, dword [rbp + 0x5f8]
bts r14d, 0x1d
mov dword [rbp + 0x5f8], r14d
movaps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x4d0], xmm0
mov eax, 0x20
mov word [rsp + 0x20], ax
xor r9d, r9d
lea r8, [rbp + 0x4d0]
lea rdx, [rbp + 0x68]
lea rcx, [rbp - 0x30]
call fcn.1406e8d90
nop
mov r8, rax
mov edx, 3
mov rcx, rbx
call fcn.1407e0850
nop
mov rax, qword [rbp + 0x68]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dec48
cmp ecx, 0xffffffff
je 0x1407dec5f
mov rax, qword [rbp + 0x68]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407dec5f
mov r15d, 8
mov r8d, r15d
mov rdx, r13
mov rcx, qword [rbp + 0x68]
call fcn.1406e4ad0
jmp 0x1407dec65
mov r15d, 8
mov rax, qword [rbp - 0x30]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dec91
cmp ecx, 0xffffffff
je case.0x1407db80d.2
mov rax, qword [rbp - 0x30]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.2
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp - 0x30]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
cmp qword [rbx + 0x270], 0
je 0x1407dee2e
mov r8d, edi
mov rdx, rsi
lea rcx, [rbp - 0x28]
call fcn.1406e7130
mov r14d, dword [rbp + 0x5f8]
bts r14d, 0x1e
mov rcx, qword [rbx + 0x270]
test rcx, rcx
je 0x1407deceb
mov rax, qword [rcx]
lea r8, [rbp - 0x28]
lea rdx, [rsp + 0x38]
call qword [rax + 0x10]
jmp 0x1407decf7
lea rax, [0x140e8a5a8]
mov qword [rsp + 0x38], rax
or r14d, 0x80000000
mov dword [rbp + 0x5f8], r14d
mov rax, qword [rbp - 0x28]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407ded29
cmp ecx, 0xffffffff
je 0x1407ded3b
mov rax, qword [rbp - 0x28]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407ded3b
mov r8d, 8
mov rdx, r13
mov rcx, qword [rbp - 0x28]
call fcn.1406e4ad0
mov rax, qword [rsp + 0x38]
lea rcx, [0x140e8a5a8]
cmp rax, rcx
je 0x1407dede7
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.1407e0580
movsxd rcx, dword [rbx + 0x230]
add rcx, rcx
mov rax, qword [rbx + 0x238]
mov edx, dword [rax + rcx*8 + 0x14]
add edx, 2
mov rcx, r15
call fcn.1406ea3a0
movsxd rdx, dword [rbx + 0x230]
shl rdx, 4
add rdx, qword [rbx + 0x238]
mov rax, qword [r15]
mov ecx, dword [rax + 4]
mov dword [rdx], ecx
mov dword [rdx + 4], 0
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dedcc
cmp ecx, 0xffffffff
je 0x1407dc2d7
mov rax, qword [rsp + 0x38]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407dc2d7
mov r15d, 8
mov r8d, r15d
mov rdx, r13
mov rcx, qword [rsp + 0x38]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
mov ecx, dword [rax]
test ecx, ecx
je 0x1407dee0f
mov dword [rbp + 0x5f8], r14d
cmp ecx, 0xffffffff
je 0x1407dee35
mov rax, qword [rsp + 0x38]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407dee35
mov r15d, 8
mov r8d, r15d
mov rdx, r13
mov rcx, qword [rsp + 0x38]
call fcn.1406e4ad0
mov dword [rbp + 0x5f8], r14d
jmp 0x1407dee3b
mov r14d, dword [rbp + 0x5f8]
mov r15d, 8
mov eax, dword [rbx + 0x228]
test al, al
js case.0x1407db80d.2
test al, 8
jne 0x1407dee58
test eax, 0x700
jne case.0x1407db80d.2
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11ba8]
lea rdx, [0x140f11978]
lea rcx, [rbp - 0x20]
call fcn.140707930
or dword [rbp + 0x600], 1
movaps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x4b0], xmm0
mov eax, 0x20
mov word [rsp + 0x20], ax
xor r9d, r9d
lea r8, [rbp + 0x4b0]
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x20]
call fcn.1406e8d90
nop
mov rdx, rax
mov rcx, rbx
call fcn.1407e0950
nop
mov rax, qword [rbp + 0x70]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407deedf
cmp ecx, 0xffffffff
je 0x1407deeef
mov rax, qword [rbp + 0x70]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407deeef
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0x70]
call fcn.1406e4ad0
nop
mov rax, qword [rbp - 0x20]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407def1b
cmp ecx, 0xffffffff
je case.0x1407db80d.2
mov rax, qword [rbp - 0x20]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.2
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp - 0x20]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
mov byte [rbp + 0x5f0], 1
movsxd r8, edx
add r8, 2
shl r8, 4
add r8, qword [rbx + 0x238]
mov ecx, dword [r8 + 8]
mov edx, dword [r8 + 4]
lea rdi, [rbx + 0x248]
sub edx, ecx
cmp word [r8 + 0xc], 0x78
jne 0x1407def8c
dec edx
mov eax, dword [r8]
inc eax
add ecx, eax
mov qword [rbp + 0x200], rdi
mov dword [rbp + 0x208], ecx
mov dword [rbp + 0x20c], edx
mov r8d, 0x10
lea rcx, [rbp + 0x200]
jmp 0x1407defaf
add ecx, dword [r8]
mov qword [rbp + 0x210], rdi
mov dword [rbp + 0x218], ecx
mov dword [rbp + 0x21c], edx
mov r8d, 0xa
lea rcx, [rbp + 0x210]
lea rdx, [rbp + 0x5f0]
call fcn.1406f3020
mov ecx, eax
lea eax, [rax - 0xfffe]
cmp eax, 1
jbe 0x1407deff0
lea eax, [rcx - 0xd800]
cmp eax, 0x7ff
jbe 0x1407deff0
cmp ecx, 0x1f
ja 0x1407defe4
mov eax, 0xffffd9ff
bt eax, ecx
jb 0x1407deff0
cmp ecx, 0x110000
jae 0x1407deff0
mov al, 1
jmp 0x1407deff2
xor al, al
test byte [rbp + 0x5f0], al
mov edx, 0
cmovne edx, ecx
mov dword [rbp + 0x20], edx
test edx, edx
je 0x1407df0bc
cmp edx, 0xffff
jb 0x1407df068
mov r8d, 1
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x78]
call fcn.1406ebe60
nop
mov rdx, rax
mov rcx, rbx
call fcn.1407e06e0
nop
mov rax, qword [rbp + 0x78]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407df057
cmp ecx, 0xffffffff
je 0x1407df076
mov rax, qword [rbp + 0x78]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne 0x1407df076
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0x78]
call fcn.1406e4ad0
jmp 0x1407df076
or edx, 0x1a0000
mov rcx, rbx
call fcn.1407e0510
movsxd rcx, dword [rbx + 0x230]
add rcx, rcx
mov rax, qword [rbx + 0x238]
mov edx, dword [rax + rcx*8 + 0x24]
add edx, 3
mov rcx, rdi
call fcn.1406ea3a0
movsxd rdx, dword [rbx + 0x230]
shl rdx, 4
add rdx, qword [rbx + 0x238]
mov rax, qword [rdi]
mov ecx, dword [rax + 4]
mov dword [rdx], ecx
mov dword [rdx + 4], 0
jmp case.0x1407db80d.2
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11c28]
lea rdx, [0x140f11978]
lea rcx, [rbp - 0x18]
call fcn.140707930
or dword [rbp + 0x600], 2
lea rdx, [rbp - 0x18]
mov rcx, rbx
call fcn.1407e0950
nop
mov rax, qword [rbp - 0x18]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407df11b
cmp ecx, 0xffffffff
je case.0x1407db80d.2
mov rax, qword [rbp - 0x18]
mov ecx, r12d
lock xadd dword [rax], ecx
add ecx, 0xffffffff
setne al
test al, al
jne case.0x1407db80d.2
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp - 0x18]
call fcn.1406e4ad0
jmp case.0x1407db80d.2
mov rcx, rbx
call fcn.1407d9d40
movsxd rdx, dword [rbx + 0x230]
add rdx, rdx
mov rcx, qword [rbx + 0x238]
add dword [rcx + rdx*8 + 4], eax
cmp byte [rbx + 0xc0], 0
je case.0x1407db80d.2
mov edx, 0x103
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
movsxd rdx, edx
shl rdx, 4
add rdx, 8
add rdx, qword [rbx + 0x238]
mov rcx, rbx
call fcn.1407d9b00
movsxd rdx, dword [rbx + 0x230]
add rdx, rdx
mov rcx, qword [rbx + 0x238]
add dword [rcx + rdx*8 + 4], eax
cmp byte [rbx + 0xc0], 0
je case.0x1407db80d.2
mov edx, 0x106
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
xor edx, edx
mov rcx, rbx
call fcn.1407d9b00
movsxd rdx, dword [rbx + 0x230]
add rdx, rdx
mov rcx, qword [rbx + 0x238]
add dword [rcx + rdx*8 + 4], eax
cmp byte [rbx + 0xc0], 0
je case.0x1407db80d.2
mov edx, 0x107
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
mov rcx, rbx
call fcn.1407d9980
movsxd rdx, dword [rbx + 0x230]
add rdx, rdx
mov rcx, qword [rbx + 0x238]
add dword [rcx + rdx*8 + 4], eax
cmp byte [rbx + 0xc0], 0
je case.0x1407db80d.2
mov edx, 0x10c
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
movzx eax, word [rdi + r8*2 + 0xf0f82e]
movsx esi, ax
movsxd rcx, dword [rbx + 0x230]
mov rax, qword [rbx + 0x240]
mov dword [rax + rcx*4], esi
cmp dword [rbx + 0xc4], 0
jne 0x1407df4bd
mov r9d, 5
lea r10d, [r9 - 2]
jmp 0x1407db2e9
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f119d8]
lea rdx, [0x140f11978]
lea rcx, [rbp - 8]
call fcn.140707930
nop
mov dword [rbx + 0xc8], 3
lea rcx, [rbx + 0xd0]
lea rdx, [rbp - 8]
call fcn.1406e73b0
mov eax, 1
mov dword [rbx + 0xc4], eax
mov rax, qword [rbp - 8]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407df2dc
cmp ecx, 0xffffffff
je 0x1407df2eb
mov rax, qword [rbp - 8]
lock xadd dword [rax], r12d
add r12d, 0xffffffff
setne al
test al, al
jne 0x1407df2eb
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp - 8]
call fcn.1406e4ad0
mov dword [rbx + 0x230], edi
mov rax, qword [rbx + 0x240]
mov dword [rax], edi
movsxd rcx, dword [rbx + 0x230]
lea eax, [rcx + 1]
mov dword [rbx + 0x230], eax
mov rax, qword [rbx + 0x240]
mov dword [rax + rcx*4 + 4], edi
xor al, al
jmp 0x1407df4bf
mov eax, 0x10
mov dword [rbx + 0x22c], eax
cmp dword [rbx + 0xc8], 0
jne 0x1407dbe83
lea rsi, [0x140e8a5a8]
mov qword [rbp + 8], rsi
mov eax, 4
mov dword [rbx + 0xc8], eax
lea rdx, [rbp + 8]
lea rcx, [rbx + 0xd0]
call fcn.1406e73b0
cmp qword [rbx + 0xd0], rsi
jne 0x1407df3cf
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x140f11ec8]
lea rdx, [0x140f11978]
lea rcx, [rbp + 0x88]
call fcn.140707930
mov rcx, qword [rbx + 0xd0]
mov rax, qword [rbp + 0x88]
mov qword [rbx + 0xd0], rax
mov qword [rbp + 0x88], rcx
mov eax, dword [rcx]
test eax, eax
je 0x1407df3bd
cmp eax, 0xffffffff
je 0x1407df3cf
mov eax, r12d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1407df3cf
mov r8, r15
mov rdx, r13
mov rcx, qword [rbp + 0x88]
call fcn.1406e4ad0
mov eax, 1
mov dword [rbx + 0xc4], eax
mov rax, qword [rbp + 8]
mov ecx, dword [rax]
test ecx, ecx
je 0x1407df405
cmp ecx, 0xffffffff
je 0x1407dbe83
mov rax, qword [rbp + 8]
lock xadd dword [rax], r12d
add r12d, 0xffffffff
setne al
test al, al
jne 0x1407dbe83
mov rcx, qword [rbp + 8]
mov r8, r15
mov rdx, r13
call fcn.1406e4ad0
xor al, al
jmp 0x1407df4bf
mov edx, 0x59
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
mov edx, 0x5a
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
mov edx, 0x5b
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
mov edx, 0x5c
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
mov edx, 0x65
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
mov edx, 0x66
mov rcx, rbx
call fcn.1407e3100
xor al, al
jmp 0x1407df4bf
mov rcx, rbx
call fcn.1407df950
xor al, al
jmp 0x1407df4bf
mov dword [rbx + 0x230], r9d
mov rax, qword [rbx + 0x240]
mov dword [rax], r9d
movsxd rcx, dword [rbx + 0x230]
lea eax, [rcx + 1]
mov dword [rbx + 0x230], eax
mov rax, qword [rbx + 0x240]
mov dword [rax + rcx*4 + 4], r9d
mov al, 1
add rsp, 0x6a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret