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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movaps xmmword [rsp + 0xf0], xmm6
movzx eax, word [rsp + 0x178]
mov rdi, qword [rcx + 0x10]
mov rbx, qword [rcx]
xorps xmm0, xmm0
movups xmmword [rsp + 0xb0], xmm0
xor r10d, r10d
test r9, r9
je 0x140064796
cmp dword [r9], 0x40
cmovl r10, r9
mov qword [rsp + 0xa0], r10
mov r13d, eax
and r13d, 0xfffffeff
test byte [rbx + 0x5c], 0x10
cmove r13d, eax
mov eax, dword [rdx]
cmp eax, 0x41
jl 0x1400647ce
lea rdx, [0x1402b24e0]
mov r8d, 0x40
call fcn.1400397e7
jmp 0x140065298
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x48], rcx
movzx r15d, r13w
mov r14d, r15d
and r14d, 0x20
mov r12d, 1
cmove r12d, eax
imul eax, r12d, 0x58
add eax, 0x39f
movsxd rsi, eax
and rsi, 0xfffffffffffffff8
lea rdx, [rsi + 0x60]
mov rcx, rbx
call fcn.140027672
mov rbp, rax
cmp byte [rbx + 0x61], 0
je 0x140064835
test rbp, rbp
je 0x140065298
mov rcx, rbx
mov rdx, rbp
call fcn.14001fb53
jmp 0x140065298
mov dword [rsp + 0x6c], r15d
mov dword [rsp + 0x68], r14d
mov qword [rsp + 0x50], rdi
mov ecx, dword [rsp + 0x180]
mov rdx, qword [rsp + 0x170]
mov dword [rsp + 0x3c], r12d
mov r12, qword [rsp + 0x48]
mov qword [rbp], r12
mov rax, qword [rsp + 0x30]
mov qword [rbp + 8], rax
mov r14, qword [rsp + 0x70]
mov qword [rbp + 0x10], r14
mov r15, qword [rsp + 0x40]
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x2c], 0xffffffffffffffff
mov eax, dword [rsp + 0x3c]
mov byte [rbp + 0x42], al
mov eax, dword [r12 + 0x44]
dec eax
mov dword [r12 + 0x44], eax
mov dword [rbp + 0x34], eax
mov dword [rbp + 0x38], eax
mov word [rbp + 0x40], r13w
mov word [rbp + 0x28], cx
mov eax, dword [r12 + 0xac]
mov dword [rbp + 0x3c], eax
xorps xmm6, xmm6
movups xmmword [rbp + 0x43], xmm6
movups xmmword [rbp + 0x53], xmm6
xor edi, edi
mov qword [rbp + 0x60], rdi
lea rcx, [rbp + 0x398]
movsxd rax, dword [rsp + 0x3c]
imul r8, rax, 0x58
add r8, 0x60
mov qword [rsp + 0x80], rcx
xor edx, edx
call fcn.140202180
mov qword [rsp + 0x90], rbp
lea rcx, [rbp + 0x68]
mov qword [rsp + 0x98], rcx
lea rax, [rsi + rbp]
mov qword [rsp + 0xa8], rax
lea rax, [rbp + rsi + 0x48]
mov qword [rbp + rsi + 0x38], rax
mov word [rbp + rsi + 0x2c], 0
mov word [rbp + rsi + 0x30], 3
mov dword [rbp + rsi + 0x28], edi
mov dword [rbp + 0x294], edi
mov qword [rbp + 0x68], rbp
mov byte [rbp + 0x79], 0
mov qword [rbp + 0x70], rdi
movabs rax, 0x800000000
mov qword [rbp + 0x7c], rax
lea rax, [rbp + 0x90]
mov qword [rbp + 0x88], rax
mov qword [rsp + 0x88], rcx
mov rdx, r15
call fcn.1400663ba
cmp dword [rsp + 0x3c], 0
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x40], rbp
mov dword [rsp + 0x7c], r13d
je 0x140064b16
xor edi, edi
mov r14, qword [rsp + 0x30]
imul rax, rdi, 0x70
mov ecx, dword [r14 + rax + 0x4c]
movsxd rdx, dword [rbp + 0x294]
lea r8d, [rdx + 1]
mov dword [rbp + 0x294], r8d
mov dword [rbp + rdx*4 + 0x298], ecx
test byte [r14 + rax + 0x48], 4
je 0x140064b00
mov rbp, qword [r14 + rax + 0x68]
test rbp, rbp
je 0x140064b00
cmp dword [rbp], 0
jle 0x140064b00
lea r12, [r14 + rax]
add r12, 0x4c
mov r15, qword [r12 - 0x24]
xor r13d, r13d
xor ebx, ebx
movsx eax, word [r15 + 0x46]
cmp ebx, eax
jge 0x140064ae9
cdqe
mov rcx, qword [r15 + 8]
movsxd rbx, ebx
mov rdx, rbx
shl rdx, 5
add rcx, rdx
add rcx, 0x1b
test byte [rcx], 2
jne 0x140064a16
inc rbx
add rcx, 0x20
cmp rax, rbx
jne 0x140064a00
jmp 0x140064ae9
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov edx, 0x48
call fcn.140027672
test rax, rax
je 0x140064b00
mov rsi, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x30], xmm6
movups xmmword [rax + 0x10], xmm6
mov qword [rax + 0x40], 0
mov byte [rax], 0xa2
mov word [rax + 0x2e], 0xffff
mov eax, dword [r12]
mov dword [rsi + 0x28], eax
mov word [rsi + 0x2c], bx
mov qword [rsi + 0x40], r15
lea rax, [r13*4]
add rax, r13
mov rdx, qword [rbp + rax*8 + 8]
test rdx, rdx
je 0x140064a90
mov r14, qword [rsp + 0x48]
mov rcx, qword [r14]
xor r8d, r8d
xor r9d, r9d
call fcn.14004cae7
mov r8, rax
jmp 0x140064a98
xor r8d, r8d
mov r14, qword [rsp + 0x48]
inc ebx
mov rcx, r14
mov edx, 0xa9
xor r9d, r9d
call fcn.14003da29
mov rcx, r14
mov edx, 0x35
mov r8, rsi
mov r9, rax
call fcn.14003da29
mov rcx, qword [rsp + 0x88]
mov rdx, rax
mov r8w, 1
call fcn.14006642a
inc r13
movsxd rax, dword [rbp]
cmp r13, rax
mov r14, qword [rsp + 0x30]
jl 0x1400649dc
jmp 0x140064b00
mov r8, qword [r15]
mov rcx, qword [rsp + 0x48]
lea rdx, [0x1402b2520]
mov r9d, r13d
call fcn.1400397e7
inc rdi
movsxd rax, dword [r14]
cmp rdi, rax
mov rbp, qword [rsp + 0x40]
jl 0x140064984
jmp 0x140064b4d
mov rcx, r12
test r14, r14
mov edx, dword [rsp + 0x6c]
je 0x140064b30
lea rax, [rbp + 0x43]
mov cl, byte [r14]
mov byte [rax], cl
mov rcx, qword [rsp + 0x48]
bt edx, 8
jae 0x140064b3a
mov byte [rbp + 0x47], 1
lea r8, [0x1402b2500]
xor edx, edx
call fcn.14005de6e
mov r14, qword [rsp + 0x30]
mov esi, dword [rbp + 0x7c]
test esi, esi
mov rdi, qword [rsp + 0x88]
jle 0x140064b74
inc esi
lea r8d, [rsi - 2]
mov rcx, r14
mov rdx, rdi
call fcn.14006659a
dec esi
cmp esi, 1
ja 0x140064b5e
mov rbx, qword [rsp + 0x58]
cmp byte [rbx + 0x61], 0
jne 0x14006527a
mov rax, qword [rsp + 0x98]
cmp dword [rax + 0x14], 0
jle 0x140064c55
xor esi, esi
xorps xmm6, xmm6
lea rdi, [0x140066f60]
lea rbx, [0x14004c55e]
lea r15, [rsp + 0xc0]
xor r12d, r12d
mov r13, qword [rax + 0x20]
test byte [r13 + rsi + 0x12], 2
jne 0x140064c39
cmp qword [r13 + rsi + 0x38], 0
jne 0x140064c39
cmp dword [rsp + 0x3c], 0
je 0x140064c1a
mov rdx, qword [r13 + rsi]
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
mov byte [rsp + 0xe4], 1
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], rbx
test rdx, rdx
je 0x140064c1a
mov rcx, r15
call fcn.14004c568
cmp byte [rsp + 0xe4], 0
je 0x140064c39
mov r8d, dword [rbp + 0x38]
mov rdx, qword [r13 + rsi]
mov rcx, qword [rsp + 0x48]
mov r9d, 0x10
call fcn.14005c7a5
or byte [r13 + rsi + 0x12], 4
inc r12
mov rax, qword [rsp + 0x98]
movsxd rcx, dword [rax + 0x14]
add rsi, 0x40
cmp r12, rcx
jl 0x140064bb3
bt dword [rsp + 0x6c], 8
jae 0x140064eb4
cmp dword [r14], 1
mov rbx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x88]
jne 0x140064e96
mov eax, dword [r14 + 0x4c]
mov dword [rsp + 0x30], eax
mov rax, qword [r14 + 0x28]
mov rcx, qword [rsp + 0x170]
mov ecx, dword [rcx]
test ecx, ecx
jle 0x140064cf9
xor edx, edx
lea r8, [rdx + rdx*4]
mov r9, qword [rsp + 0x170]
mov r8, qword [r9 + r8*8 + 8]
test r8, r8
je 0x140064cd1
mov r9d, dword [r8 + 4]
test r9d, 0x41000
je 0x140064cd4
bt r9d, 0x12
jb 0x140064cc4
add r8, 0x10
jmp 0x140064ccc
mov r8, qword [r8 + 0x20]
add r8, 8
mov r8, qword [r8]
jmp 0x140064ca5
xor r8d, r8d
cmp byte [r8], 0xa2
jne 0x140064cf1
mov r9d, dword [rsp + 0x30]
cmp dword [r8 + 0x28], r9d
jne 0x140064cf1
cmp word [r8 + 0x2c], 0
js 0x140064eb0
inc rdx
cmp rdx, rcx
jne 0x140064c94
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x140064e96
lea rdi, str.y
cmp byte [rsi + 0x62], 0
je 0x140064e89
cmp word [rsi + 0x5e], 0
je 0x140064e7d
xor r13d, r13d
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 2
mov rcx, r12
mov edx, dword [rsp + 0x30]
mov r8d, r13d
mov r9, 0xffffffffffffffff
call fcn.140066f77
test rax, rax
jne 0x140064e64
mov rax, qword [rsp + 0x170]
mov eax, dword [rax]
test eax, eax
jle 0x140064e80
mov rcx, qword [rsi + 0x40]
mov rbp, qword [rcx + r13*8]
xor r15d, r15d
lea rcx, [r15 + r15*4]
mov rdx, qword [rsp + 0x170]
mov rdx, qword [rdx + rcx*8 + 8]
test rdx, rdx
je 0x140064db1
mov rcx, rdx
mov r8d, dword [rcx + 4]
test r8d, 0x41000
je 0x140064db3
bt r8d, 0x12
jb 0x140064da1
add rcx, 0x10
jmp 0x140064da9
mov rcx, qword [rcx + 0x20]
add rcx, 8
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140064d87
xor ecx, ecx
cmp byte [rcx], 0xa2
jne 0x140064e1a
movzx r8d, word [rcx + 0x2c]
mov r9, qword [rsi + 8]
cmp r8w, word [r9 + r13*2]
jne 0x140064e1a
mov r8d, dword [rsp + 0x30]
cmp dword [rcx + 0x28], r8d
jne 0x140064e1a
mov rcx, rbx
call fcn.1400524b9
test rax, rax
jne 0x140064de7
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
xor ecx, ecx
movzx edx, byte [rax + rcx]
movzx r8d, byte [rbp + rcx]
cmp dl, r8b
jne 0x140064e02
test rdx, rdx
jne 0x140064e0b
jmp 0x140064e2b
mov dl, byte [rdx + rdi]
cmp dl, byte [r8 + rdi]
jne 0x140064e10
inc rcx
jmp 0x140064dec
mov rax, qword [rsp + 0x170]
mov eax, dword [rax]
inc r15
movsxd rcx, eax
cmp r15, rcx
jl 0x140064d6e
jmp 0x140064e76
test r15d, r15d
js 0x140064e76
mov rax, qword [rsi + 8]
movzx eax, word [rax + r13*2]
test ax, ax
mov rbp, qword [rsp + 0x40]
js 0x140064e56
mov rcx, qword [rsi + 0x18]
mov rcx, qword [rcx + 8]
shl rax, 5
movzx ecx, byte [rcx + rax + 0x18]
jmp 0x140064e60
xor ecx, ecx
cmp eax, 0xffff
sete cl
test ecx, ecx
je 0x140064e80
inc r13
movzx eax, word [rsi + 0x5e]
cmp r13, rax
jb 0x140064d25
jmp 0x140064e80
mov rbp, qword [rsp + 0x40]
jmp 0x140064e80
xor r13d, r13d
movzx eax, word [rsi + 0x5e]
cmp r13d, eax
je 0x140064eb0
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x140064d0d
cmp qword [rsp + 0x70], 0
jne 0x140064eb4
or byte [rbp + 0x40], 0x80
mov rax, qword [rsp + 0x170]
mov qword [rbp + 0x10], rax
jmp 0x140064eb4
mov byte [rbp + 0x47], 1
mov r12, qword [rsp + 0x90]
cmp dword [rsp + 0x3c], 1
jne 0x14006505b
test byte [r12 + 0x40], 0x20
jne 0x14006505b
mov rdi, qword [r12 + 8]
mov rbx, qword [rdi + 0x28]
cmp dword [rbx + 0x54], 0
jne 0x14006505b
test byte [rdi + 0x48], 2
jne 0x14006505b
mov edx, dword [rdi + 0x4c]
lea r13, [r12 + 0x68]
mov rsi, qword [rsp + 0xa8]
mov dword [rsi + 0x28], 0
mov word [rsi + 0x2e], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x82
mov rcx, r13
mov dword [rsp + 0x30], edx
mov r8d, 0xffffffff
xor r9d, r9d
call fcn.140066f77
test rax, rax
je 0x140064fbf
mov dword [rsi + 0x28], 0x1101
mov rcx, qword [rsi + 0x38]
mov qword [rcx], rax
mov ax, 1
mov word [rsi + 0x2c], ax
mov word [rsi + 0x18], ax
mov ax, 0x21
mov word [rsi + 0x14], ax
cmp dword [rsi + 0x28], 0
je 0x140065053
mov ax, 1
mov word [rsi + 0x16], ax
mov qword [r12 + 0x3e0], rsi
mov qword [rsi + 8], 1
mov ecx, dword [rsp + 0x30]
mov dword [r12 + 0x39c], ecx
mov word [r12 + 0x60], ax
mov rax, qword [r12 + 0x10]
test rax, rax
mov rbx, qword [rsp + 0x58]
je 0x140064fa8
mov al, byte [rax]
mov byte [r12 + 0x43], al
test byte [r12 + 0x41], 1
je 0x1400652d3
mov byte [r12 + 0x47], 1
jmp 0x1400652d3
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140064f5e
cmp byte [rbx + 0x62], 0
je 0x14006504a
cmp qword [rbx + 0x48], 0
jne 0x14006504a
movzx eax, word [rbx + 0x5e]
cmp ax, 3
ja 0x14006504a
test ax, ax
je 0x14006502e
mov al, byte [rbx + 0x64]
and al, 8
shr al, 3
movzx ebp, al
shl ebp, 7
or ebp, 2
xor r15d, r15d
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ebp
mov rcx, r13
mov edx, dword [rsp + 0x30]
mov r8d, r15d
xor r9d, r9d
call fcn.140066f77
test rax, rax
je 0x140065035
mov rcx, qword [rsi + 0x38]
mov qword [rcx + r15*8], rax
inc r15
movzx eax, word [rbx + 0x5e]
cmp r15, rax
jb 0x140064ff8
jmp 0x140065039
xor eax, eax
xor r15d, r15d
jmp 0x14006503e
movzx eax, word [rbx + 0x5e]
mov rbp, qword [rsp + 0x40]
movzx eax, ax
cmp r15d, eax
je 0x14006597d
mov rbx, qword [rbx + 0x28]
jmp 0x140064fc3
mov r12, qword [rsp + 0x90]
mov rax, qword [r12]
mov rbp, qword [r12 + 8]
movzx ecx, byte [r12 + 0x42]
imul rcx, rcx, 0x70
lea rdi, [rcx + rbp]
add rdi, 8
add rbp, 8
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
mov rsi, qword [rsp + 0xa8]
lea rax, [rsi + 0x48]
mov qword [rsi + 0x38], rax
mov word [rsi + 0x2c], 0
mov word [rsi + 0x30], 3
mov dword [rsi + 0x28], 0
mov dword [rsp + 0xbc], 0x4e20
cmp rbp, rdi
jae 0x140065253
xor eax, eax
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x30], rcx
xor r13d, r13d
mov qword [rsp + 0x70], rsi
mov byte [rsi + 0x10], r13b
add dword [rsp + 0xbc], 0x3e8
mov r9d, dword [r12 + 0x294]
test r9d, r9d
jle 0x140065100
mov r8d, dword [rbp + 0x44]
xor ecx, ecx
cmp dword [r12 + rcx*4 + 0x298], r8d
je 0x140065105
inc rcx
cmp r9, rcx
jne 0x1400650ee
xor r8d, r8d
jmp 0x14006510e
mov r8d, 1
shl r8, cl
mov qword [rsi + 8], r8
mov r15b, byte [rbp + 0x3c]
or al, r15b
test al, 0xa
cmovne rdx, qword [rsp + 0x30]
mov rax, qword [rbp + 0x20]
cmp dword [rax + 0x54], 0
je 0x140065197
lea r8, [rbp + 0x70]
cmp r8, rdi
jae 0x1400651ab
mov rcx, rbp
xor r10d, r10d
mov rax, r8
test r10, r10
jne 0x14006514b
test byte [rcx + 0xac], 0xa
je 0x140065193
mov r8d, dword [r12 + 0x294]
test r8d, r8d
jle 0x140065173
mov r9d, dword [rcx + 0xb4]
xor ecx, ecx
cmp dword [r12 + rcx*4 + 0x298], r9d
je 0x140065177
inc rcx
cmp r8, rcx
jne 0x140065161
xor esi, esi
jmp 0x14006517f
mov esi, 1
shl rsi, cl
or rsi, r10
lea r8, [rax + 0x70]
mov rcx, rax
mov r10, rsi
cmp r8, rdi
jb 0x14006513a
jmp 0x1400651ad
xor esi, esi
jmp 0x140065182
lea rcx, [rsp + 0x90]
mov rbx, rdx
call fcn.1400675f1
xor esi, esi
jmp 0x1400651c0
xor esi, esi
lea rcx, [rsp + 0x90]
mov rbx, rdx
mov r8, rsi
call fcn.140067004
test eax, eax
jne 0x1400651e5
mov rax, qword [rsp + 0x98]
cmp byte [rax + 0x11], 0
je 0x14006521f
lea rcx, [rsp + 0x90]
mov rdx, rbx
mov r8, rsi
call fcn.140067cc1
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x30]
or rcx, qword [rsi + 8]
mov qword [rsp + 0x30], rcx
cmp eax, 0x65
je 0x140065209
test eax, eax
mov rdx, rbx
je 0x140065235
jmp 0x140065489
mov ecx, 0x1c
lea rdx, [0x1402b2600]
call fcn.14001f1b1
mov rdx, rbx
jmp 0x140065240
mov rsi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x30]
or rax, qword [rsi + 8]
mov qword [rsp + 0x30], rax
mov rdx, rbx
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x61], 0
jne 0x140065253
inc r13b
add rbp, 0x70
mov eax, r15d
cmp rbp, rdi
jb 0x1400650cc
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
call fcn.1400662f9
mov rbp, qword [rsp + 0x40]
mov rcx, rbp
xor edx, edx
call fcn.140068101
mov rbx, qword [rsp + 0x58]
cmp byte [rbx + 0x61], 0
je 0x1400652b9
test rbp, rbp
je 0x140065298
mov eax, dword [rbp + 0x3c]
mov rcx, qword [rsp + 0x48]
mov dword [rcx + 0xac], eax
mov rcx, rbx
mov rdx, rbp
call fcn.1400661ba
xor ebp, ebp
mov rax, rbp
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [rbp + 0x10], 0
je 0x1400652da
mov edx, dword [rbp + 0x60]
inc edx
mov rcx, rbp
call fcn.140068101
cmp byte [rbx + 0x61], 0
jne 0x14006527f
cmp qword [rbp + 0x10], 0
jne 0x1400652e8
test byte [rbx + 0x31], 0x10
je 0x1400652e8
mov qword [rbp + 0x58], 0xffffffffffffffff
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x30], 0
jne 0x14006527f
cmp byte [rbx + 0x61], 0
jne 0x14006527f
cmp qword [rsp + 0x170], 0
je 0x1400654a5
cmp byte [rbp + 0x42], 2
mov edi, dword [rsp + 0x7c]
jb 0x1400654b4
mov qword [rsp + 0x60], 0xffffffffffffffff
test byte [rbx + 0x5d], 1
jne 0x1400654bd
lea rsi, [rbp + 0x290]
mov rcx, rsi
mov rdx, qword [rsp + 0x170]
call fcn.140068919
mov r15, rax
mov rdx, qword [rsp + 0xa0]
test rdx, rdx
je 0x14006535b
mov rcx, rsi
call fcn.140068919
or r15, rax
movzx esi, byte [rbp + 0x42]
cmp rsi, 2
jb 0x1400654bd
mov qword [rsp + 0x60], 0xffffffffffffffff
mov eax, esi
mov r12, rsi
dec rsi
imul rcx, rsi, 0x58
mov rdx, qword [rbp + rcx + 0x3e0]
mov r10, qword [rbp + 8]
movzx r8d, byte [rdx + 0x10]
imul r11, r8, 0x70
test byte [r10 + r11 + 0x44], 8
je 0x14006547d
bt dword [rsp + 0x6c], 8
jb 0x1400653b1
test byte [rdx + 0x29], 0x10
je 0x14006547d
mov rbx, qword [rdx + 8]
test rbx, r15
jne 0x140065478
mov r9, qword [rsp + 0x98]
movsxd r8, dword [r9 + 0x14]
test r8, r8
jle 0x14006542b
mov r9, qword [r9 + 0x20]
shl r8, 6
add r8, r9
add r10, r11
add r10, 0x4c
mov r11, r9
test qword [r11 + 0x38], rbx
je 0x140065407
mov r13, qword [r11]
test byte [r13 + 4], 1
je 0x140065478
movsx ebp, word [r13 + 0x30]
cmp dword [r10], ebp
mov rbp, qword [rsp + 0x40]
jne 0x140065478
add r11, 0x40
cmp r11, r8
jb 0x1400653e4
mov rax, qword [rdx + 8]
test qword [r9 + 0x38], rax
je 0x14006541f
or byte [r9 + 0x12], 4
add r9, 0x40
cmp r9, r8
jb 0x140065410
mov al, byte [rbp + 0x42]
movzx r8d, al
sub r8, r12
je 0x140065467
add rcx, rbp
add rcx, 0x398
imul rax, r12, 0x58
lea rdx, [rax + rbp]
add rdx, 0x398
movabs rax, 0x5800000000
imul r8, rax
sar r8, 0x20
call fcn.140201ae0
mov al, byte [rbp + 0x42]
not rbx
and qword [rsp + 0x60], rbx
dec al
mov byte [rbp + 0x42], al
dec dword [rsp + 0x3c]
mov rbx, qword [rsp + 0x58]
cmp r12, 2
jg 0x140065374
jmp 0x1400654bd
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
call fcn.1400662f9
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
jmp 0x14006527a
mov qword [rsp + 0x60], 0xffffffffffffffff
mov edi, dword [rsp + 0x7c]
jmp 0x1400654bd
mov qword [rsp + 0x60], 0xffffffffffffffff
movsx eax, word [rbp + 0x60]
mov rcx, qword [rbp]
add dword [rcx + 0xac], eax
mov r10d, dword [rsp + 0x6c]
test r10b, 4
jne 0x1400654f1
xor r10d, r10d
mov r8, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x3c]
mov esi, dword [rsp + 0x68]
mov r15, qword [rsp + 0x80]
jmp 0x14006556f
mov rax, qword [rbp + 0x3e0]
mov ecx, dword [rax + 0x28]
mov dl, 1
bt ecx, 0xc
mov r9d, dword [rsp + 0x3c]
mov esi, dword [rsp + 0x68]
mov r15, qword [rsp + 0x80]
jb 0x140065546
test r10b, 8
mov r8, qword [rsp + 0x50]
je 0x140065529
mov rdx, qword [r14 + 0x28]
cmp dword [rdx + 0x54], 0
je 0x14006552e
xor r10d, r10d
jmp 0x14006556f
bt ecx, 0xd
mov dl, 2
jae 0x140065546
and r10d, 0x10
jne 0x140065546
xor r10d, r10d
mov r8, qword [rsp + 0x50]
jmp 0x14006556f
mov byte [rbp + 0x45], dl
mov rdx, qword [r14 + 0x28]
xor r10d, r10d
test byte [rdx + 0x40], 0x20
mov r8, qword [rsp + 0x50]
jne 0x14006556f
mov edx, ecx
and edx, 0x40
je 0x14006556f
mov r10d, edi
and r10d, 8
and ecx, 0xffffffbf
mov dword [rax + 0x28], ecx
test r9d, r9d
jle 0x140065964
mov dword [rsp + 0x58], r10d
test esi, esi
sete al
cmp dword [rsp + 0x180], 0
sete cl
or cl, al
mov byte [rsp + 0x70], cl
xor r12d, r12d
movzx eax, byte [r15 + 0x2c]
imul rdi, rax, 0x70
mov r9, qword [r14 + rdi + 0x28]
mov rax, qword [r9 + 0x70]
test rax, rax
je 0x1400655cd
mov rcx, qword [rbx + 0x20]
add rcx, 0x18
mov r13, 0xffffffffffffffff
inc r13
lea rdx, [rcx + 0x20]
cmp qword [rcx], rax
mov rcx, rdx
jne 0x1400655bc
jmp 0x1400655d3
mov r13d, 0xfff0bdc0
mov rbp, qword [r15 + 0x48]
test byte [r9 + 0x40], 2
jne 0x140065692
cmp qword [r9 + 0x18], 0
jne 0x140065692
mov eax, dword [rbp + 0x28]
bt eax, 0xa
jb 0x140065626
and eax, 0x40
or eax, dword [r9 + 0x54]
or eax, esi
jne 0x140065692
mov rsi, qword [rsp + 0x40]
cmp byte [rsi + 0x45], 0
je 0x1400657ee
mov eax, dword [r14 + rdi + 0x4c]
mov dword [rsi + 0x2c], eax
mov eax, 0x62
jmp 0x1400657f3
mov rsi, qword [r9 + 0x60]
test rsi, rsi
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x30], r9
je 0x14006564a
cmp qword [rsi], rbx
je 0x14006564c
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x14006563c
xor esi, esi
mov r8d, dword [r14 + rdi + 0x4c]
mov dword [rsp + 0x20], 0
mov r15, qword [rsp + 0x50]
mov rcx, r15
mov edx, 0xa3
xor r9d, r9d
call fcn.14004e997
mov rcx, r15
mov edx, eax
mov r8, rsi
mov r9d, 0xfffffff4
call fcn.14004ea51
mov esi, dword [rsp + 0x68]
mov r15, qword [rsp + 0x80]
mov r9, qword [rsp + 0x30]
test byte [rbp + 0x29], 2
je 0x1400657c0
mov r10, r15
mov r15, qword [rbp + 0x20]
test byte [r9 + 0x40], 0x20
je 0x1400656ca
mov eax, dword [r15 + 0x64]
and eax, 3
cmp eax, 2
jne 0x1400656ca
test esi, esi
je 0x1400656ca
mov r15, r10
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
jmp 0x1400657c0
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x45], 0
je 0x14006571f
lea rax, [r14 + rdi]
add rax, 0x28
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
mov ecx, dword [rsp + 0x180]
mov r8d, ecx
test rax, rax
je 0x14006570f
mov r8d, ecx
cmp rax, r15
je 0x14006570f
mov r8d, ecx
inc r8d
mov rax, qword [rax + 0x28]
test rax, rax
je 0x14006570f
cmp rax, r15
jne 0x1400656fe
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x30], r8d
mov edx, 0x62
jmp 0x14006574a
mov edx, 0x60
mov eax, dword [rsp + 0x180]
mov r8d, eax
cmp byte [rsp + 0x70], 0
je 0x14006574a
mov rcx, qword [rsp + 0x48]
mov r8d, dword [rcx + 0x34]
lea eax, [r8 + 1]
mov dword [rcx + 0x34], eax
mov edx, 0x61
mov rdi, r10
mov dword [r10 + 8], r8d
mov r9d, dword [r15 + 0x58]
mov dword [rsp + 0x20], r13d
mov rcx, qword [rsp + 0x50]
call fcn.14004e997
mov rcx, qword [rsp + 0x48]
mov rdx, r15
mov r15, rdi
call fcn.1400578a1
mov eax, dword [rbp + 0x28]
test al, 0xf
je 0x1400657c0
and eax, 0x88002
jne 0x1400657c0
mov rax, qword [rsp + 0x40]
test byte [rax + 0x40], 1
jne 0x1400657c0
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x47], 2
je 0x1400657c0
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x90]
test eax, eax
jle 0x1400657c0
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x88]
dec eax
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 2
test r13d, r13d
js 0x1400657d2
mov rcx, qword [rsp + 0x48]
mov edx, r13d
call fcn.140056d5d
inc r12d
add r15, 0x58
cmp r12d, dword [rsp + 0x3c]
mov rbp, qword [rsp + 0x40]
jne 0x140065596
jmp 0x140065899
mov eax, 0x61
mov edx, dword [r14 + rdi + 0x4c]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x48]
mov r8d, r13d
mov qword [rsp + 0x30], r9
call fcn.1400577e3
mov r9, qword [rsp + 0x30]
cmp byte [rsi + 0x45], 0
mov esi, dword [rsp + 0x68]
jne 0x140065866
cmp word [r9 + 0x46], 0x3f
jg 0x140065866
test byte [r9 + 0x40], 0x20
jne 0x140065866
mov rcx, qword [r14 + rdi + 0x60]
xor eax, eax
test rcx, rcx
je 0x140065849
mov rdx, rcx
shr rdx, 1
inc eax
cmp rcx, 1
mov rcx, rdx
ja 0x14006583b
mov r8d, eax
mov rcx, qword [rsp + 0x50]
mov edx, 0xffffffff
mov r9d, 0xfffffffd
call fcn.14004ea51
mov r9, qword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x90]
test eax, eax
jle 0x140065692
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x88]
dec eax
lea rax, [rax + rax*2]
mov edx, dword [rsp + 0x58]
mov word [rcx + rax*8 + 2], dx
jmp 0x140065692
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x90]
mov dword [rbp + 0x4c], eax
cmp byte [rbx + 0x61], 0
mov r12, qword [rsp + 0x60]
jne 0x14006527f
mov esi, dword [rsp + 0x3c]
mov r15, rbp
add r15, 0x398
xor r13d, r13d
mov rdi, qword [rsp + 0x48]
mov rax, qword [r15 + 0x48]
test byte [rax + 0x29], 0x40
je 0x14006590b
movzx eax, byte [r15 + 0x2c]
imul rax, rax, 0x70
lea r8, [r14 + rax]
add r8, 8
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x88]
mov r9, r12
call fcn.140068979
cmp byte [rbx + 0x61], 0
jne 0x14006527f
mov rcx, rdi
mov rdx, r14
mov r8, r15
mov r9d, dword [rsp + 0x7c]
call fcn.1400692e5
mov rdx, qword [rsp + 0x50]
mov eax, dword [rdx + 0x90]
mov dword [r15 + 0x20], eax
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r15
mov rcx, rdi
mov r8, rbp
mov r9d, r13d
call fcn.1400697b1
mov r12, rax
mov eax, dword [r15 + 0x18]
mov dword [rbp + 0x34], eax
inc r13
add r15, 0x58
cmp rsi, r13
jne 0x1400658cc
jmp 0x14006529a
mov eax, dword [r8 + 0x90]
mov dword [rbp + 0x4c], eax
cmp byte [rbx + 0x61], 0
jne 0x14006527f
jmp 0x14006529a
mov dword [rsi + 0x28], 0x1201
test byte [rbx + 0x64], 0x20
jne 0x140065994
mov rax, qword [rbx + 0x68]
test qword [rdi + 0x60], rax
jne 0x14006599b
mov dword [rsi + 0x28], 0x1241
mov word [rsi + 0x2c], r15w
mov word [rsi + 0x18], r15w
mov qword [rsi + 0x20], rbx
mov ax, 0x27
jmp 0x140064f5a