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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x238
mov eax, dword [rsp + 0x2b0]
mov r15, qword [rcx + 0x10]
mov dword [rsp + 0x50], eax
mov r13, rcx
mov r12, r8
mov word [rsp + 0x60], ax
mov rax, qword [rcx]
mov qword [rsp + 0x288], rdx
mov qword [rsp + 0x298], r9
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
test r9, r9
je 0x8e5a8e
cmp dword [r9], 0x40
mov eax, 0
cmovl rax, r9
mov qword [rsp + 0x298], rax
mov rax, qword [rsp + 0x288]
mov eax, dword [rax]
mov dword [rsp + 0xa8], eax
cmp eax, 0x40
jg 0x8e8640
test byte [rsp + 0x50], 0x20
je 0x8e6c88
mov dword [rsp + 0xa8], 1
mov edx, 0x440
mov ebx, 0x3d0
mov rsi, qword [rsp + 0xa0]
mov rcx, rsi
call fcn.00885ed0
cmp byte [rsi + 0x67], 0
mov r14, rax
jne 0x8e7048
mov qword [rax], r13
lea rdi, [r14 + 0x51]
lea rsi, [r14 + 0x78]
add rbx, r14
mov rax, qword [rsp + 0x288]
mov edx, dword [rsp + 0xa8]
mov qword [r14 + 0x20], r12
and rdi, 0xfffffffffffffff8
mov qword [r14 + 0x30], 0xffffffffffffffff
mov qword [r14 + 8], rax
mov rax, qword [rsp + 0x298]
mov byte [r14 + 0x48], dl
mov qword [r14 + 0x10], rax
mov rax, qword [rsp + 0x2a0]
mov qword [r14 + 0x18], rax
mov eax, dword [r13 + 0x44]
sub eax, 1
mov dword [r13 + 0x44], eax
mov dword [r14 + 0x38], eax
mov dword [r14 + 0x3c], eax
movzx eax, word [rsp + 0x50]
mov word [r14 + 0x44], ax
movzx eax, word [rsp + 0x2b8]
mov word [r14 + 0x46], ax
mov eax, dword [r13 + 0xc8]
mov dword [r14 + 0x40], eax
mov rax, qword [rsp + 0x2a8]
mov qword [r14 + 0x49], 0
mov qword [r14 + 0x28], rax
mov eax, r14d
sub eax, edi
mov qword [rsp + 0x80], rsi
lea ecx, [rax + 0x78]
xor eax, eax
mov qword [r14 + 0x70], 0
shr ecx, 3
rep stosq qword [rdi], rax
movsxd rax, edx
lea rcx, [r14 + 0x368]
lea rdx, [rax + rax*2]
mov rdi, rax
mov qword [rsp + 0x70], rcx
lea rax, [rax + rdx*4]
xor edx, edx
mov qword [rsp + 0x68], rcx
lea r8, [rax*8 + 0x70]
call sub.msvcrt.dll_memset
xor r8d, r8d
mov rdx, r12
mov rcx, rsi
movabs rax, 0xffffff9d00000000
mov r9d, 3
mov qword [rsp + 0x130], r14
mov qword [r14 + 0x264], rax
lea rax, [rbx + 0x58]
mov qword [rbx + 0x48], rax
lea rax, [r14 + 0xa0]
mov word [rbx + 0x3c], r8w
mov r8d, 0x2c
mov word [rbx + 0x40], r9w
mov dword [rbx + 0x38], 0
mov qword [r14 + 0x78], r14
mov byte [r14 + 0x89], 0
mov qword [r14 + 0x80], 0
mov dword [r14 + 0x8c], 0
mov qword [r14 + 0x90], 8
mov qword [r14 + 0x98], rax
mov qword [rsp + 0x138], rsi
mov qword [rsp + 0x140], rbx
call fcn.00889960
test edi, edi
jne 0x8e6e10
cmp qword [rsp + 0x298], 0
je 0x8e5c81
mov rax, qword [rsp + 0x298]
mov eax, dword [rax]
mov byte [r14 + 0x49], al
test dword [rsp + 0x50], 0x100
jne 0x8e7070
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r13
call fcn.00892af0
mov ebx, dword [r14 + 0x8c]
sub ebx, 1
js 0x8e5cd6
mov rsi, qword [rsp + 0x288]
mov rdi, qword [rsp + 0x80]
nop dword [rax]
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
sub ebx, 1
call fcn.008e09b0
cmp ebx, 0xffffffff
jne 0x8e5cc0
cmp qword [rsp + 0x2a8], 0
je 0x8e5d04
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0x60]
test rax, rax
je 0x8e5d04
mov rsi, qword [rsp + 0x2a8]
test byte [rsi + 4], 9
je 0x8e7090
mov rax, qword [rsp + 0xa0]
movzx eax, byte [rax + 0x67]
mov byte [rsp + 0x78], al
test al, al
jne 0x8e6cc8
mov rax, qword [rsp + 0x138]
xor r12d, r12d
xor esi, esi
lea rdi, [rsp + 0x1c0]
lea rbp, [0x0086d1e0]
mov edx, dword [rax + 0x1c]
test edx, edx
jg 0x8e5ddc
jmp 0x8e5e2d
mov r11d, 1
lea rax, [0x0086c140]
mov qword [rdi], 0
mov qword [rdi + 8], 0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x20], 0
mov qword [rdi + 0x28], 0
mov word [rsp + 0x1e4], r11w
mov qword [rsp + 0x1c8], rbp
mov qword [rsp + 0x1d0], rax
test rdx, rdx
je 0x8e6e00
mov rcx, rdi
call fcn.008760e0
mov rax, qword [rsp + 0x138]
cmp word [rsp + 0x1e4], 0
jne 0x8e6e00
nop dword [rax]
add esi, 1
add r12, 0x38
cmp dword [rax + 0x1c], esi
jle 0x8e5e2d
mov rbx, qword [rax + 0x20]
add rbx, r12
test byte [rbx + 0x12], 2
jne 0x8e5dd0
cmp qword [rbx + 0x30], 0
jne 0x8e5dd0
mov eax, dword [rsp + 0xa8]
mov rdx, qword [rbx]
test eax, eax
jne 0x8e5d50
mov r8d, dword [r14 + 0x3c]
mov r9d, 0x10
mov rcx, r13
add esi, 1
add r12, 0x38
call fcn.008da710
mov rax, qword [rsp + 0x138]
or word [rbx + 0x12], 4
cmp dword [rax + 0x1c], esi
jg 0x8e5ddc
test dword [rsp + 0x50], 0x100
je 0x8e5e5d
mov rax, qword [rsp + 0xa0]
test byte [rax + 0x60], 0x10
je 0x8e7180
movzx eax, word [rsp + 0x50]
and word [r14 + 0x44], 0xfeff
and ah, 0xfe
mov word [rsp + 0x60], ax
mov rax, qword [rsp + 0x130]
cmp dword [rsp + 0xa8], 1
mov r12, qword [rsp + 0x140]
mov qword [rsp + 0x40], rax
mov rbp, qword [rax + 8]
je 0x8e82a0
mov rsi, qword [rsp + 0x40]
xor r10d, r10d
mov r11d, 3
movzx edx, byte [rsi + 0x48]
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
lea rcx, [rbp + rax + 8]
mov rax, qword [rsi]
mov rax, qword [rax]
mov word [r12 + 0x3c], r10w
mov word [r12 + 0x40], r11w
mov qword [rsp + 0x50], rax
lea rax, [r12 + 0x58]
mov qword [r12 + 0x48], rax
lea rax, [rbp + 8]
mov dword [r12 + 0x38], 0
mov dword [rsp + 0x154], 0x4e20
cmp rcx, rax
jbe 0x8e5fd6
mov qword [rsp + 0x58], r14
xor r10d, r10d
lea rbx, [rbp + 0x78]
xor edi, edi
lea rdx, [rsp + 0x130]
mov eax, 0x4e20
mov rbp, rcx
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x48], rdx
add rsi, 0x260
mov qword [rsp + 0x280], r13
mov r13d, r10d
nop dword [rax]
add eax, 0x3e8
mov byte [r12 + 0x10], r13b
mov dword [rsp + 0x154], eax
mov rax, qword [rsp + 0x40]
mov edx, dword [rbx - 0x2c]
mov r11d, dword [rax + 0x268]
mov eax, 1
cmp edx, r11d
je 0x8e5f62
mov rcx, rsi
call fcn.00878740
mov qword [r12 + 8], rax
mov rax, qword [rbx - 0x50]
mov r14d, 0
test byte [rbx - 0x34], 0xa
cmovne r14, rdi
cmp byte [rax + 0x3f], 1
je 0x8e6d50
mov rcx, qword [rsp + 0x48]
mov rdx, r14
xor r15d, r15d
call fcn.008a5060
test eax, eax
jne 0x8e6d10
mov rax, qword [rsp + 0x138]
cmp byte [rax + 0x11], 0
jne 0x8e6dd8
or rdi, qword [r12 + 8]
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
je 0x8e6d2b
mov r15, qword [rsp + 0x88]
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x50]
mov rdx, r12
call fcn.00878c60
xor edx, edx
mov rcx, r14
call fcn.008a6900
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x67], 0
jne 0x8e6cc8
cmp qword [r14 + 0x10], 0
je 0x8e7160
movzx eax, word [r14 + 0x50]
mov rcx, r14
lea edx, [rax + 1]
movsx edx, dx
call fcn.008a6900
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x67], 0
jne 0x8e6cc8
cmp qword [r14 + 0x10], 0
je 0x8e7160
mov eax, dword [r13 + 0x30]
mov dword [rsp + 0x58], eax
test eax, eax
jne 0x8e6cc8
movzx eax, byte [r14 + 0x48]
cmp al, 1
jbe 0x8e84c0
cmp qword [rsp + 0x2a0], 0
je 0x8e84c0
mov rax, qword [rsp + 0xa0]
test word [rsp + 0x60], 0x400
mov qword [rsp + 0x98], 0xffffffffffffffff
mov eax, dword [rax + 0x60]
jne 0x8e608f
test ah, 1
je 0x8e95c5
test eax, 0x80000
je 0x8e93f4
mov rax, qword [r14]
movzx esi, word [rsp + 0x60]
movsx edx, word [r14 + 0x50]
add dword [rax + 0xc8], edx
mov eax, esi
mov dword [rsp + 0xcc], esi
test al, 4
je 0x8e60f0
mov rdx, qword [r14 + 0x3c0]
mov eax, dword [rdx + 0x38]
test ah, 0x10
je 0x8e89b0
mov rsi, qword [rsp + 0x288]
mov r8d, 1
mov rcx, qword [rsi + 0x28]
mov byte [r14 + 0x4a], r8b
test byte [rcx + 0x30], 0x80
je 0x8e945d
nop dword [rax]
mov eax, dword [rsp + 0xa8]
test eax, eax
jle 0x8e9b56
sub eax, 1
mov qword [rsp + 0x48], r15
mov rbx, qword [rsp + 0x68]
lea rdx, [rax + rax*2]
mov rbp, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x288]
lea rax, [rax + rdx*4]
lea rax, [r14 + rax*8 + 0x3d0]
mov qword [rsp + 0x40], rax
movzx eax, word [rsp + 0x60]
and eax, 0x20
mov word [rsp + 0x50], ax
nop
movzx edi, byte [rbx + 0x38]
lea rax, [rdi*8]
sub rax, rdi
shl rax, 4
mov rsi, qword [r15 + rax + 0x28]
mov rdx, qword [rsi + 0x60]
test rdx, rdx
je 0x8e9ecb
mov rcx, rbp
call fcn.00877e80
mov r12d, eax
mov r11, qword [rbx + 0x58]
mov eax, dword [r11 + 0x38]
test byte [rsi + 0x31], 0x40
jne 0x8e6240
movzx edx, byte [rsi + 0x3f]
cmp dl, 2
je 0x8e6240
test ah, 4
jne 0x8e8200
cmp dl, 1
je 0x8e6240
test al, 0x40
jne 0x8e8080
cmp word [rsp + 0x50], 0
jne 0x8e8080
lea rax, [rdi*8]
sub rax, rdi
shl rax, 4
cmp byte [r14 + 0x4a], 0
mov edx, dword [r15 + rax + 0x4c]
mov eax, 0x65
je 0x8e61de
mov dword [r14 + 0x30], edx
mov eax, 0x70
mov dword [rsp + 0x20], eax
mov r9, rsi
mov r8d, r12d
mov rcx, r13
mov qword [rsp + 0x60], r11
call fcn.0089bb10
mov r11, qword [rsp + 0x60]
cmp byte [r14 + 0x4a], 0
mov eax, dword [r11 + 0x38]
jne 0x8e6210
cmp word [rsi + 0x36], 0x3f
jle 0x8e9515
mov rcx, qword [rsp + 0x48]
movsxd rdx, dword [rcx + 0x98]
test edx, edx
jle 0x8e6240
mov r9, qword [rcx + 0x90]
lea rdx, [rdx + rdx*2]
movzx ecx, byte [rsp + 0x78]
lea rdx, [r9 + rdx*8]
mov word [rdx - 0x16], cx
nop dword [rax + rax]
test ah, 2
je 0x8e62f0
mov r10, qword [r11 + 0x20]
test byte [rsi + 0x30], 0x80
je 0x8e6263
movzx eax, byte [r10 + 0x64]
and eax, 3
cmp al, 2
je 0x8e8280
cmp byte [r14 + 0x4a], 0
jne 0x8e7ea8
mov r8d, dword [rsp + 0x2b8]
test r8d, r8d
je 0x8e7840
cmp word [rsp + 0x50], 0
je 0x8e7840
mov eax, dword [rsp + 0x2b8]
mov edx, 0x64
mov dword [rbx + 8], eax
mov r8d, eax
nop dword [rax]
mov r9d, dword [r10 + 0x58]
mov rsi, qword [rsp + 0x48]
mov dword [rsp + 0x20], r12d
mov qword [rsp + 0x68], r11
mov rcx, rsi
mov qword [rsp + 0x60], r10
call fcn.0088b640
mov r10, qword [rsp + 0x60]
mov rcx, r13
mov rdx, r10
call fcn.0089bad0
mov r11, qword [rsp + 0x68]
mov eax, dword [r11 + 0x38]
test al, 0xf
je 0x8e62f0
test eax, 0x188002
jne 0x8e62f0
test byte [r14 + 0x44], 1
je 0x8e9401
nop
test r12d, r12d
js 0x8e6300
mov edx, r12d
mov rcx, r13
call fcn.008cdd60
add rbx, 0x68
cmp rbx, qword [rsp + 0x40]
jne 0x8e6140
mov r15, qword [rsp + 0x48]
mov eax, dword [r15 + 0x98]
mov dword [r14 + 0x54], eax
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x67], 0
jne 0x8e6cc8
mov qword [rsp + 0x48], r14
mov rdi, qword [rsp + 0x70]
mov r12, r13
mov r13, r15
nop dword [rax]
mov eax, dword [r12 + 0x30]
mov dword [rsp + 0xc8], eax
test eax, eax
jne 0x8e85f8
mov rax, qword [rdi + 0x58]
mov eax, dword [rax + 0x38]
test eax, 0x404000
je 0x8e63c2
test ah, 0x40
je 0x8e7818
movzx edx, byte [rdi + 0x38]
mov rsi, qword [rsp + 0x288]
mov qword [rsp + 0x20], rdi
mov rcx, r12
mov r9, qword [rsp + 0x98]
lea rax, [rdx*8]
sub rax, rdx
mov rdx, qword [rsp + 0x80]
shl rax, 4
lea r8, [rsi + rax + 8]
call fcn.008e4350
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x67], 0
jne 0x8e85f8
mov rax, qword [r12 + 0xa0]
test rax, rax
cmove rax, r12
cmp byte [rax + 0x123], 2
jne 0x8e63f5
mov r9d, dword [rsp + 0xcc]
mov rdx, qword [rsp + 0x288]
mov r8, rdi
mov rcx, r12
call fcn.0088b9e0
mov eax, dword [r13 + 0x98]
movzx edx, byte [rdi + 0x38]
mov rcx, qword [rsp + 0x48]
mov rsi, qword [rdi + 0x58]
mov dword [rdi + 0x20], eax
mov rax, qword [r12]
mov rbx, rdx
mov r10, qword [rcx + 8]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x40], rax
lea rax, [rdx*8]
sub rax, rdx
mov qword [rsp + 0x50], r10
shl rax, 4
mov edx, dword [r10 + rax + 0x4c]
mov r10, rcx
mov rax, 0xfffffffffffffffe
lea rcx, [rcx + 0x260]
mov dword [rsp + 0x90], edx
cmp edx, dword [r10 + 0x268]
je 0x8e6463
call fcn.00878740
not rax
and rax, qword [rsp + 0x98]
mov qword [rdi + 0x60], rax
mov rax, qword [rsp + 0x48]
mov r14, qword [rax + 0x70]
mov eax, dword [r12 + 0x44]
lea ebp, [rax - 1]
mov dword [r12 + 0x44], ebp
mov dword [rdi + 0x10], ebp
mov dword [rdi + 0xc], ebp
mov eax, dword [r12 + 0x44]
sub eax, 1
mov dword [r12 + 0x44], eax
cmp byte [rdi + 0x38], 0
mov dword [rsp + 0xac], eax
mov dword [rdi + 0x18], eax
je 0x8e64cc
mov rcx, qword [rsp + 0x78]
lea rax, [rcx*8]
sub rax, rcx
mov rcx, qword [rsp + 0x50]
shl rax, 4
test byte [rcx + rax + 0x44], 8
jne 0x8e7b00
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x8e7b38
lea rdx, [rdi - 0x368]
jmp 0x8e64f1
sub rdx, 0x68
sub eax, 1
je 0x8e64fd
mov r15d, dword [rdx + 0x368]
test r15d, r15d
je 0x8e64e8
mov rcx, qword [rsp + 0x78]
lea rdx, [rcx*8]
sub rdx, rcx
shl rdx, 4
add rdx, qword [rsp + 0x50]
movzx r8d, byte [rdx + 0x48]
mov ecx, r8d
and ecx, 0x10
mov byte [rsp + 0x68], cl
jne 0x8e7720
movzx ecx, byte [rsp + 0x58]
mov rdx, r14
shr rdx, cl
mov ecx, edx
mov edx, dword [rsi + 0x38]
and ecx, 1
mov dword [rsp + 0x60], ecx
test dh, 4
jne 0x8e7860
test dh, 1
je 0x8e6559
test dl, 5
jne 0x8e8430
cdqe
lea rcx, [rax + rax*2]
lea rax, [rax + rcx*4]
mov rcx, qword [rsp + 0x48]
mov r9d, dword [rcx + rax*8 + 0x374]
mov eax, edx
and eax, 0x102
cmp eax, 0x102
je 0x8e7b40
test dh, 2
je 0x8e7d58
movzx eax, word [rsi + 0x1c]
movzx ebp, word [rsi + 0x18]
movzx ebx, word [rsi + 0x1a]
mov r15d, dword [rdi + 8]
mov word [rsp + 0xd8], ax
mov rax, qword [rsi + 0x20]
mov word [rsp + 0xf0], bx
mov qword [rsp + 0x70], rax
movzx eax, bp
mov dword [rsp + 0xb0], eax
test dl, 0x20
je 0x8e8570
mov r8, qword [rsi + 0x48]
movzx ecx, bp
add eax, 1
mov r14, qword [r8 + rcx*8]
test dl, 0x10
je 0x8e8585
mov rcx, qword [rsi + 0x48]
cdqe
mov rcx, qword [rcx + rax*8]
movzx eax, word [rsp + 0xd8]
cmp ebx, eax
mov qword [rsp + 0xc0], rcx
cmovl ebx, eax
test byte [rcx + 0x13], 1
jne 0x8e9751
mov byte [rsp + 0xe0], 0
test r14, r14
je 0x8e9a61
and edx, 0x80030
mov dword [rsp + 0x88], 0
cmp edx, 0x80000
je 0x8e8660
mov rcx, qword [rsp + 0x70]
cmp bp, word [rcx + 0x60]
jae 0x8e66a0
mov rdx, qword [rcx + 0x38]
movzx eax, bp
cmp byte [rdx + rax], 0
sete al
movzx eax, al
cmp dword [rsp + 0x60], eax
jne 0x8e66a0
movzx edx, byte [rsp + 0xe0]
movzx eax, byte [rsp + 0xf0]
mov byte [rsp + 0xe0], 0
movzx ecx, word [rsp + 0xd8]
mov byte [rsp + 0x68], dl
mov rdx, r14
mov r14, qword [rsp + 0xc0]
mov word [rsp + 0xf0], cx
mov qword [rsp + 0xc0], rdx
mov word [rsp + 0xd8], ax
nop
mov r8d, dword [rsp + 0x58]
test r8d, r8d
je 0x8e66b4
test byte [rsi + 0x3a], 0x10
jne 0x8e9349
mov r8d, dword [rsp + 0x60]
mov r9d, ebx
mov rdx, rdi
mov rcx, r12
lea rax, [rsp + 0x128]
mov qword [rsp + 0x20], rax
call fcn.008e5460
cmp word [rsp + 0xd8], 0
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x128]
je 0x8e66f7
test rax, rax
jne 0x8e8a30
mov qword [rsp + 0xd0], 0
mov ecx, dword [rsp + 0x88]
test ecx, ecx
je 0x8e85a0
mov eax, dword [rdi + 0x28]
mov dword [rsp + 0xdc], eax
test r14, r14
setne dl
test bp, bp
setne al
test r14, r14
je 0x8e8710
xor ebx, ebx
mov rcx, qword [rsp + 0xc0]
test byte [r14 + 0x14], 0x28
setne bl
mov dword [rsp + 0xe8], ebx
test rcx, rcx
je 0x8e91a0
or eax, edx
movzx eax, al
mov dword [rsp + 0xec], eax
xor eax, eax
test byte [rcx + 0x14], 0x28
setne al
mov dword [rsp + 0xf4], eax
movzx r9d, word [rsp + 0xf0]
mov rax, qword [r14]
mov rcx, r12
mov rbx, qword [rax + 0x18]
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0xe0], r9d
add eax, dword [rsp + 0xb8]
mov r8d, eax
mov rdx, rbx
mov dword [rsp + 0xf0], eax
call fcn.008dd620
movzx eax, word [r14 + 0x12]
test ah, 1
je 0x8e67c5
lea rdx, [rdi + 0x2c]
mov rcx, r13
call fcn.00878700
movzx eax, word [r14 + 0x12]
test al, 0x80
je 0x8e9717
mov r8, qword [rsp + 0x128]
test r8, r8
je 0x8e67ef
movzx eax, bp
mov edx, dword [rsp + 0xe0]
mov rcx, rbx
add r8, rax
call fcn.00877010
movzx eax, byte [rbx]
mov ebp, dword [rsp + 0xe0]
add ebp, dword [rsp + 0xb0]
cmp al, 0xb0
jne 0x8e6808
movzx eax, byte [rbx + 2]
cmp al, 0xb1
je 0x8e9b4b
cmp al, 0x8a
je 0x8e9ac1
mov r8, r14
lea rdx, [rdi + 0x60]
mov rcx, rdi
call fcn.00878670
mov r8d, ebp
mov dword [rsp + 0xe0], 0
mov rcx, qword [r12 + 0x10]
mov r9, qword [rsp + 0x128]
mov edx, dword [rsp + 0xb8]
call fcn.0088b940
movzx eax, word [rsi + 0x3e]
test ax, ax
je 0x8e685f
cmp ebp, eax
je 0x8e94f5
mov r14d, dword [rsp + 0xec]
mov eax, dword [rsp + 0x88]
shl r14d, 2
test eax, eax
jne 0x8e895c
mov r8d, dword [rdi + 0x34]
test r8d, r8d
jne 0x8e88a0
mov eax, dword [rsp + 0xe8]
lea rbx, [0x0112c770]
lea eax, [r14 + rax*2]
add eax, dword [rsp + 0x60]
cdqe
movzx r10d, byte [rbx + rax]
test byte [rsi + 0x3a], 0x10
je 0x8e68b4
cmp r10d, 0x19
je 0x8e9d76
xor r14d, r14d
mov eax, dword [rsp + 0xb8]
mov r8d, r15d
mov edx, r10d
mov rcx, r13
mov dword [rsp + 0x28], ebp
mov r9d, dword [rsp + 0xdc]
mov dword [rsp + 0x20], eax
call fcn.0088b6b0
mov eax, dword [rsp + 0x88]
test eax, eax
jne 0x8e8830
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x8e86d8
mov rax, qword [rax]
mov rbp, qword [rax + 0x18]
test r14d, r14d
je 0x8e6912
mov eax, dword [r13 + 0x98]
mov dword [rdi + 0x40], eax
movzx ebx, word [rsp + 0xd8]
mov eax, dword [rsp + 0xb0]
mov rdx, rbp
mov rcx, r12
add eax, dword [rsp + 0xb8]
mov r8d, eax
mov r9d, ebx
mov dword [rsp + 0x68], eax
call fcn.008dd620
mov r10, qword [rsp + 0xc0]
movzx eax, word [r10 + 0x12]
test ah, 1
je 0x8e6960
lea rdx, [rdi + 0x2c]
mov rcx, r13
call fcn.00878700
movzx eax, word [r10 + 0x12]
test al, 0x80
je 0x8e89f0
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x8e699b
mov r8, rax
mov edx, ebx
mov rcx, rbp
call fcn.00877010
mov rcx, qword [r12 + 0x10]
mov edx, dword [rsp + 0x68]
mov r8d, ebx
mov r9, qword [rsp + 0xd0]
call fcn.0088b940
movzx eax, byte [rbp]
add ebx, dword [rsp + 0xb0]
cmp al, 0xb0
jne 0x8e69ae
movzx eax, byte [rbp + 2]
cmp al, 0xb1
je 0x8e9ab6
cmp al, 0x8a
je 0x8e93d1
mov r8, qword [rsp + 0xc0]
lea rdx, [rdi + 0x60]
mov rcx, rdi
call fcn.00878670
mov rdx, qword [rsp + 0x128]
test rdx, rdx
je 0x8e69e9
mov rcx, qword [rsp + 0x40]
call fcn.00871b00
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x8e6a03
mov rcx, qword [rsp + 0x40]
mov rdx, rax
call fcn.00871b00
mov eax, dword [rdi + 0x40]
test eax, eax
jne 0x8e6a14
mov eax, dword [r13 + 0x98]
mov dword [rdi + 0x40], eax
test ebx, ebx
je 0x8e7435
mov eax, dword [rsp + 0x60]
mov ebp, dword [rsp + 0xf4]
lea r11d, [rax + rax]
mov eax, dword [rsp + 0x88]
add ebp, r11d
test eax, eax
jne 0x8e739a
mov eax, dword [rsp + 0xb8]
movsxd rbp, ebp
mov r8d, r15d
mov rcx, r13
lea r10, [0x0112c769]
mov dword [rsp + 0x28], ebx
mov r9d, dword [rsp + 0xdc]
mov dword [rsp + 0x20], eax
movzx edx, byte [r10 + rbp]
call fcn.0088b6b0
test r14d, r14d
jne 0x8e740c
nop word [rax + rax]
mov eax, dword [rsi + 0x38]
test eax, 0x40000
jne 0x8e86a8
test al, 0x40
je 0x8e80b0
mov rax, qword [rsp + 0x48]
test byte [rax + 0x44], 0x20
jne 0x8e80b0
mov ebp, 1
mov eax, dword [rdi]
test eax, eax
je 0x8e97b8
mov eax, dword [rsi + 0x38]
test ah, 0x10
je 0x8e8558
mov byte [rdi + 0x39], 0xb6
mov edx, eax
mov dword [rdi + 0x3c], r15d
shr edx, 0x10
and edx, 1
mov byte [rdi + 0x3a], dl
test al, 0xf
jne 0x8e6adb
mov byte [rdi + 0x3b], 1
test ebp, ebp
mov eax, 0
cmove rax, qword [rsp + 0x70]
cmp ebp, 1
sbb esi, esi
mov qword [rsp + 0x70], rax
add esi, 2
nop dword [rax]
mov rax, qword [rsp + 0x78]
mov r15d, dword [rsp + 0xac]
lea rbp, [rax*8]
sub rbp, rax
shl rbp, 4
mov qword [rsp + 0x88], rbp
mov rbp, qword [rsp + 0x48]
nop dword [rax]
mov eax, dword [rbp + 0x8c]
mov r14, qword [rbp + 0x98]
test eax, eax
jle 0x8e7550
sub eax, 1
mov dword [rsp + 0x40], esi
xor ebx, ebx
add rax, 1
lea rdx, [rax*8]
sub rdx, rax
lea rax, [r14 + rdx*8]
mov qword [rsp + 0x60], rax
mov rax, r14
mov r14, r13
mov r13, rax
jmp 0x8e6c4d
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x88]
mov r11, qword [r13]
test byte [rsi + rcx + 0x44], 8
je 0x8e6b93
test byte [r11 + 4], 1
je 0x8e6c42
cmp dword [rsp + 0x40], 1
je 0x8e74d0
cmp dword [rsp + 0x40], 3
jne 0x8e74f3
test ah, 2
je 0x8e7510
mov r8d, dword [rdi + 0x2c]
test r8d, r8d
je 0x8e7510
mov eax, r8d
mov dword [rsp + 0x20], 0
mov rcx, r14
and eax, 1
mov qword [rsp + 0x68], r11
cmp eax, 1
sbb edx, edx
xor r9d, r9d
shr r8d, 1
and edx, 0xfffffffe
add edx, 0x14
call fcn.0088b640
mov r11, qword [rsp + 0x68]
mov r8d, r15d
mov rcx, r12
mov esi, eax
mov r9d, 0x10
mov rdx, r11
call fcn.008da710
test esi, esi
je 0x8e6c3c
mov edx, dword [r14 + 0x98]
mov rcx, qword [r14]
lea eax, [rdx - 1]
cmovs esi, eax
cmp byte [rcx + 0x67], 0
lea rax, [0x011ab4c0]
jne 0x8e6c39
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x90]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
or word [r13 + 0x12], 4
add r13, 0x38
cmp r13, qword [rsp + 0x60]
je 0x8e6c73
movzx eax, word [r13 + 0x12]
test al, 6
jne 0x8e6c42
mov rdx, qword [r13 + 0x30]
test qword [rdi + 0x60], rdx
je 0x8e6b70
or byte [rbp + 0x4c], 2
add r13, 0x38
cmp r13, qword [rsp + 0x60]
jne 0x8e6c4d
mov r13, r14
test ebx, ebx
je 0x8e7540
mov esi, ebx
jmp 0x8e6b28
mov eax, dword [rsp + 0xa8]
lea ebx, [rax - 1]
imul ebx, ebx, 0x68
add ebx, 0x3d0
movsxd rbx, ebx
lea rdx, [rbx + 0x70]
jmp 0x8e5ac8
mov rcx, qword [rsp + 0x50]
mov rdx, r12
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x280]
call fcn.00878c60
nop dword [rax]
lea rdx, [r14 + 0x68]
mov rcx, r14
call fcn.0087e290
mov eax, dword [r14 + 0x40]
mov rcx, qword [rsp + 0xa0]
mov rdx, r14
xor r14d, r14d
mov dword [r13 + 0xc8], eax
call fcn.00881c10
mov rax, r14
add rsp, 0x238
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
or rdi, qword [r12 + 8]
cmp eax, 0x65
jne 0x8e6ca7
lea rdx, str.abbreviated_query_algorithm_search
mov ecx, 0x1c
call fcn.00892c60
add r13d, 1
cmp rbp, rbx
jbe 0x8e5fc1
mov eax, dword [rsp + 0x154]
add rbx, 0x70
jmp 0x8e5f30
cmp rbp, rbx
jbe 0x8e85b0
mov r10, rbx
xor r15d, r15d
jmp 0x8e6d89
add r10, 0x70
mov edx, dword [rax + 0x44]
mov eax, 1
cmp r11d, edx
je 0x8e6d81
mov rcx, rsi
call fcn.00878740
or r15, rax
cmp rbp, r10
jbe 0x8e6dc0
mov rax, r10
test r15, r15
jne 0x8e6d68
movzx edx, byte [r10 + 0x3c]
add r10, 0x70
and edx, 0xa
jne 0x8e6d6c
cmp rbp, r10
jbe 0x8e6dc0
movzx edx, byte [r10 + 0x3c]
mov rax, r10
add r10, 0x70
and edx, 0xa
jne 0x8e6d6c
cmp rbp, r10
ja 0x8e6da4
nop word [rax + rax]
mov rcx, qword [rsp + 0x48]
mov r8, r15
mov rdx, r14
call fcn.00891bb0
jmp 0x8e5f93
mov rcx, qword [rsp + 0x48]
mov r8, r15
mov rdx, r14
call fcn.008a5880
or rdi, qword [r12 + 8]
test eax, eax
je 0x8e5fb2
jmp 0x8e6d15
mov rdx, qword [rbx]
jmp 0x8e5e02
mov rax, qword [rsp + 0x288]
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x58], r14
lea rsi, [rax + 0x28]
nop
mov rdi, qword [rsp + 0x58]
mov edx, dword [rsi + 0x24]
movsxd rax, dword [rdi + 0x264]
lea ecx, [rax + 1]
mov dword [rdi + 0x264], ecx
mov dword [rdi + rax*4 + 0x268], edx
movsxd rdx, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x288]
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
test byte [rdi + rax + 0x48], 4
je 0x8e6fd0
mov r14, qword [rsi + 0x40]
test r14, r14
je 0x8e6fd0
mov ecx, dword [r14]
test ecx, ecx
jle 0x8e6fd0
mov rdi, qword [rsi]
xor ebp, ebp
xor r12d, r12d
nop word cs:[rax + rax]
movsx edx, word [rdi + 0x36]
mov r9d, ebp
cmp r12d, edx
jge 0x8e7030
movsxd rax, r12d
mov rcx, qword [rdi + 8]
mov ebx, r12d
lea r11, [rax + rax*2]
shl r11, 3
jmp 0x8e6ed7
add ebx, 1
add r11, 0x18
cmp ebx, edx
je 0x8e7030
test byte [rcx + r11 + 0x12], 2
je 0x8e6ec8
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xa7
mov qword [rsp + 0x48], r11
call fcn.00888ba0
mov r11, qword [rsp + 0x48]
test rax, rax
mov r15, rax
je 0x8e6fd0
mov eax, dword [rsi + 0x24]
lea r12d, [rbx + 1]
mov word [r15 + 0x30], bx
mov qword [r15 + 0x40], rdi
mov dword [r15 + 0x2c], eax
test byte [rdi + 0x30], 0x60
je 0x8e7000
mov rax, qword [rdi + 8]
test byte [rax + r11 + 0x12], 0x60
je 0x8e7000
movzx ecx, word [rdi + 0x36]
mov eax, 1
mov rdx, 0xffffffffffffffff
shl rax, cl
sub rax, 1
cmp cx, 0x40
cmovge rax, rdx
or qword [rsi + 0x38], rax
mov rax, rbp
shl rax, 5
mov rdx, qword [r14 + rax + 8]
test rdx, rdx
je 0x8e6f7d
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
call fcn.00887670
mov rdx, rax
mov r8, rdx
xor r9d, r9d
mov edx, 0xae
mov rcx, r13
call fcn.00898450
mov r8, r15
mov edx, 0x35
mov rcx, r13
mov r9, rax
call fcn.00898450
mov r9, rax
test byte [rsi + 0x1c], 8
jne 0x8e7020
mov rcx, qword [rsp + 0x80]
mov r8d, 1
mov rdx, r9
add rbp, 1
call fcn.008896c0
cmp dword [r14], ebp
jg 0x8e6ea0
nop
mov rdi, qword [rsp + 0x288]
add dword [rsp + 0x40], 1
add rsi, 0x70
mov eax, dword [rsp + 0x40]
cmp dword [rdi], eax
jg 0x8e6e30
mov r15, qword [rsp + 0x78]
mov r14, qword [rsp + 0x58]
jmp 0x8e5ca0
cmp ebx, 0x3f
mov ecx, 0x3f
mov eax, 1
cmovle ecx, ebx
shl rax, cl
jmp 0x8e6f56
mov edx, dword [rsi + 0x24]
mov rcx, rax
call fcn.0086cca0
jmp 0x8e6fac
mov r8, qword [rdi]
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, r13
call fcn.00885d50
jmp 0x8e6fd0
test rax, rax
je 0x8e6cf2
mov rcx, qword [rsp + 0xa0]
mov rdx, rax
xor r14d, r14d
call fcn.00871b00
jmp 0x8e6cf2
mov rax, qword [rsp + 0xa0]
test byte [rax + 0x60], 0x10
jne 0x8e5c8f
mov byte [r14 + 0x4b], 1
jmp 0x8e5c8f
mov rdx, qword [rsi + 0x28]
cmp dword [rdx], 1
jne 0x8e5d04
mov rcx, qword [rdx + 0x28]
cmp byte [rcx + 0x3f], 1
jne 0x8e5d04
mov ecx, dword [r14 + 0x8c]
mov ebx, dword [rdx + 0x4c]
test ecx, ecx
jle 0x8e70f7
lea r9d, [rcx - 1]
mov r8, qword [r14 + 0x98]
lea rcx, [r9*8]
sub rcx, r9
lea rdx, [r8 + 0x12]
lea rcx, [r8 + rcx*8 + 0x4a]
nop dword [rax + rax]
test byte [rdx], 4
jne 0x8e70ee
cmp ebx, dword [rdx + 0xa]
jne 0x8e5d04
add rdx, 0x38
cmp rcx, rdx
jne 0x8e70e0
mov rsi, qword [rsp + 0x2a8]
mov rcx, qword [rsi + 0x48]
test rcx, rcx
je 0x8ea0c2
mov r8d, dword [rcx]
test r8d, r8d
jle 0x8ea0c2
sub r8d, 1
lea rdx, [rcx + 8]
shl r8, 5
lea r8, [rcx + r8 + 0x28]
jmp 0x8e7150
cmp ebx, dword [rcx + 0x2c]
jne 0x8e5d04
test byte [rdx + 0x10], 2
jne 0x8e5d04
add rdx, 0x20
cmp r8, rdx
je 0x8ea0c2
mov rcx, qword [rdx]
cmp byte [rcx], 0xa7
je 0x8e7130
jmp 0x8e5d04
mov rax, qword [rsp + 0xa0]
test byte [rax + 0x31], 0x10
je 0x8e603a
mov qword [r14 + 0x70], 0xffffffffffffffff
jmp 0x8e603a
mov rax, qword [rsp + 0x288]
cmp dword [rax], 1
jne 0x8e7373
mov rax, qword [rsp + 0x288]
mov r12d, dword [rax + 0x4c]
mov r9, qword [rax + 0x28]
mov rax, qword [rsp + 0x2a0]
mov eax, dword [rax]
test eax, eax
jle 0x8e7219
mov rsi, qword [rsp + 0x2a0]
sub eax, 1
shl rax, 5
lea rcx, [rsi + 8]
lea r8, [rsi + rax + 0x28]
nop word [rax + rax]
mov rax, qword [rcx]
test rax, rax
jne 0x8e71ed
jmp 0x8e7210
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x8e7210
mov edx, dword [rax + 4]
test edx, 0x41000
je 0x8e96a8
and edx, 0x40000
jne 0x8e71e0
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x8e71ed
nop dword [rax]
add rcx, 0x20
cmp r8, rcx
jne 0x8e71d0
mov rsi, qword [r9 + 0x10]
test rsi, rsi
je 0x8e7373
mov qword [rsp + 0x280], r13
mov rdi, qword [rsp + 0x2a0]
mov r13d, r12d
mov qword [rsp + 0x40], r15
mov r12, qword [rsp + 0x80]
mov qword [rsp + 0x48], r14
jmp 0x8e725d
mov rsi, qword [rsi + 0x28]
test rsi, rsi
je 0x8e7361
cmp byte [rsi + 0x62], 0
je 0x8e7250
cmp qword [rsi + 0x48], 0
jne 0x8e7250
cmp word [rsi + 0x5e], 0
je 0x8e7345
xor ebp, ebp
jmp 0x8e7294
movzx eax, word [rsi + 0x5e]
add rbp, 1
lea r14d, [r15 + 1]
cmp eax, ebp
jle 0x8e733c
mov qword [rsp + 0x28], rsi
mov r8d, ebp
mov edx, r13d
mov rcx, r12
mov dword [rsp + 0x20], 2
mov r9, 0xffffffffffffffff
mov r15d, ebp
mov r14d, ebp
call fcn.008a44b0
test rax, rax
jne 0x8e7280
mov rax, qword [rsi + 0x40]
mov r10d, dword [rdi]
mov r9, qword [rax + rbp*8]
test r10d, r10d
jle 0x8e7338
lea r8, [rbp + rbp]
xor ebx, ebx
nop dword [rax + rax]
mov rax, rbx
shl rax, 5
mov r10, qword [rdi + rax + 8]
mov rax, r10
test r10, r10
jne 0x8e730d
jmp 0x8e7330
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x8e7330
mov edx, dword [rax + 4]
test edx, 0x41000
je 0x8e95f0
and edx, 0x40000
jne 0x8e7300
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x8e730d
nop dword [rax]
add rbx, 1
cmp dword [rdi], ebx
jg 0x8e72e0
movzx eax, word [rsi + 0x5e]
cmp eax, r14d
jne 0x8e7250
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x280]
mov byte [r14 + 0x4b], 1
jmp 0x8e5e5d
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x280]
cmp qword [rsp + 0x298], 0
jne 0x8e5e5d
mov rax, qword [rsp + 0x2a0]
or word [r14 + 0x44], 0x80
mov qword [r14 + 0x10], rax
jmp 0x8e5e5d
mov edx, 0x14
mov rcx, r13
mov dword [rsp + 0x68], r11d
movsxd rbp, ebp
mov eax, dword [r13 + 0x98]
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x88]
lea r9d, [rax + 3]
call fcn.0088b640
mov dword [rsp + 0x28], ebx
mov r8d, r15d
mov rcx, r13
mov eax, dword [rsp + 0xb8]
lea r10, [0x0112c769]
mov r9d, dword [rsp + 0xdc]
movzx edx, byte [r10 + rbp]
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x20], eax
call fcn.0088b6b0
test r14d, r14d
mov r10, qword [rsp + 0x40]
mov r11d, dword [rsp + 0x68]
je 0x8e7455
mov eax, dword [r13 + 0x98]
mov rcx, qword [r13]
test r14d, r14d
lea edx, [rax - 1]
cmovs r14d, edx
cmp byte [rcx + 0x67], 0
lea rdx, [0x011ab4c0]
je 0x8e94af
mov dword [rdx + 8], eax
mov r14d, dword [rsp + 0x88]
test r14d, r14d
je 0x8e6a80
mov eax, dword [rsp + 0x60]
lea r10, [0x0112c769]
lea r11d, [rax + rax]
mov eax, dword [r13 + 0x98]
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x12
mov r8d, dword [rsp + 0x88]
mov qword [rsp + 0x68], r10
lea r9d, [rax + 2]
mov dword [rsp + 0x40], r11d
call fcn.0088b640
mov ecx, dword [rsp + 0xe0]
mov r8d, r15d
mov r11d, dword [rsp + 0x40]
mov r10, qword [rsp + 0x68]
mov r9d, dword [rsp + 0xdc]
lea eax, [r11 + rcx]
add ebx, ecx
mov rcx, r13
cdqe
mov dword [rsp + 0x28], ebx
movzx edx, byte [r10 + rax]
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x20], eax
call fcn.0088b6b0
jmp 0x8e6a80
mov edx, dword [rdi + 4]
mov r8, qword [rsp + 0x70]
mov rcx, r11
mov qword [rsp + 0x68], r11
call fcn.00876580
test eax, eax
je 0x8e7530
movzx eax, word [r13 + 0x12]
mov r11, qword [rsp + 0x68]
test ah, 0x10
je 0x8e6ba9
test ebx, ebx
mov eax, 3
cmove ebx, eax
jmp 0x8e6c42
mov r9d, 0x10
mov r8d, r15d
mov rdx, r11
mov rcx, r12
call fcn.008da710
jmp 0x8e6c3c
mov ebx, 2
jmp 0x8e6c42
mov rax, qword [rsp + 0x48]
mov r14, qword [rax + 0x98]
nop dword [rax]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x94]
test eax, eax
jle 0x8e76c8
sub eax, 1
mov ebx, dword [rsp + 0x90]
mov r15, r12
add rax, 1
lea rdx, [rax*8]
sub rdx, rax
mov rax, qword [rsp + 0x78]
lea rsi, [r14 + rdx*8]
lea rbp, [rax*8]
sub rbp, rax
shl rbp, 4
mov r12, rbp
nop word [rax + rax]
test byte [r14 + 0x12], 6
jne 0x8e76b8
movzx eax, word [r14 + 0x14]
test al, 0x82
je 0x8e76b8
test ah, 8
je 0x8e76b8
cmp ebx, dword [r14 + 0x1c]
jne 0x8e76b8
mov rax, qword [rsp + 0x50]
test byte [rax + r12 + 0x44], 8
jne 0x8e76b8
mov rbp, qword [r14]
mov r8d, dword [r14 + 0x20]
mov edx, ebx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x83
mov r9, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x80]
call fcn.008a44b0
test rax, rax
je 0x8e76b8
test byte [rax + 0x12], 4
jne 0x8e76b8
mov rdx, qword [rax]
test byte [rax + 0x14], 1
je 0x8e763a
test byte [rdx + 5], 8
je 0x8e763a
mov rcx, qword [rdx + 0x20]
mov rcx, qword [rcx + 0x20]
cmp dword [rcx], 1
jg 0x8e76b8
movdqu xmm0, xmmword [rdx]
mov r8d, dword [rsp + 0xac]
mov rcx, r15
mov qword [rsp + 0x40], rax
mov r9d, 0x10
movups xmmword [rsp + 0x1c0], xmm0
movdqu xmm1, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x1d0], xmm1
movdqu xmm2, xmmword [rdx + 0x20]
movups xmmword [rsp + 0x1e0], xmm2
movdqu xmm3, xmmword [rdx + 0x30]
movups xmmword [rsp + 0x1f0], xmm3
mov rdx, qword [rdx + 0x40]
mov qword [rsp + 0x200], rdx
mov rdx, qword [rbp + 0x10]
mov qword [rsp + 0x1d0], rdx
lea rdx, [rsp + 0x1c0]
call fcn.008da710
mov rax, qword [rsp + 0x40]
or word [rax + 0x12], 4
nop word [rax + rax]
add r14, 0x38
cmp rsi, r14
jne 0x8e75a0
mov r12, r15
mov r9d, dword [rdi]
test r9d, r9d
jne 0x8e7778
mov rax, qword [rdi + 0x60]
mov qword [rsp + 0x98], rax
mov eax, dword [rdi + 0x18]
mov rsi, qword [rsp + 0x48]
add rdi, 0x68
add dword [rsp + 0x58], 1
mov dword [rsi + 0x38], eax
mov eax, dword [rsp + 0x58]
cmp eax, dword [rsp + 0xa8]
jne 0x8e6348
mov r15, r13
mov r14, rsi
mov eax, dword [r15 + 0x98]
mov dword [r14 + 0x58], eax
jmp 0x8e6cf2
mov eax, dword [rdx + 0x38]
mov ebx, dword [rdx + 0x3c]
xor r9d, r9d
mov edx, 0xd
mov rcx, r13
mov esi, 2
mov dword [rsp + 0x20], eax
mov r8d, ebx
call fcn.0088b640
mov r9d, ebp
mov r8d, ebx
mov edx, 0xe
mov dword [rsp + 0x20], 0
mov rcx, r13
call fcn.0088b640
mov byte [rdi + 0x39], 0xb
mov dword [rdi + 0x40], eax
mov qword [rsp + 0x70], 0
jmp 0x8e6af8
mov eax, dword [r13 + 0x98]
mov r8d, 1
mov edx, 0x47
mov rcx, r13
mov dword [rdi + 0x1c], eax
mov dword [rsp + 0x20], 0
call fcn.0088b640
mov rax, qword [rsp + 0x48]
mov r10d, dword [rax + 0x94]
mov rbx, qword [rax + 0x98]
mov rax, qword [rdi + 0x60]
test r10d, r10d
jle 0x8e76d8
mov r14d, dword [rsp + 0xac]
mov esi, dword [rsp + 0xc8]
mov rbp, qword [rsp + 0x48]
nop dword [rax]
test byte [rbx + 0x12], 6
jne 0x8e7801
test qword [rbx + 0x30], rax
jne 0x8e7801
mov rdx, qword [rbx]
mov r9d, 0x10
mov r8d, r14d
mov rcx, r12
call fcn.008da710
or word [rbx + 0x12], 4
mov rax, qword [rdi + 0x60]
add esi, 1
add rbx, 0x38
cmp esi, dword [rbp + 0x94]
jl 0x8e77d8
jmp 0x8e76d8
mov r9, qword [rsp + 0x98]
mov edx, dword [rsp + 0x58]
mov r8, rdi
mov rcx, qword [rsp + 0x48]
call fcn.008e2c40
jmp 0x8e63b0
mov r8d, dword [r13 + 0x34]
mov edx, 0x65
lea eax, [r8 + 1]
mov dword [r13 + 0x34], eax
mov dword [rbx + 8], r8d
jmp 0x8e62a0
movzx ebp, word [rsi + 0x3c]
mov rcx, r12
lea edx, [rbp + 2]
call fcn.00877340
mov ecx, dword [rdi + 0xc]
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xb0], ecx
test ebp, ebp
je 0x8e7938
xor ebx, ebx
lea r15d, [rax + 2]
jmp 0x8e78c6
cmp rbx, 0x1f
jbe 0x8e7a88
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x60]
mov r8, rdi
mov rdx, r14
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.008e4ce0
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0xb0], eax
add rbx, 1
cmp ebp, ebx
jle 0x8e7938
mov rdx, qword [rsi + 0x48]
mov r9d, ebx
lea eax, [r15 + rbx]
mov r14, qword [rdx + rbx*8]
test r14, r14
je 0x8e78be
test byte [r14 + 0x14], 1
jne 0x8e7890
mov rdx, qword [r14]
mov r9d, 1
mov r8d, eax
mov rcx, r12
mov rdx, qword [rdx + 0x18]
call fcn.008dd620
cmp byte [r14 + 0x17], 0x4a
jne 0x8e78be
test byte [rsi + 0x1c], 2
je 0x8e78be
mov rax, qword [rsp + 0x48]
xor r8d, r8d
mov edx, 0x47
mov rcx, r13
add rbx, 1
mov rax, qword [rax + 0x28]
mov r9d, dword [rax + 0xc]
mov dword [rsp + 0x20], 0
call fcn.0088b640
cmp ebp, ebx
jg 0x8e78c6
nop dword [rax + rax]
mov r15d, dword [rsp + 0xb8]
mov r8d, dword [rsi + 0x18]
mov edx, 0x47
mov rcx, r13
mov dword [rsp + 0x20], 0
mov r9d, r15d
call fcn.0088b640
lea r9d, [r15 + 1]
mov r8d, ebp
mov rcx, r13
mov dword [rsp + 0x20], 0
mov edx, 0x47
call fcn.0088b640
movzx eax, byte [rsi + 0x1c]
mov r14, qword [rsi + 0x28]
mov rcx, r13
mov dword [rsp + 0x20], r15d
mov r9d, dword [rsp + 0xb0]
mov edx, 9
and eax, 1
mov r8d, dword [rsp + 0x90]
cmp al, 1
sbb ebx, ebx
call fcn.0088b640
or ebx, 0xfffffff9
mov r8, r14
mov rcx, r13
mov edx, eax
mov r9d, ebx
call fcn.00886c10
mov rax, qword [rsp + 0x40]
and byte [rsi + 0x1c], 0xfe
cmp byte [rax + 0x67], 0
je 0x8e79d3
mov qword [rsi + 0x28], 0
mov eax, dword [rsp + 0x90]
mov dword [rdi + 0x3c], eax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x4a], 1
sbb eax, eax
xor ebx, ebx
and eax, 0xffffff88
sub eax, 0x4a
mov byte [rdi + 0x39], al
mov eax, dword [r13 + 0x98]
mov dword [rdi + 0x40], eax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x60], rax
test ebp, ebp
jne 0x8e7a33
jmp 0x8e7a70
test byte [r14 + 0x14], 1
je 0x8e7a2b
cmp ebx, 0x1f
jle 0x8e7a5a
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x67], 0
je 0x8e7ef8
add rbx, 1
cmp ebp, ebx
jle 0x8e7a70
mov rax, qword [rsi + 0x48]
mov r15d, ebx
mov ecx, ebx
mov r14, qword [rax + rbx*8]
cmp rbx, 0xf
ja 0x8e7a10
movzx eax, word [rsi + 0x22]
bt eax, ebx
jb 0x8e7d40
test byte [r14 + 0x14], 1
je 0x8e7a2b
mov eax, 1
shl eax, cl
test dword [rsi + 0x30], eax
je 0x8e7a1c
add rbx, 1
cmp ebp, ebx
jg 0x8e7a33
nop
mov qword [rsp + 0x70], 0
mov esi, 2
jmp 0x8e6af8
mov edx, 1
mov ecx, ebx
shl edx, cl
test dword [rsi + 0x30], edx
je 0x8e789a
mov r8d, dword [r12 + 0x34]
mov dword [rsp + 0x88], eax
mov rcx, r12
mov eax, dword [r12 + 0x38]
lea edx, [r8 + 1]
mov dword [rsp + 0x68], r8d
lea r9d, [rax + 1]
mov dword [r12 + 0x34], edx
mov rdx, qword [r14]
mov dword [r12 + 0x38], r9d
mov dword [rsp + 0x70], r9d
call fcn.008d8b70
mov r9d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x68]
mov rcx, r13
mov eax, dword [rsp + 0x88]
mov edx, 0xad
mov dword [rsp + 0x20], r9d
mov r9d, eax
call fcn.0088b640
jmp 0x8e78be
mov eax, dword [r12 + 0x38]
xor r8d, r8d
mov edx, 0x47
mov rcx, r13
lea r9d, [rax + 1]
mov dword [r12 + 0x38], r9d
mov dword [rdi], r9d
mov dword [rsp + 0x20], 0
call fcn.0088b640
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x8e64d8
nop dword [rax]
xor eax, eax
jmp 0x8e64fd
test dl, 0x20
je 0x8e8520
mov rax, qword [rsi + 0x48]
mov rbx, qword [rax]
mov eax, 1
and edx, 0x10
jne 0x8e84e8
mov r14d, dword [rsp + 0x60]
test r14d, r14d
jne 0x8e8988
mov qword [rsp + 0x70], 0
test rbx, rbx
je 0x8e9ebc
mov dword [rsp + 0x1c0], 0x1917181a
mov rsi, qword [rbx]
mov rdx, qword [rsi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xb0
jne 0x8e7b9b
movzx eax, byte [rdx + 2]
cmp al, 0xb1
je 0x8e9a56
cmp al, 0x8a
je 0x8e9369
lea r8, [rsp + 0x190]
mov rcx, r12
call fcn.008ddb70
lea rdx, [rdi + 0x60]
mov r8, rbx
mov rcx, rdi
mov r14d, eax
call fcn.00878670
movzx eax, byte [rsi]
sub eax, 0x36
cdqe
movzx edx, byte [rsp + rax + 0x1c0]
mov dword [rsp + 0x20], r14d
mov r8d, dword [rsp + 0x90]
mov r9d, ebp
mov rcx, r13
call fcn.0088b640
mov edx, dword [rsp + 0x190]
test edx, edx
je 0x8e7c08
mov rcx, r12
call fcn.00877320
mov esi, 5
sub esi, dword [rsp + 0x60]
cmp qword [rsp + 0x70], 0
je 0x8e85d0
mov rax, qword [rsp + 0x70]
mov r9d, 1
mov rcx, r12
mov r14, qword [rax]
mov eax, dword [r12 + 0x38]
lea ebx, [rax + 1]
mov rdx, qword [r14 + 0x18]
mov dword [r12 + 0x38], ebx
mov r8d, ebx
call fcn.008dd620
mov rdx, qword [r14 + 0x18]
movzx eax, byte [rdx]
cmp al, 0xb0
jne 0x8e7c56
movzx eax, byte [rdx + 2]
cmp al, 0xb1
je 0x8e9b20
cmp al, 0x8a
je 0x8e8616
movzx ecx, byte [r14]
sub ecx, 0x36
and ecx, 0xfd
jne 0x8e8629
cmp dword [rsp + 0x60], 1
sbb r14d, r14d
and r14d, 2
add r14d, 0x37
cmp al, 0xb1
je 0x8e9b18
cmp al, 0x8a
je 0x8e9a9e
mov r8, qword [rsp + 0x70]
lea rdx, [rdi + 0x60]
mov rcx, rdi
call fcn.00878670
mov eax, dword [r13 + 0x98]
mov byte [rdi + 0x39], sil
mov edx, 0x86
mov rcx, r13
mov r8d, dword [rsp + 0x90]
mov dword [rdi + 0x40], eax
mov eax, dword [r12 + 0x38]
mov dword [rdi + 0x3c], r8d
lea esi, [rax + 1]
mov dword [r12 + 0x38], esi
mov r9d, esi
mov dword [rsp + 0x20], 0
call fcn.0088b640
mov dword [rsp + 0x20], esi
mov r9d, ebp
mov r8d, ebx
mov edx, r14d
mov rcx, r13
call fcn.0088b640
movsxd rax, dword [r13 + 0x98]
test eax, eax
jle 0x8e7a70
mov r11, qword [r13 + 0x90]
lea rax, [rax + rax*2]
mov ebx, 0x53
mov qword [rsp + 0x70], 0
mov esi, 2
lea rax, [r11 + rax*8]
mov word [rax - 0x16], bx
jmp 0x8e6af8
lea rdx, [rdi + 0x60]
mov r8, r14
mov rcx, rdi
call fcn.00878670
jmp 0x8e7a2b
and dh, 0x20
je 0x8e8530
mov eax, dword [r12 + 0x34]
mov rdx, qword [rsp + 0x78]
mov r15, qword [rsp + 0x50]
mov dword [rsp + 0xb0], eax
add eax, 1
mov dword [r12 + 0x34], eax
mov eax, dword [r12 + 0x38]
lea ecx, [rax + 1]
mov eax, dword [r12 + 0x44]
mov dword [r12 + 0x38], ecx
sub eax, 1
mov dword [rsp + 0xd8], ecx
mov dword [r12 + 0x44], eax
mov dword [rsp + 0xd0], eax
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
mov rax, qword [r15 + rax + 0x28]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsi + 0x48]
mov rax, qword [rax]
mov r14, qword [rax + 0x20]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x48]
mov byte [rdi + 0x39], 0x43
mov dword [rdi + 0x3c], ecx
movzx eax, byte [rax + 0x48]
cmp al, 1
ja 0x8e91bb
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 8]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x48]
test byte [rax + 0x44], 0x10
jne 0x8e8a50
mov rax, qword [rsp + 0xc0]
test byte [rax + 0x30], 0x80
je 0x8e957e
mov rax, qword [rsp + 0xc0]
mov r15, qword [rax + 0x10]
test r15, r15
jne 0x8e7e45
jmp 0x8ea150
mov r15, qword [r15 + 0x28]
test r15, r15
je 0x8ea143
movzx eax, byte [r15 + 0x64]
and eax, 3
cmp al, 2
jne 0x8e7e38
mov r8d, dword [r12 + 0x34]
movzx r9d, word [r15 + 0x5e]
mov edx, 0x74
mov rcx, r13
lea eax, [r8 + 1]
mov dword [rsp + 0xec], r8d
mov dword [r12 + 0x34], eax
mov dword [rsp + 0x20], 0
call fcn.0088b640
mov rdx, r15
mov rcx, r12
call fcn.0089bad0
mov eax, dword [r12 + 0x38]
add eax, 1
mov dword [rsp + 0xe8], eax
mov dword [r12 + 0x38], eax
jmp 0x8e8a66
lea rax, [rdi*8]
mov r8d, dword [rsp + 0x2b8]
sub rax, rdi
shl rax, 4
mov rax, qword [r15 + rax + 0x28]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x8e7edd
jmp 0x8e7ee2
mov rax, qword [rax + 0x28]
add r8d, 1
test rax, rax
je 0x8e7ee2
cmp r10, rax
jne 0x8e7ed0
mov dword [r14 + 0x34], r8d
mov edx, 0x70
mov dword [rbx + 8], r8d
jmp 0x8e62a0
mov edx, dword [rdi + 0x48]
test edx, edx
jle 0x8e7fad
mov r8, qword [rdi + 0x50]
mov rax, qword [r13]
sub edx, 1
lea rdx, [rdx + rdx*4]
movzx ecx, byte [rax + 0x67]
lea rax, [r8 + 4]
lea r8, [r8 + rdx*4 + 0x18]
mov edx, dword [rsp + 0xb8]
lea r10d, [rdx + r15 + 2]
jmp 0x8e7f4c
cmp r9b, 0x86
jne 0x8e7f43
mov r9d, r10d
cmp dword [rdx + 8], r10d
je 0x8e9708
add rax, 0x14
cmp r8, rax
je 0x8e7fad
mov r9d, dword [rax]
test r9d, r9d
jns 0x8e7f5f
mov edx, dword [r13 + 0x98]
lea r9d, [rdx - 1]
lea rdx, [0x011ab4c0]
test cl, cl
jne 0x8e7f7c
mov rdx, qword [r13 + 0x90]
movsxd r9, r9d
lea r9, [r9 + r9*2]
lea rdx, [rdx + r9*8]
movzx r9d, byte [rdx]
cmp r9b, 0x5d
jne 0x8e7f30
mov r11d, r10d
cmp dword [rdx + 0xc], r10d
jne 0x8e7f43
mov r9d, dword [rdx + 8]
mov r10d, 0x5d
mov r8d, dword [rdx + 4]
mov dword [rsp + 0x20], r11d
mov edx, r10d
mov rcx, r13
call fcn.0088b640
xor r9d, r9d
xor r8d, r8d
mov edx, 0x35
mov rcx, r12
call fcn.00898450
mov r10, rax
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x67], 0
jne 0x8e8608
mov rdx, qword [r14]
mov eax, dword [r14 + 0x24]
mov rdx, qword [rdx + 0x10]
test eax, eax
jle 0x8e7ff2
sub eax, 1
cdqe
shl rax, 5
add rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
mov qword [r10 + 0x10], rdx
mov r8, qword [rsp + 0x60]
xor r9d, r9d
mov edx, 0xb0
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x1c0], 0
mov dword [rsp + 0x1c8], 0
call fcn.00888ba0
mov r10, qword [rsp + 0x68]
mov qword [r10 + 0x18], rax
test rax, rax
je 0x8e8060
mov ecx, dword [rsp + 0xb8]
mov r8d, dword [rdi + 0x18]
mov r9d, 0x10
lea edx, [rcx + r15 + 2]
mov rcx, r12
mov dword [rax + 0x2c], edx
mov rdx, r10
call fcn.008da710
mov r10, qword [rsp + 0x68]
mov qword [r10 + 0x10], 0
mov rcx, qword [rsp + 0x40]
mov rdx, r10
call fcn.008815a0
jmp 0x8e7a2b
mov rax, qword [rsi]
mov r8d, dword [rsi + 0x28]
xor r9d, r9d
mov edx, r12d
mov rcx, r13
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x20], rax
call fcn.0088d6a0
mov r11, qword [rsp + 0x60]
mov eax, dword [r11 + 0x38]
jmp 0x8e6240
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x18]
test byte [rax + 0x30], 0x80
je 0x8e87c0
cmp dword [rsp + 0x90], r15d
je 0x8e81b7
mov rbp, qword [rax + 0x10]
test rbp, rbp
jne 0x8e80ed
jmp 0x8ea14b
mov rbp, qword [rbp + 0x28]
test rbp, rbp
je 0x93313c
movzx eax, byte [rbp + 0x64]
and eax, 3
cmp al, 2
jne 0x8e80e0
movzx edx, word [rbp + 0x5e]
mov rcx, r12
call fcn.00877340
cmp word [rbp + 0x5e], 0
mov ebx, eax
je 0x8ea0bb
mov qword [rsp + 0x40], rsi
mov rsi, rbp
mov rbp, qword [rsp + 0x70]
xor r14d, r14d
nop dword [rax]
mov rax, qword [rsi + 8]
movzx edx, word [rax + r14*2]
movzx eax, word [rbp + 0x60]
test eax, eax
je 0x8e96d8
mov rcx, qword [rbp + 8]
xor r9d, r9d
jmp 0x8e815d
add r9, 1
cmp eax, r9d
jle 0x8e96d8
cmp dx, word [rcx + r9*2]
jne 0x8e8150
movsx r9d, r9w
lea eax, [rbx + r14]
mov r8d, r15d
mov edx, 0x5d
mov rcx, r13
mov dword [rsp + 0x20], eax
add r14, 1
call fcn.0088b640
movzx eax, word [rsi + 0x5e]
cmp eax, r14d
jg 0x8e8128
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov edx, 0x1e
mov rcx, r13
mov r9d, dword [rsp + 0xac]
mov dword [rsp + 0x20], ebx
mov r8d, dword [rsp + 0x90]
call fcn.0088b6b0
mov ebp, dword [rdi]
test ebp, ebp
jne 0x8e8820
mov rax, qword [rsp + 0x48]
test byte [rax + 0x44], 0x20
je 0x8e97b8
xor ebp, ebp
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x48]
test rcx, rcx
je 0x8e6ab4
mov r8, qword [rsp + 0x80]
mov edx, dword [rsp + 0x90]
call fcn.008a73d0
jmp 0x8e6ab4
mov r10, qword [rsi + 0x50]
test r10, r10
jne 0x8e8219
jmp 0x8e821e
mov r10, qword [r10 + 0x28]
test r10, r10
je 0x8e821e
cmp rbp, qword [r10]
jne 0x8e8210
lea rax, [rdi*8]
mov rcx, qword [rsp + 0x48]
xor r9d, r9d
mov edx, 0xac
sub rax, rdi
mov dword [rsp + 0x20], 0
shl rax, 4
mov qword [rsp + 0x60], r11
mov r8d, dword [r15 + rax + 0x4c]
mov qword [rsp + 0x68], r10
call fcn.0088b640
mov r10, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
mov r9d, 0xfffffff4
mov edx, eax
mov r8, r10
call fcn.00886c10
mov r11, qword [rsp + 0x60]
mov eax, dword [r11 + 0x38]
jmp 0x8e6240
cmp word [rsp + 0x50], 0
je 0x8e6263
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x8e62f0
test byte [rax + 0x44], 0x20
jne 0x8e5e84
mov rsi, qword [rbp + 0x28]
cmp byte [rsi + 0x3f], 1
je 0x8e5e84
test byte [rbp + 0x48], 2
jne 0x8e5e84
xor edx, edx
mov edi, dword [rbp + 0x4c]
add rax, 0x78
mov ecx, 0x100
mov dword [r12 + 0x38], 0
lea rbx, [rsp + 0x1c0]
mov r8d, 0xffffffff
mov word [r12 + 0x3e], dx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1c8], rax
movabs rax, 0x8200000000
mov word [rsp + 0x1e8], cx
mov rcx, rbx
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x1ec], edi
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1d8], 0
mov qword [rsp + 0x1e0], rax
mov byte [rsp + 0x1ea], 1
mov word [rsp + 0x218], r8w
call fcn.008a4070
test rax, rax
jne 0x8e8379
jmp 0x8e9c07
mov rcx, rbx
call fcn.008a4070
test rax, rax
je 0x8e9c07
cmp qword [rax + 0x28], 0
jne 0x8e8368
mov rdx, qword [r12 + 0x48]
mov ecx, 1
mov r8d, 1
mov r9d, 0x21
mov dword [r12 + 0x38], 0x1101
mov qword [rdx], rax
mov eax, 0x1101
mov word [r12 + 0x3c], cx
mov word [r12 + 0x18], r8w
mov word [r12 + 0x14], r9w
mov rsi, qword [rsp + 0x40]
mov edi, dword [rsp + 0x50]
mov ebx, 1
mov word [r12 + 0x16], bx
mov rdx, qword [rsi + 0x10]
mov qword [rsi + 0x3c0], r12
mov qword [r12 + 8], 1
mov dword [rsi + 0x36c], edi
mov edi, 1
mov word [rsi + 0x50], di
test rdx, rdx
je 0x8e83fa
mov edx, dword [rdx]
mov byte [rsi + 0x49], dl
mov rsi, qword [rsp + 0x40]
test byte [rsi + 0x45], 1
je 0x8e8409
mov byte [rsi + 0x4b], 1
cmp byte [rsp + 0x1e9], 1
jbe 0x8e602f
or eax, 0x200000
mov dword [r12 + 0x38], eax
jmp 0x8e602f
mov rax, qword [rsi + 0x48]
xor r9d, r9d
mov r8, rdi
mov rcx, r12
mov rdx, qword [rax]
mov eax, dword [r12 + 0x38]
lea r14d, [rax + 1]
mov eax, dword [rsp + 0x60]
mov dword [r12 + 0x38], r14d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], eax
call fcn.008e4ce0
mov ebx, eax
test r14d, r14d
je 0x8e8477
cmp r14d, eax
je 0x8e8477
mov edx, r14d
mov rcx, r12
call fcn.00877320
mov r8d, dword [rdi + 0x34]
mov esi, dword [rdi + 0x10]
test r8d, r8d
jne 0x8e9306
mov dword [rsp + 0x20], ebx
mov r9d, esi
mov edx, 0x20
mov rcx, r13
mov r8d, dword [rsp + 0x90]
mov esi, 2
call fcn.0088b640
mov byte [rdi + 0x39], 0xb6
mov qword [rsp + 0x70], 0
jmp 0x8e6af8
mov qword [rsp + 0x98], 0xffffffffffffffff
cmp al, 1
jbe 0x8e609a
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x60]
jmp 0x8e608f
mov rdx, qword [rsi + 0x48]
mov esi, dword [rsp + 0x60]
mov rax, qword [rdx + rax*8]
mov qword [rsp + 0x70], rax
test esi, esi
je 0x8e7b75
cmp qword [rsp + 0x70], 0
je 0x8e8988
mov rax, rbx
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x70], rax
jmp 0x8e7b7e
xor eax, eax
xor ebx, ebx
jmp 0x8e7b55
and r8d, 0x20
je 0x8e99b7
mov byte [rdi + 0x39], 0xb6
mov esi, 2
mov qword [rsp + 0x70], 0
jmp 0x8e6af8
mov r10d, dword [rsp + 0x60]
test r10d, r10d
sete dl
add edx, 4
mov byte [rdi + 0x39], dl
jmp 0x8e6ac4
mov eax, dword [rsp + 0xb0]
xor ebx, ebx
xor r14d, r14d
test dl, 0x10
jne 0x8e65de
mov byte [rsp + 0xe0], 0
mov qword [rsp + 0xc0], 0
jmp 0x8e6618
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0xdc], eax
jmp 0x8e671c
xor r15d, r15d
mov rcx, qword [rsp + 0x48]
mov rdx, r14
mov r8, r15
call fcn.00891bb0
jmp 0x8e5f93
mov eax, dword [r13 + 0x98]
mov byte [rdi + 0x39], sil
mov esi, dword [rsp + 0x90]
mov dword [rdi + 0x40], eax
mov dword [rdi + 0x3c], esi
mov esi, 2
jmp 0x8e6af8
mov r14, qword [rsp + 0x48]
mov r13, r12
jmp 0x8e6cc8
test r10, r10
je 0x8e7a2b
jmp 0x8e8068
mov rcx, qword [rdx + 0x20]
mov rcx, qword [rcx + 0x20]
mov ecx, dword [rcx]
cmp ecx, 1
jle 0x8e7c66
cmp dword [rsp + 0x60], 1
sbb r14d, r14d
and r14d, 0xfffffffe
add r14d, 0x38
jmp 0x8e7c89
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r13
xor r14d, r14d
call fcn.00885d50
jmp 0x8e6cf2
mov eax, dword [r12 + 0x38]
mov r9d, dword [rdi]
add eax, 1
mov dword [r12 + 0x38], eax
mov dword [rsp + 0x88], eax
mov dword [rdi + 0x24], eax
test r9d, r9d
jne 0x8e9b2b
mov eax, dword [r12 + 0x44]
mov byte [rsp + 0xe0], 1
mov ebx, 1
sub eax, 1
mov dword [r12 + 0x44], eax
mov dword [rdi + 0x28], eax
jmp 0x8e6635
mov eax, dword [rsp + 0xb0]
mov r8d, r15d
mov edx, 0x7c
mov rcx, r13
mov dword [rsp + 0x20], eax
mov r9d, eax
call fcn.0088b640
mov eax, dword [rsi + 0x38]
jmp 0x8e6a8e
xor r14d, r14d
nop dword [rax]
cmp byte [rsp + 0x68], 0
mov ebx, dword [rsp + 0xb0]
je 0x8e69d2
mov eax, dword [rsp + 0x88]
test eax, eax
je 0x8e9ee6
mov eax, dword [rsp + 0xb0]
lea ebx, [rax + 1]
jmp 0x8e69d2
cmp qword [rsp + 0xc0], 0
movzx eax, al
mov dword [rsp + 0xec], eax
je 0x8e9bec
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0xe8], 1
test byte [rax + 0x14], 0x28
setne al
movzx eax, al
mov dword [rsp + 0xf4], eax
cmp byte [rsp + 0xe0], 0
jne 0x8e9a00
mov edx, dword [rsp + 0x88]
test edx, edx
jne 0x8e88f4
mov ebp, dword [rsp + 0xb0]
mov rcx, qword [r12 + 0x10]
mov r9, qword [rsp + 0x128]
mov edx, dword [rsp + 0xb8]
mov r8d, ebp
call fcn.0088b940
movzx eax, word [rsi + 0x3e]
test ax, ax
jne 0x8e94db
mov r14d, dword [rsp + 0xec]
mov dword [rsp + 0xe0], 0
shl r14d, 2
jmp 0x8e687a
mov rbp, qword [rsp + 0x48]
xor r9d, r9d
mov r8d, r15d
mov edx, 0x8c
mov eax, dword [rsp + 0x90]
mov rbx, qword [rbp]
mov r14, qword [rbx + 0x10]
or byte [rbp + 0x4c], 1
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.0088b640
test byte [rbp + 0x44], 0x20
je 0x8e94c6
mov rax, qword [rbx + 0xa0]
test rax, rax
cmove rax, rbx
mov ebp, dword [rax + 0x70]
test ebp, ebp
je 0x8e9f5d
mov edx, dword [rdi]
test edx, edx
je 0x8e81d0
nop dword [rax]
xor ebp, ebp
jmp 0x8e6ab4
mov eax, dword [r13 + 0x98]
xor r8d, r8d
mov rcx, r13
mov edx, 0xb
mov dword [rsp + 0x20], 0
lea r9d, [rax + 2]
call fcn.0088b640
mov ecx, dword [rsp + 0x60]
xor eax, eax
cmp ebp, 1
setg al
mov r9d, dword [rsp + 0xdc]
mov r8d, r15d
lea eax, [rcx + rax*4 + 2]
mov rcx, r13
cdqe
movzx edx, byte [rbx + rax]
mov eax, dword [rsp + 0xb8]
mov ebx, ebp
sub ebx, dword [rsp + 0xe8]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.0088b6b0
jmp 0x8e68eb
mov eax, dword [rsp + 0xb0]
mov ebx, dword [rsp + 0xdc]
mov rcx, r13
mov edx, 0x3f
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xb8]
mov r9d, ebx
mov dword [rsp + 0x20], eax
call fcn.0088b6b0
mov r8d, dword [rsp + 0x58]
mov r9d, ebx
mov rcx, r12
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.008e5840
jmp 0x8e6887
mov ebx, dword [rsp + 0xb0]
xor r8d, r8d
mov edx, 0x4a
mov rcx, r13
mov r14d, dword [rsp + 0xb8]
mov dword [rsp + 0x20], 0
lea ebp, [rbx + 1]
lea r9d, [rbx + r14]
call fcn.0088b640
mov rcx, qword [r12 + 0x10]
mov r8d, ebp
mov edx, r14d
mov r9, qword [rsp + 0x128]
call fcn.0088b940
movzx eax, word [rsi + 0x3e]
test ax, ax
je 0x8e894b
cmp ebp, eax
je 0x8e94ea
mov dword [rsp + 0xe0], 0
mov r14d, 4
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x88]
mov edx, 0x47
mov rcx, r13
mov r8d, 1
call fcn.0088b640
jmp 0x8e687a
mov edx, 0x22
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x90]
mov rcx, r13
call fcn.0088b640
mov qword [rsp + 0x70], rbx
jmp 0x8e7c08
movzx esi, word [rsp + 0x60]
test sil, 8
je 0x8e60f0
mov rdi, qword [rsp + 0x288]
mov rcx, qword [rdi + 0x28]
cmp byte [rcx + 0x3f], 1
je 0x8e60f0
test ah, 0x20
je 0x8e89e3
and esi, 0x10
je 0x8e60f0
mov r8d, 2
jmp 0x8e60df
mov rcx, rbp
call fcn.0086c150
test eax, eax
je 0x8e6968
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xdc]
mov edx, 0x32
mov rcx, r13
mov r8d, dword [rsp + 0x68]
call fcn.0088b640
jmp 0x8e6968
mov rcx, qword [rsp + 0x40]
movzx edx, bp
add rdx, rax
call fcn.008866e0
mov qword [rsp + 0xd0], rax
jmp 0x8e6703
mov dword [rsp + 0xe8], 0
mov dword [rsp + 0xec], 0
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x47
mov rcx, r13
mov r9d, dword [rsp + 0xd8]
call fcn.0088b640
mov dword [rsp + 0xf0], eax
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x8c], 1
jle 0x8e8b50
xor r15d, r15d
mov qword [rsp + 0x60], r13
mov rbp, qword [rsp + 0x48]
xor esi, esi
mov r13, r15
mov r15, rdi
mov rdi, qword [rsp + 0xe0]
xor ebx, ebx
nop
mov rax, qword [rbp + 0x98]
add rax, rbx
cmp rdi, rax
je 0x8e8b10
test word [rax + 0x12], 0x8006
jne 0x8e8b10
test word [rax + 0x14], 0x1fff
je 0x8e8b10
mov rdx, qword [rax]
test byte [rdx + 6], 0x20
jne 0x8e8b10
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
xor r8d, r8d
call fcn.00887670
mov rdx, r13
mov rcx, r12
mov r8, rax
call fcn.008987d0
mov r13, rax
nop dword [rax]
add esi, 1
add rbx, 0x38
cmp esi, dword [rbp + 0x8c]
jl 0x8e8ac0
mov rdi, r15
mov r15, r13
mov r13, qword [rsp + 0x60]
test r15, r15
je 0x8e8b50
mov r9, r15
xor r8d, r8d
mov edx, 0x1002c
mov rcx, r12
call fcn.00898450
mov qword [rsp + 0x88], rax
jmp 0x8e8b5c
mov qword [rsp + 0x88], 0
lea r8, str.MULTI_INDEX_OR
mov edx, 1
mov rcx, r12
call fcn.00892af0
mov r9d, dword [r14 + 0x14]
test r9d, r9d
jle 0x8e9f2f
mov dword [rsp + 0x68], 0
xor ebp, ebp
xor r15d, r15d
mov rsi, r14
mov qword [rsp + 0xb8], 0
mov rbx, r12
mov qword [rsp + 0xf8], rdi
jmp 0x8e8d6e
mov rdi, qword [rsp + 0x40]
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
mov rcx, rdi
call fcn.00887670
cmp byte [rdi + 0x67], 0
mov r14, rax
jne 0x8e8d4f
mov rax, qword [rsp + 0x88]
mov rdi, r14
test rax, rax
je 0x8e8bea
mov qword [rax + 0x10], r14
mov rdi, rax
mov r9d, ebp
lea r8, str.INDEX__d
mov edx, 1
mov rcx, rbx
call fcn.00892af0
mov rdx, qword [rsp + 0x70]
xor r9d, r9d
mov r8, rdi
mov eax, dword [rsp + 0xb0]
mov rcx, rbx
mov dword [rsp + 0x30], 0x20
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x20], 0
call fcn.008e59f0
mov r12, rax
test rax, rax
je 0x8e8d4f
mov rax, qword [rbx + 0xa0]
test rax, rax
cmove rax, rbx
cmp byte [rax + 0x123], 2
jne 0x8e8c74
mov rdx, qword [rsp + 0x70]
xor r9d, r9d
lea r8, [r12 + 0x368]
mov rcx, rbx
call fcn.0088b9e0
mov rax, qword [rsp + 0x48]
test byte [rax + 0x44], 0x10
je 0x8e8db0
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xd0]
mov edx, 0xc
mov rcx, r13
mov r8d, dword [rsp + 0xd8]
call fcn.0088b640
movzx eax, byte [r12 + 0x4c]
mov edx, 1
test al, 2
cmove edx, dword [rsp + 0x68]
mov dword [rsp + 0x68], edx
mov rdx, qword [r12 + 0x3c0]
test byte [rdx + 0x39], 2
je 0x8e8cea
mov edi, dword [rsp + 0x60]
mov rdx, qword [rdx + 0x20]
test edi, edi
je 0x8e8fc8
cmp rdx, qword [rsp + 0xb8]
je 0x8e8fc8
mov qword [rsp + 0xb8], 0
test al, 1
je 0x8e8d03
mov rax, qword [rsp + 0x48]
or byte [rax + 0x4c], 1
mov rcx, r12
call fcn.0089bd30
mov eax, dword [rbx + 0x130]
test eax, eax
je 0x8e8d49
mov rdx, qword [rbx + 0x10]
jns 0x8e8d24
mov eax, dword [rdx + 0x98]
sub eax, 1
mov r8, qword [rdx]
lea rcx, [0x011ab4c0]
cmp byte [r8 + 0x67], 0
jne 0x8e8d46
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x90]
lea rcx, [rax + rcx*8]
mov eax, dword [rcx + 8]
mov dword [rbx + 0x130], eax
test r14, r14
je 0x8e8d61
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call fcn.008815a0
add r15, 0x38
cmp dword [rsi + 0x14], ebp
jle 0x8e8e90
mov rax, qword [rsi + 0x20]
mov edi, dword [rsp + 0x90]
mov dword [rsp + 0x60], ebp
add ebp, 1
add rax, r15
cmp edi, dword [rax + 0x1c]
je 0x8e8d8e
test byte [rax + 0x15], 4
je 0x8e8d61
mov r14, qword [rax]
test r14, r14
jne 0x8e8bb0
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x67], 0
je 0x8e8bd3
jmp 0x8e8d61
mov eax, dword [rsi + 0x14]
mov edi, dword [rsp + 0x60]
mov rdx, qword [rsp + 0xc0]
sub eax, 1
cmp eax, edi
mov eax, 0xffffffff
cmovne eax, edi
mov dword [rsp + 0xdc], eax
test byte [rdx + 0x30], 0x80
jne 0x8e9008
mov edi, dword [rsp + 0xe8]
mov r8d, dword [rsp + 0x90]
mov r9d, 0xffffffff
mov rcx, r13
mov dword [rsp + 0x20], edi
call fcn.008dc780
mov dword [rsp + 0x20], edi
xor r9d, r9d
mov rcx, r13
mov r8d, dword [rsp + 0xec]
mov edx, 0x2e
call fcn.0088b640
mov edi, eax
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
je 0x8e9438
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xd0]
mov edx, 0xc
mov rcx, r13
mov r8d, dword [rsp + 0xd8]
call fcn.0088b640
test edi, edi
je 0x8e8ca8
mov eax, dword [r13 + 0x98]
mov rcx, qword [r13]
lea edx, [rax - 1]
cmovs edi, edx
cmp byte [rcx + 0x67], 0
lea rdx, [0x011ab4c0]
jne 0x8e8e87
mov rdx, qword [r13 + 0x90]
movsxd rdi, edi
lea rcx, [rdi + rdi*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
jmp 0x8e8ca8
mov eax, dword [rbx + 0x130]
mov rdi, qword [rsp + 0xf8]
mov r12, rbx
test eax, eax
je 0x8e8ec9
mov rdx, qword [rbx + 0x10]
test eax, eax
js 0x8e94cd
mov r8, qword [rdx]
lea rcx, [0x011ab4c0]
cmp byte [r8 + 0x67], 0
je 0x8e9487
mov eax, dword [rcx + 8]
mov dword [r12 + 0x130], eax
mov rax, qword [rsp + 0xb8]
mov qword [rdi + 0x48], rax
test rax, rax
je 0x8e8eec
mov eax, dword [rsp + 0xb0]
mov dword [rdi + 8], eax
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x8e8f0e
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x40]
mov rdx, rax
call fcn.008815a0
mov esi, dword [rsp + 0xf0]
mov eax, dword [r13 + 0x98]
mov rcx, qword [r13]
test esi, esi
lea edx, [rax - 1]
cmovns edx, esi
cmp byte [rcx + 0x67], 0
mov esi, edx
lea rdx, [0x011ab4c0]
jne 0x8e8f49
movsxd rdx, esi
lea rcx, [rdx + rdx*2]
mov rdx, qword [r13 + 0x90]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 4], eax
mov r9d, dword [rdi + 0xc]
xor r8d, r8d
mov edx, 0xb
mov dword [rsp + 0x20], 0
mov rcx, r13
call fcn.0088b640
mov edx, dword [rsp + 0xd0]
mov rcx, r13
call fcn.0088ab80
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x48], 1
jbe 0x8e8f90
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x8e949d
mov r11d, dword [rsp + 0x68]
test r11d, r11d
jne 0x8e7a70
mov r8, qword [rsp + 0xe0]
lea rdx, [rdi + 0x60]
mov rcx, rdi
mov esi, 2
call fcn.00878670
mov qword [rsp + 0x70], 0
jmp 0x8e6af8
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xb8], rdx
mov rdi, rdx
test byte [rcx + 0x30], 0x80
je 0x8e8cf6
movzx edx, byte [rdx + 0x64]
and edx, 3
cmp dl, 2
mov edx, 0
cmovne rdx, rdi
mov qword [rsp + 0xb8], rdx
jmp 0x8e8cf6
mov rax, qword [rsp + 0xc0]
mov r10, qword [rax + 0x10]
test r10, r10
jne 0x8e902d
jmp 0x8ea158
mov r10, qword [r10 + 0x28]
test r10, r10
je 0x933146
movzx eax, byte [r10 + 0x64]
and eax, 3
cmp al, 2
jne 0x8e9020
movzx edi, word [r10 + 0x5e]
mov rcx, rbx
mov edx, edi
mov dword [rsp + 0xf4], edi
call fcn.00877340
mov ecx, edi
add edi, eax
mov dword [rsp + 0x118], eax
mov edx, edi
xor edi, edi
test ecx, ecx
je 0x8e90fd
mov qword [rsp + 0x100], rsi
mov esi, dword [rsp + 0x90]
mov qword [rsp + 0x108], r14
mov r14, qword [rsp + 0xc0]
mov qword [rsp + 0x110], r12
mov r12, rdi
mov edi, edx
mov dword [rsp + 0x11c], ebp
mov ebp, eax
mov qword [rsp + 0x280], rbx
mov rbx, r10
nop word cs:[rax + rax]
mov rdx, qword [rbx + 8]
mov r8d, esi
mov rcx, r13
movsx r9d, word [rdx + r12]
mov dword [rsp + 0x20], ebp
mov rdx, r14
add ebp, 1
add r12, 2
call fcn.008dc780
cmp edi, ebp
jne 0x8e90b0
mov rsi, qword [rsp + 0x100]
mov r14, qword [rsp + 0x108]
mov r12, qword [rsp + 0x110]
mov ebp, dword [rsp + 0x11c]
mov rbx, qword [rsp + 0x280]
mov r8d, dword [rsp + 0xdc]
test r8d, r8d
jne 0x8e9dc9
mov edi, dword [rsp + 0xe8]
mov r9d, dword [rsp + 0xf4]
mov edx, 0x60
mov rcx, r13
mov r8d, dword [rsp + 0x118]
mov dword [rsp + 0x20], edi
call fcn.0088b640
mov r9d, edi
mov edx, 0x89
mov rcx, r13
mov eax, dword [rsp + 0xf4]
mov r8d, dword [rsp + 0xec]
xor edi, edi
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0x20], eax
call fcn.0088b6b0
cmp dword [rsp + 0xf4], 1
je 0x8e9f1b
mov eax, dword [rsp + 0xf4]
cmp eax, dword [rbx + 0x28]
jle 0x8e8e2a
mov dword [rbx + 0x28], eax
mov eax, dword [rsp + 0x118]
mov dword [rbx + 0x2c], eax
jmp 0x8e8e2a
mov dword [rsp + 0xf4], 1
mov dword [rsp + 0xec], 1
jmp 0x8e676f
movzx esi, al
sub esi, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
lea ebp, [rsi - 1]
movsxd rax, ebp
lea rdx, [rax*8]
sub rdx, rax
shl rdx, 4
add rdx, 0x78
call fcn.00885fb0
mov qword [rsp + 0x70], rax
mov rcx, rax
test rax, rax
je 0x8e76e0
lea eax, [rbp + 1]
movzx eax, al
mov dword [rcx + 4], eax
mov dword [rcx], eax
lea rax, [rbx*8]
sub rax, rbx
mov rbx, rcx
shl rax, 4
lea rax, [r15 + rax + 8]
movdqu xmm1, xmmword [rax]
movups xmmword [rcx + 8], xmm1
movdqu xmm2, xmmword [rax + 0x10]
movups xmmword [rcx + 0x18], xmm2
movdqu xmm3, xmmword [rax + 0x20]
movups xmmword [rcx + 0x28], xmm3
movdqu xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x38], xmm1
movdqu xmm2, xmmword [rax + 0x40]
movups xmmword [rcx + 0x48], xmm2
movdqu xmm3, xmmword [rax + 0x50]
movups xmmword [rcx + 0x58], xmm3
movdqu xmm1, xmmword [rax + 0x60]
mov rax, qword [rsp + 0x48]
movups xmmword [rcx + 0x68], xmm1
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
lea r8, [rax + 8]
test ebp, ebp
jle 0x8e7dfc
lea r9d, [rsi - 2]
lea rcx, [rdi + 0xa0]
lea rax, [r9*8]
lea rdx, [rbx + 0x78]
sub rax, r9
shl rax, 4
lea r9, [rbx + rax + 0xe8]
nop word cs:[rax + rax]
movzx r10d, byte [rcx]
add rdx, 0x70
add rcx, 0x68
lea rax, [r10*8]
sub rax, r10
shl rax, 4
add rax, r8
movdqu xmm4, xmmword [rax]
movups xmmword [rdx - 0x70], xmm4
movdqu xmm5, xmmword [rax + 0x10]
movups xmmword [rdx - 0x60], xmm5
movdqu xmm4, xmmword [rax + 0x20]
movups xmmword [rdx - 0x50], xmm4
movdqu xmm5, xmmword [rax + 0x30]
movups xmmword [rdx - 0x40], xmm5
movdqu xmm4, xmmword [rax + 0x40]
movups xmmword [rdx - 0x30], xmm4
movdqu xmm5, xmmword [rax + 0x50]
movups xmmword [rdx - 0x20], xmm5
movdqu xmm0, xmmword [rax + 0x60]
movups xmmword [rdx - 0x10], xmm0
cmp r9, rdx
jne 0x8e92a0
jmp 0x8e7dfc
mov dword [rsp + 0x20], ebx
mov r9d, esi
mov rcx, r13
mov edx, 0x3f
mov dword [rsp + 0x28], 1
call fcn.0088b6b0
mov r8d, dword [rsp + 0x58]
mov r9d, esi
mov rcx, r12
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.008e5840
jmp 0x8e8487
xor r9d, r9d
mov r8d, r15d
mov edx, 0x87
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.0088b640
jmp 0x8e66b4
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x8e7bab
movzx eax, byte [r12 + 0x1f]
test al, al
je 0x8e95b2
sub eax, 1
mov byte [r12 + 0x1f], al
movzx eax, al
mov r14d, dword [r12 + rax*4 + 0xd8]
mov r9d, 1
mov r8d, r14d
mov rcx, r12
mov dword [rsp + 0x190], r14d
call fcn.008dd620
movzx eax, byte [rsi]
sub eax, 0x37
and eax, 2
or eax, 1
cdqe
movzx edx, byte [rsp + rax + 0x1c0]
jmp 0x8e7bdd
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x8e69be
mov dword [rsp + 0xf4], 1
jmp 0x8e69d2
mov rcx, r14
call fcn.0086d210
jmp 0x8e609a
cmp byte [r14 + 0x4b], 2
je 0x8e62f0
movsxd rax, dword [rsi + 0x98]
test eax, eax
jle 0x8e62f0
mov rdx, qword [rsi + 0x90]
lea rax, [rax + rax*2]
mov ecx, 2
lea rax, [rdx + rax*8]
mov word [rax - 0x16], cx
jmp 0x8e62f0
movsxd rax, edi
mov ecx, dword [rsp + 0xdc]
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x90]
lea rax, [rax + rdx*8]
mov byte [rax + 1], 0xfd
mov dword [rax + 0x10], ecx
jmp 0x8e8e2a
test al, 0x40
je 0x8e60f0
movzx esi, byte [rsp + 0x78]
test byte [rsp + 0x60], 8
mov ecx, 8
cmovne esi, ecx
and eax, 0xffffffbf
mov dword [rdx + 0x38], eax
mov byte [rsp + 0x78], sil
jmp 0x8e60f0
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x90]
lea rcx, [rax + rcx*8]
jmp 0x8e8ec6
mov rcx, qword [rsp + 0x40]
mov rdx, rax
call fcn.00871b00
jmp 0x8e8f90
movsxd rdx, r14d
lea rcx, [rdx + rdx*2]
mov rdx, qword [r13 + 0x90]
lea rdx, [rdx + rcx*8]
jmp 0x8e7432
xor ebp, ebp
jmp 0x8e6aaa
mov eax, dword [rdx + 0x98]
sub eax, 1
jmp 0x8e8eb1
mov ebp, dword [rsp + 0xb0]
cmp ebp, eax
jne 0x8e879a
mov dword [rsp + 0xe0], 0
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x8e86ce
mov rax, qword [rax]
xor r14d, r14d
mov rbp, qword [rax + 0x18]
jmp 0x8e6912
mov edx, dword [rsi + 0x30]
mov ecx, eax
and ecx, 0x404000
and edx, 0xe0
or edx, ecx
jne 0x8e6210
lea rax, [rdi*8]
xor r8d, r8d
sub rax, rdi
shl rax, 4
mov rax, qword [r15 + rax + 0x60]
test rax, rax
je 0x8e9553
add r8d, 1
shr rax, 1
jne 0x8e954a
mov rcx, qword [rsp + 0x48]
mov r9d, 0xfffffffd
movsxd r8, r8d
mov edx, 0xffffffff
mov qword [rsp + 0x60], r11
call fcn.00886c10
mov r11, qword [rsp + 0x60]
mov eax, dword [r11 + 0x38]
jmp 0x8e6210
mov eax, dword [r12 + 0x38]
xor r8d, r8d
mov edx, 0x4a
mov rcx, r13
add eax, 1
mov dword [r12 + 0x38], eax
mov r9d, eax
mov dword [rsp + 0x20], 0
mov dword [rsp + 0xec], eax
call fcn.0088b640
jmp 0x8e7e8c
mov eax, dword [r12 + 0x38]
lea r14d, [rax + 1]
mov dword [r12 + 0x38], r14d
jmp 0x8e939d
mov rcx, r14
call fcn.0087fdd0
movzx esi, byte [r14 + 0x48]
mov qword [rsp + 0x98], rax
mov dword [rsp + 0xa8], esi
mov eax, esi
jmp 0x8e84cc
movzx ecx, byte [rax]
lea edx, [rcx + 0x59]
and edx, 0xfd
jne 0x8e7330
mov rdx, qword [rsi + 8]
movzx ecx, word [rdx + r8]
cmp word [rax + 0x30], cx
jne 0x8e7330
cmp r13d, dword [rax + 0x2c]
jne 0x8e7330
mov rcx, qword [rsp + 0x280]
mov rdx, r10
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x50], r9
call fcn.0089daa0
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
test rax, rax
je 0x8ea023
mov r10, qword [rax]
xor ecx, ecx
jmp 0x8e9672
lea r11, [0x011331c0]
movzx edx, byte [r11 + rdx]
cmp byte [r11 + rax], dl
jne 0x8e7330
add rcx, 1
movzx eax, byte [r10 + rcx]
movzx edx, byte [r9 + rcx]
cmp eax, edx
jne 0x8e9658
test eax, eax
jne 0x8e966e
mov rax, qword [rsi + 8]
movsx rax, word [rax + r8]
movsx edx, ax
test edx, edx
jns 0x8e96e3
cmp edx, 0xffffffff
jne 0x8e7338
jmp 0x8e7280
movzx esi, byte [rax]
lea edx, [rsi + 0x59]
and edx, 0xfd
jne 0x8e7210
cmp r12d, dword [rax + 0x2c]
jne 0x8e7210
cmp word [rax + 0x30], 0
jns 0x8e7210
jmp 0x8e7357
mov r9d, 0xffffffff
jmp 0x8e8168
mov rdx, qword [rsi + 0x18]
lea rax, [rax + rax*2]
mov r9, qword [rdx + 8]
lea rax, [r9 + rax*8]
test byte [rax + 8], 0xf
jne 0x8e7280
jmp 0x8e7338
mov r11d, dword [rdx + 0xc]
mov r10d, 0x86
jmp 0x8e7f99
mov rcx, rbx
call fcn.0086c150
test eax, eax
je 0x8e67cd
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xdc]
mov edx, 0x32
mov rcx, r13
mov r8d, dword [rsp + 0xf0]
call fcn.0088b640
jmp 0x8e67cd
mov eax, dword [r12 + 0x38]
mov edx, 0x47
mov rcx, r13
mov r8d, 1
lea r9d, [rax + 1]
mov dword [r12 + 0x38], r9d
mov dword [rdi + 0x2c], r9d
mov dword [rsp + 0x20], 0
call fcn.0088b640
mov eax, dword [r13 + 0x98]
mov rcx, qword [rsp + 0x70]
mov dword [rdi + 0x30], eax
mov eax, dword [rdi + 0x2c]
mov rcx, qword [rcx + 0x38]
lea edx, [rax + rax]
movzx eax, bp
mov dword [rdi + 0x2c], edx
cmp byte [rcx + rax], 1
sete al
movzx eax, al
xor eax, dword [rsp + 0x60]
or eax, edx
mov edx, dword [rsi + 0x38]
mov dword [rdi + 0x2c], eax
jmp 0x8e6607
mov rbx, qword [rsp + 0x70]
mov rax, qword [rbx + 0x50]
mov r8, rax
test rax, rax
je 0x8e9ead
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x160]
mov rdx, qword [rsp + 0x48]
xor ebx, ebx
mov dword [rsp + 0x16c], r15d
lea r14, [rsp + 0x190]
mov r10, qword [rcx + 0x18]
mov qword [rsp + 0x1b8], rax
mov eax, dword [rsp + 0x90]
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], 0
cmp word [rcx + 0x60], 0
mov dword [rsp + 0x168], eax
mov rax, qword [rdx]
mov qword [rsp + 0x178], rdx
mov rax, qword [rax]
mov qword [rsp + 0x180], rax
je 0x8e81d2
mov qword [rsp + 0x40], r13
mov r13, r10
mov dword [rsp + 0x68], ebp
mov rbp, rdx
mov qword [rsp + 0x88], rsi
mov rsi, r8
mov qword [rsp + 0xb0], rdi
mov rdi, rcx
mov qword [rsp + 0x280], r12
jmp 0x8e991f
test r11w, r11w
js 0x8e990f
movsx rax, r11w
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 8]
lea rdx, [rax + rdx*8]
movzx eax, word [rdx + 0x12]
test al, 0x20
je 0x8e990f
test ah, 2
jne 0x8e9b78
lea rax, [0x00886a60]
mov dword [rsp + 0x174], r11d
mov qword [rsp + 0x198], rax
mov rdx, qword [rbp + 0x20]
mov dword [rsp + 0x170], r12d
test rdx, rdx
je 0x8e98f7
mov rcx, r14
call fcn.008760e0
mov rdx, qword [rbp + 0x10]
mov rcx, r14
call fcn.008761c0
mov rdx, qword [rbp + 0x18]
mov rcx, r14
call fcn.008761c0
movzx eax, word [rdi + 0x60]
add rbx, 1
cmp eax, ebx
jle 0x8e9af2
mov rax, qword [rdi + 8]
mov r12d, ebx
movsx r11d, word [rax + rbx*2]
cmp r11w, 0xfffe
jne 0x8e98a0
mov rax, rbx
mov r11d, 1
shl rax, 5
mov rdx, qword [rsi + rax + 8]
lea rax, [0x00876b00]
mov word [rsp + 0x1e4], r11w
mov qword [rsp + 0x1c8], rax
lea rax, [0x0086c140]
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x1d0], rax
mov dword [rsp + 0x1e8], 0
test rdx, rdx
je 0x8e990f
lea rcx, [rsp + 0x1c0]
call fcn.008760e0
cmp word [rsp + 0x1e4], 0
jne 0x8e990f
lea rax, [0x008a7320]
mov qword [rsp + 0x198], rax
jmp 0x8e98de
movsxd rax, dword [rsp + 0x60]
lea rdx, [0x0112c767]
mov r8d, dword [rsp + 0x90]
mov rcx, r13
movzx edx, byte [rdx + rax]
mov dword [rdi + 0x3c], r8d
mov byte [rdi + 0x39], dl
lea rdx, [0x0112c765]
mov dword [rsp + 0x20], 0
movzx edx, byte [rdx + rax]
call fcn.0088b640
mov byte [rdi + 0x3b], 1
add eax, 1
mov dword [rdi + 0x40], eax
jmp 0x8e7a70
mov ebx, dword [rsp + 0xb0]
mov eax, dword [rsp + 0xb8]
xor r8d, r8d
mov rcx, r13
mov dword [rsp + 0x20], 0
mov edx, 0x4a
lea r9d, [rbx + rax]
lea ebp, [rbx + 1]
call fcn.0088b640
mov r8d, ebx
mov dword [rsp + 0xe8], 0
mov dword [rsp + 0xe0], 1
mov dword [rsp + 0xec], 1
jmp 0x8e6835
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x8e9373
mov r10, qword [rsp + 0x70]
movzx eax, bp
mov rcx, qword [r10 + 8]
movsx rcx, word [rcx + rax*2]
mov rax, rcx
test ecx, ecx
js 0x8e9ed6
mov rcx, qword [r10 + 0x18]
lea rax, [rax + rax*2]
mov r10, qword [rcx + 8]
lea rax, [r10 + rax*8]
test byte [rax + 8], 0xf
sete byte [rsp + 0xe0]
jmp 0x8e6618
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jg 0x8e7caa
jmp 0x8e7c99
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
jmp 0x8e93db
mov rax, qword [rbx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x8e6818
mov dword [rsp + 0xe0], 0
mov r8d, ebp
mov dword [rsp + 0xe8], 1
jmp 0x8e6835
mov r13, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x280]
jmp 0x8e81d2
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x8e9aa8
mov rcx, qword [rdx + 0x20]
mov ecx, dword [rcx]
jmp 0x8e8620
mov r9d, eax
xor r8d, r8d
mov edx, 0x47
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.0088b640
jmp 0x8e8683
mov rax, qword [rbx + 0x20]
mov eax, dword [rax]
jmp 0x8e9acb
mov eax, dword [r15 + 0x98]
mov dword [r14 + 0x54], eax
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x67], 0
jne 0x8e6cc8
jmp 0x8e770b
mov rdx, qword [rdx]
cmp byte [rdx], 0
je 0x8e9b89
add rdx, 1
cmp byte [rdx], 0
jne 0x8e9b80
test al, 4
jne 0x8e9bd8
add rdx, 1
mov eax, 0x42
lea r10, str.BINARY
jmp 0x8e9bc5
cdqe
lea r8, [0x011331c0]
movzx eax, byte [r8 + rax]
cmp byte [r8 + rcx], al
jne 0x8e990f
movzx eax, byte [r10 + 1]
add r10, 1
add rdx, 1
movzx ecx, byte [rdx]
cmp ecx, eax
jne 0x8e9ba0
test ecx, ecx
jne 0x8e9bb8
jmp 0x8e98c7
add rdx, 1
cmp byte [rdx], 0
je 0x8e9b8d
add rdx, 1
cmp byte [rdx], 0
jne 0x8e9bd8
jmp 0x8e9b8d
mov dword [rsp + 0xf4], 1
mov dword [rsp + 0xe8], 1
jmp 0x8e874d
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x8ea04c
mov qword [rsp + 0x58], r15
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x88], r14
mov r14d, dword [rsp + 0x50]
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x280], r13
jmp 0x8e9c4d
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x8ea037
cmp byte [rdi + 0x62], 0
je 0x8e9c40
cmp qword [rdi + 0x48], 0
jne 0x8e9c40
movzx eax, word [rdi + 0x5e]
cmp ax, 3
ja 0x8e9c40
movzx edx, byte [rdi + 0x64]
mov ecx, edx
and ecx, 8
cmp cl, 1
sbb esi, esi
and esi, 0xffffff80
add esi, 0x82
mov dword [rsp + 0x48], esi
test ax, ax
je 0x8ea11f
xor esi, esi
nop word [rax + rax]
mov eax, dword [rsp + 0x48]
mov qword [rsp + 0x28], rdi
mov r9d, esi
mov r8d, r14d
mov rdx, r15
mov rcx, rbx
mov r13d, esi
mov ebp, esi
mov dword [rsp + 0x20], eax
call fcn.008a43c0
test rax, rax
jne 0x8e9cd1
jmp 0x8e9d70
mov rcx, rbx
call fcn.008a4070
test rax, rax
je 0x8e9d70
cmp qword [rax + 0x28], 0
jne 0x8e9cc0
mov rdx, qword [r12 + 0x48]
lea ebp, [r13 + 1]
mov qword [rdx + rsi*8], rax
movzx eax, word [rdi + 0x5e]
add rsi, 1
cmp eax, esi
jg 0x8e9c90
nop dword [rax]
cmp eax, ebp
jne 0x8e9c40
mov esi, ebp
mov r15, qword [rsp + 0x58]
movzx edx, byte [rdi + 0x64]
mov rbp, qword [rsp + 0x90]
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x280]
mov dword [r12 + 0x38], 0x1201
and edx, 0x20
jne 0x8ea077
mov rax, qword [rbp + 0x60]
test qword [rdi + 0x68], rax
je 0x8ea077
mov ebp, 0x27
mov word [r12 + 0x3c], si
mov eax, 0x1201
mov word [r12 + 0x18], si
mov qword [r12 + 0x20], rdi
mov word [r12 + 0x14], bp
jmp 0x8e83b9
movzx eax, word [rdi + 0x5e]
jmp 0x8e9cf8
mov rax, qword [rsp + 0x70]
xor r9d, r9d
mov edx, 0x7b
mov rcx, r13
mov dword [rsp + 0xec], r10d
mov rax, qword [rax + 0x10]
movsx eax, word [rax]
mov dword [rsp + 0x20], 0
add eax, 9
movsxd r8, eax
sar eax, 0x1f
imul r8, r8, 0x66666667
sar r8, 0x22
sub r8d, eax
call fcn.0088b640
mov r10d, dword [rsp + 0xec]
mov r14d, eax
jmp 0x8e68b7
mov eax, dword [rsp + 0x118]
xor r9d, r9d
mov edx, 0x1f
mov rcx, r13
mov r8d, dword [rsp + 0xec]
mov dword [rsp + 0x20], eax
call fcn.0088b640
mov edi, eax
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
jne 0x8e9e18
movsxd rax, edi
mov ecx, dword [rsp + 0xf4]
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x90]
lea rax, [rax + rdx*8]
mov byte [rax + 1], 0xfd
mov dword [rax + 0x10], ecx
cmp dword [rsp + 0xdc], 0xffffffff
je 0x8e9166
mov eax, dword [rsp + 0xe8]
mov r9d, dword [rsp + 0xf4]
mov edx, 0x60
mov rcx, r13
mov r8d, dword [rsp + 0x118]
mov dword [rsp + 0x20], eax
call fcn.0088b640
mov ecx, dword [rsp + 0xf4]
mov edx, 0x89
mov r9d, dword [rsp + 0xe8]
mov r8d, dword [rsp + 0xec]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0x118]
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.0088b6b0
movsxd rax, dword [r13 + 0x98]
test eax, eax
jle 0x8e9166
mov rdx, qword [r13 + 0x90]
lea rax, [rax + rax*2]
mov ecx, 0x10
lea rax, [rdx + rax*8]
mov word [rax - 0x16], cx
jmp 0x8e9166
test byte [rbx + 0x65], 4
jne 0x8e97cd
jmp 0x8e81d2
mov rbx, qword [rsp + 0x70]
mov edx, 0x26
jmp 0x8e898d
mov r12d, 0xffff8000
jmp 0x8e6170
cmp ecx, 0xfffffffe
sete byte [rsp + 0xe0]
jmp 0x8e6618
mov eax, ebx
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov rcx, r13
mov ebx, dword [rsp + 0xb8]
mov edx, 0x4a
lea r9d, [rax + rbx]
call fcn.0088b640
mov dword [rsp + 0xf4], 0
jmp 0x8e86f9
mov edx, dword [rsp + 0x118]
mov rcx, rbx
call fcn.008773b0
jmp 0x8e8e2a
mov eax, dword [r12 + 0x130]
test eax, eax
je 0x8ea0a6
mov dword [rsp + 0x68], 0
mov rdx, qword [r12 + 0x10]
mov qword [rsp + 0xb8], 0
jmp 0x8e8ea9
mov rax, qword [rsp + 0x70]
mov rcx, qword [rbx]
mov rbp, qword [rax + 0x18]
movsx edx, word [rbp + 0x36]
add edx, 1
movsxd rdx, edx
shl rdx, 2
call fcn.00886160
mov r8, rax
test rax, rax
je 0x8e81b7
movsx eax, word [rbp + 0x36]
mov dword [r8], eax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x60]
cmp ax, 1
jbe 0x8ea00b
mov rbx, qword [rsp + 0x70]
sub eax, 2
mov qword [rsp + 0x40], rsi
mov rcx, rbp
lea r10, [rax + 2]
mov qword [rsp + 0x68], rdi
mov r9, qword [rbx + 8]
mov ebx, 1
mov rdi, r10
mov rbp, rbx
mov rbx, r8
mov rsi, r9
jmp 0x8e9fec
test ax, ax
js 0x8e9fe3
movsx edx, ax
call fcn.008778d0
movsx rax, ax
mov dword [rbx + rax*4 + 4], ebp
add rbp, 1
cmp rdi, rbp
je 0x8e9ffe
movzx eax, word [rsi + rbp*2 - 2]
test byte [rcx + 0x30], 0x20
jne 0x8e9fce
test ax, ax
js 0x8e9fe3
jmp 0x8e9fdb
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
mov r8, rbx
mov r9d, 0xfffffff1
mov edx, 0xffffffff
mov rcx, r14
call fcn.00886c10
jmp 0x8e81b7
mov rax, qword [rsp + 0x280]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
jmp 0x8e964c
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x280]
mov eax, dword [r12 + 0x38]
test eax, eax
jne 0x8e83b9
mov rax, qword [rsp + 0x130]
mov r12, qword [rsp + 0x140]
mov qword [rsp + 0x40], rax
mov rbp, qword [rax + 8]
jmp 0x8e5e84
mov eax, 0x27
mov word [r12 + 0x3c], si
mov word [r12 + 0x14], ax
mov eax, 0x1241
mov dword [r12 + 0x38], 0x1241
mov word [r12 + 0x18], si
mov qword [r12 + 0x20], rdi
jmp 0x8e83b9
mov qword [rdi + 0x48], 0
mov dword [rsp + 0x68], 0
jmp 0x8e8eec
xor eax, eax
jmp 0x8e8192
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x2a8]
mov r9d, ebx
mov rsi, qword [rsp + 0x80]
mov edx, dword [rax + 8]
mov dword [rsp + 0x20], 0x49
mov rcx, rsi
call fcn.00898a90
mov rax, qword [rsp + 0x2a8]
mov edx, dword [rax + 0xc]
test edx, edx
jle 0x8e5d04
mov rax, qword [rax + 0x60]
mov r9d, ebx
mov rcx, rsi
mov r8, qword [rax + 0x18]
mov dword [rsp + 0x20], 0x4a
call fcn.00898a90
jmp 0x8e5d04
mov r15, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x90]
xor esi, esi
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x280]
jmp 0x8e9d23
mov r13, r12
jmp 0x933150
jmp 0x93313c
mov r13, r12
jmp 0x933150
jmp 0x933146
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2
add dword [r13 + 0x34], 1
movzx eax, word [0x5e]
ud2