Function at 0x140087160
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x1401a5100]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rdi, qword [rcx + 0x10]
xor r12d, r12d
mov rbx, rdx
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x68], rdi
lea rdx, [0x140000000]
mov dword [rbp], r12d
mov r15d, r12d
mov dword [rbp + 4], r12d
mov r14d, r8d
mov dword [rsp + 0x54], r12d
mov rsi, rcx
mov dword [rsp + 0x70], r8d
mov qword [rsp + 0x1c8], r13
test rbx, rbx
je case.0x14008721d.49
cmp qword [rsi + 0x60], r12
je 0x1400871f6
test dword [rbx + 4], 0x800000
jne 0x1400871f6
mov r8d, r14d
mov rdx, rbx
mov rcx, rsi
call fcn.140086cc0
test eax, eax
jns 0x140088f87
lea rdx, [0x140000000]
movzx r13d, byte [rbx]
lea eax, [r13 - 0x13]
cmp eax, 0xa2
ja case.0x14008721d.49
cdqe
movzx eax, byte [rdx + rax + 0x8902c]
mov ecx, dword [rdx + rax*4 + 0x88fb0]
add rcx, rdx
jmp rcx
test dword [rbx + 4], 0x200
je 0x140087232
mov rbx, qword [rbx + 0x10]
mov qword [rbp - 0x78], rbx
jmp 0x1400871c1
mov rdx, qword [rbx + 0x10]
mov r8d, r14d
mov rcx, rsi
call fcn.140089420
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14008726d
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, r14d
mov edx, 0xb4
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088f84
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xb4
mov dword [rax + rcx*8 + 4], r14d
mov qword [rax + rcx*8 + 8], r12
jmp 0x140088f7f
movsx rax, word [rbx + 0x32]
mov rcx, qword [rbx + 0x38]
mov edx, eax
cmp eax, dword [rcx + 0x20]
jl 0x1400872fe
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1400872d3
mov r9d, r14d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov edx, 0x4b
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088efb
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r12d
jmp 0x140088ef6
cmp byte [rcx], 0
lea r15, [rax + rax*2]
mov r12, qword [rcx + 0x18]
jne 0x140087315
mov eax, dword [rcx + 0xc]
add eax, edx
jmp 0x140088f87
cmp byte [rcx + 1], 0
je 0x140087411
mov r8d, dword [rcx + 8]
movsxd rcx, dword [rdi + 0x90]
mov rbx, qword [r12 + r15*8]
movsx edx, word [r12 + r15*8 + 0x16]
cmp dword [rdi + 0x94], ecx
jg 0x140087356
mov r9d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x5e
mov rcx, rdi
call fcn.1400653b0
xor r9d, r9d
jmp 0x140087387
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r9
test rbx, rbx
je 0x140088f84
movsx rax, word [r12 + r15*8 + 0x14]
test ax, ax
js 0x140088f84
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
cmp byte [rax + rcx*8 + 0xc], 0x45
jne 0x140088f84
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1400873de
mov dword [rsp + 0x20], r9d
xor r9d, r9d
mov edx, 0x57
mov r8d, r14d
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088f84
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x57
mov dword [rax + rcx*8 + 4], r14d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x140088f84
cmp qword [rbx + 0x40], 0
jne 0x14008747f
movsxd rcx, dword [rdi + 0x90]
movsx edx, word [rbx + 0x30]
mov r8d, dword [rbx + 0x2c]
cmp dword [rdi + 0x94], ecx
jg 0x140087449
mov r9d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x5e
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088f84
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x140088f84
xor r12d, r12d
test byte [rbx + 4], 0x20
mov r15d, dword [rbx + 0x2c]
je 0x140087553
mov rdx, qword [rbx + 0x10]
mov r8d, r14d
mov rcx, rsi
call fcn.140087160
movsx rcx, word [rbx + 0x30]
mov esi, eax
test cx, cx
js 0x1400874c4
mov rdx, qword [rbx + 0x40]
cmp cx, word [rdx + 0x36]
jge 0x1400874c4
mov rax, qword [rdx + 8]
lea rcx, [rcx + rcx*2]
movzx edx, byte [rax + rcx*8 + 0xc]
jmp 0x1400874c6
mov dl, 0x44
movsx ebx, dl
cmp ebx, 0x41
jle 0x14008754c
movsxd rdx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], edx
jg 0x1400874fc
mov r9d, 1
mov dword [rsp + 0x20], r12d
mov r8d, esi
mov edx, 0x60
mov rcx, rdi
call fcn.1400653b0
mov edx, eax
jmp 0x140087529
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x60
mov dword [rax + rcx*8 + 4], esi
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], r12
lea eax, [rbx*2 - 0x84]
mov r9, 0xffffffffffffffff
movsxd r8, eax
mov rcx, rdi
lea rax, str.BCDEF
add r8, rax
call fcn.1400661b0
mov eax, esi
jmp 0x140088f87
test r15d, r15d
jns 0x1400876fc
mov r10d, dword [rsi + 0x44]
test r10d, r10d
jns 0x1400876f6
movsx r8, word [rbx + 0x30]
mov r11, qword [rbx + 0x40]
test r8w, r8w
jns 0x140087583
not r10d
mov eax, r10d
jmp 0x140088f87
test byte [r11 + 0x30], 0x20
lea rcx, [r8 + r8*2]
mov r15, qword [r11 + 8]
lea rbx, [r15 + rcx*8]
je 0x1400875ea
mov eax, r8d
movzx edx, r12w
test r8d, r8d
jle 0x1400875c8
lea r8, [r15 + 0x12]
mov r9d, eax
mov r12d, eax
nop dword [rax]
test byte [r8], 0x20
lea ecx, [rdx + 1]
lea r8, [r8 + 0x18]
cmovne cx, dx
movzx edx, cx
sub r9, 1
jne 0x1400875b0
movsxd rax, r12d
lea rcx, [rax + rax*2]
test byte [r15 + rcx*8 + 0x12], 0x20
je 0x1400875e6
movzx r8d, word [r11 + 0x38]
sub r8w, dx
add r8w, r12w
jmp 0x1400875ea
movzx r8d, dx
movzx eax, word [rbx + 0x12]
movsx r15d, r8w
sub r15d, r10d
test al, 0x60
je 0x140087649
mov ecx, 0x100
test cx, ax
je 0x14008761c
mov r8, qword [rbx]
lea rdx, str.generated_column_loop_on___s_
mov rcx, rsi
call fcn.14003b590
xor eax, eax
jmp 0x140088f87
or ax, cx
mov word [rbx + 0x12], ax
test al, al
jns 0x140087638
mov r9d, r15d
mov r8, rbx
mov rdx, r11
mov rcx, rsi
call fcn.1400863a0
mov eax, 0xfe7f
and word [rbx + 0x12], ax
mov eax, r15d
jmp 0x140088f87
cmp byte [rbx + 0xc], 0x45
jne 0x140087641
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14008767b
xor eax, eax
mov r9d, r14d
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov edx, 0x51
mov rcx, rdi
call fcn.1400653b0
xor edx, edx
jmp 0x1400876ab
lea eax, [rcx + 1]
xor edx, edx
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x51
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1400876c3
mov dword [rsp + 0x20], edx
jmp 0x1400873c6
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x57
mov dword [rax + rcx*8 + 4], r14d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdx
jmp 0x140088f84
lea r15d, [r10 - 1]
jmp 0x140087719
cmp qword [rsi + 0x68], 0
je 0x140087719
mov r8d, r14d
mov rdx, rbx
mov rcx, rsi
call fcn.140086fa0
test eax, eax
jne 0x140088f87
movsx r9d, word [rbx + 0x30]
mov r8d, r15d
mov rdx, qword [rbx + 0x40]
mov rcx, qword [rsi + 0x10]
movzx edi, byte [rbx + 2]
mov dword [rsp + 0x20], r14d
call fcn.1400865a0
test dil, dil
je 0x140088f84
mov rdx, qword [rsi + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
je 0x140087756
lea rcx, [0x1401acba0]
jmp 0x14008776f
mov eax, dword [rdx + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rcx, [rax + rcx*8]
movzx eax, byte [rcx]
cmp al, 0x5e
jne 0x14008777f
mov word [rcx + 2], di
jmp 0x140088f84
cmp al, 0xb0
jne 0x140088f84
and dil, 1
movzx eax, dil
mov word [rcx + 2], ax
jmp 0x140088f84
mov r9d, r14d
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.1400860f0
jmp 0x140088f84
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x1400877d8
bt eax, 0x13
jae 0x1400877ca
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x1400877d3
cmp byte [rbx], 0x72
jne 0x1400877d8
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne case.0x14008721d.40
mov rax, qword [rbx + 8]
mov edx, r12d
movsxd rcx, dword [rdi + 0x90]
cmp byte [rax + 4], r12b
sete dl
cmp dword [rdi + 0x94], ecx
jg 0x140087812
mov r8d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x47
mov r9d, r14d
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088f84
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], edx
jmp 0x140088f75
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140088f84
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], r12b
jne 0x140087850
and eax, 0x3fffffff
lea rdx, [rsp + 0x68]
mov r8d, eax
mov r9b, 1
call fcn.14003b900
mov rcx, qword [rdi]
mov edx, 8
call fcn.1400379d0
mov rcx, rax
test rax, rax
je 0x140087d3e
mov rax, qword [rsp + 0x68]
jmp 0x140087d3b
mov r8, qword [rbx + 8]
mov edx, r14d
mov rcx, rdi
call fcn.140065520
jmp 0x140088f84
mov rdx, qword [rbx + 8]
add rdx, 2
jne 0x1400878b4
mov eax, r12d
jmp 0x1400878ce
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], r12b
jne 0x1400878c0
and eax, 0x3fffffff
mov rcx, qword [rdi]
lea ebx, [rax - 1]
mov r8d, ebx
call fcn.14003dbf0
mov rsi, rax
mov eax, ebx
cdq
sub eax, edx
movsxd rdx, dword [rdi + 0x90]
sar eax, 1
mov r8d, eax
cmp dword [rdi + 0x94], edx
jg 0x140087911
mov r9d, r14d
mov dword [rsp + 0x20], r12d
mov edx, 0x4d
mov rcx, rdi
call fcn.1400653b0
mov edx, eax
jmp 0x140087940
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x4d
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov r9d, 0xfffffffa
mov r8, rsi
mov rcx, rdi
call fcn.1400661b0
jmp 0x140088f84
movsxd rcx, dword [rdi + 0x90]
movsx edx, word [rbx + 0x30]
cmp dword [rdi + 0x94], ecx
jg 0x140087986
mov r8d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x4e
mov r9d, r14d
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088f84
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x4e
mov dword [rax + rcx*8 + 4], edx
jmp 0x140088f75
mov eax, dword [rbx + 0x2c]
jmp 0x140088f87
mov rdx, qword [rbx + 0x10]
mov r8d, r14d
mov rcx, rsi
call fcn.140089420
mov rcx, qword [rbx + 8]
xor edx, edx
call fcn.140098c10
movsxd rcx, dword [rdi + 0x90]
movsx edx, al
cmp dword [rdi + 0x94], ecx
jg 0x1400879fb
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x58
mov r8d, r14d
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088f84
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x58
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
jmp 0x140088f7f
cmp r13d, 0x2d
mov eax, r12d
mov r15d, 0x80
sete al
mov dword [rsp + 0x54], r15d
lea r13d, [rax + 0x35]
mov r12, qword [rbx + 0x10]
movzx eax, byte [r12]
cmp al, 0xb0
jne 0x140087a55
movzx eax, byte [r12 + 2]
cmp al, 0xb1
jne 0x140087a60
mov rax, qword [r12 + 0x20]
jmp 0x140087a6d
cmp al, 0x8b
jne 0x140087a8e
mov rax, qword [r12 + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x140087a8e
movzx r9d, r13b
mov byte [rsp + 0x20], r15b
mov r8d, r14d
mov rdx, rbx
mov rcx, rsi
call fcn.14007f2d0
jmp 0x140088efb
lea r8, [rbp]
mov rdx, r12
mov rcx, rsi
call fcn.1400892e0
mov rdx, qword [rbx + 0x18]
lea r8, [rbp + 4]
mov rcx, rsi
mov dword [rsp + 0x70], eax
call fcn.1400892e0
movsxd rcx, dword [rdi + 0x90]
mov dword [rsp + 0x50], eax
cmp dword [rdi + 0x94], ecx
jg 0x140087ae2
xor eax, eax
mov r9d, r14d
mov edx, 0x47
mov dword [rsp + 0x20], eax
mov r8d, 1
mov rcx, rdi
call fcn.1400653b0
jmp 0x140087b15
lea eax, [rcx + 1]
xor edx, edx
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov ecx, dword [rbx + 4]
mov r9d, r13d
mov eax, dword [rdi + 0x90]
mov rdx, r12
mov r15d, dword [rsp + 0x70]
add eax, 2
mov r8, qword [rbx + 0x18]
shr ecx, 0xa
and ecx, 1
mov dword [rsp + 0x40], ecx
mov ecx, dword [rsp + 0x54]
mov dword [rsp + 0x38], ecx
mov rcx, rsi
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r15d
call fcn.14007f000
cmp dword [rsp + 0x54], 0x80
movsxd rcx, dword [rdi + 0x90]
mov eax, dword [rdi + 0x94]
jne 0x140087bc5
cmp eax, ecx
jg 0x140087b94
xor eax, eax
mov r9d, r14d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x47
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088efb
lea eax, [rcx + 1]
xor edx, edx
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
jmp 0x140088efb
cmp eax, ecx
jg 0x140087be9
mov eax, dword [rsp + 0x50]
mov r9d, r14d
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov edx, 0x5c
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088efb
mov edx, dword [rsp + 0x50]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
xor r8d, r8d
mov dword [rax + rcx*8], 0x5c
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x140088efb
mov rdx, qword [rbx + 0x10]
lea r8, [rbp]
mov rcx, rsi
call fcn.1400892e0
mov rdx, qword [rbx + 0x18]
lea r8, [rbp + 4]
mov rcx, rsi
mov r15d, eax
call fcn.1400892e0
movsxd rcx, dword [rdi + 0x90]
mov edx, eax
cmp dword [rdi + 0x94], ecx
jg 0x140087c72
mov r9d, r15d
mov dword [rsp + 0x20], r14d
mov r8d, eax
mov edx, r13d
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088efb
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8], r13b
mov word [rax + rcx*8 + 2], r12w
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r14d
mov byte [rax + rcx*8 + 1], r12b
jmp 0x140088ef6
mov rcx, qword [rbx + 0x10]
movzx eax, byte [rcx]
cmp al, 0x9c
jne 0x140087ccc
mov rdx, rcx
mov r9d, r14d
mov rcx, rsi
mov r8d, 1
call fcn.1400860f0
jmp 0x140088f84
cmp al, 0x9a
jne 0x140087d68
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x140088f84
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], r12b
jne 0x140087cf0
and eax, 0x3fffffff
lea rdx, [rsp + 0x60]
mov r8d, eax
mov r9b, 1
call fcn.14003b900
movsd xmm0, qword [rsp + 0x60]
mov edx, 8
xorps xmm0, xmmword [0x14018a620]
mov rcx, qword [rdi]
movsd qword [rsp + 0x60], xmm0
call fcn.1400379d0
mov rcx, rax
test rax, rax
je 0x140087d3e
mov rax, qword [rsp + 0x60]
mov qword [rcx], rax
mov dword [rsp + 0x30], 0xfffffff4
mov r9d, r14d
mov qword [rsp + 0x28], rcx
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], r12d
mov edx, 0x9a
call fcn.1400657a0
jmp 0x140088f84
lea r8, [rbp]
mov byte [rbp + 0x10], 0x9c
lea rdx, [rbp + 0x10]
mov qword [rbp + 0x14], 0x10800
mov rcx, rsi
call fcn.1400892e0
mov rdx, qword [rbx + 0x10]
lea r8, [rbp + 4]
mov rcx, rsi
mov r15d, eax
call fcn.1400892e0
movsxd rcx, dword [rdi + 0x90]
mov edx, eax
cmp dword [rdi + 0x94], ecx
jg 0x140087dc5
mov r9d, r15d
mov dword [rsp + 0x20], r14d
mov r8d, eax
mov edx, 0x6c
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088efb
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x6c
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r14d
jmp 0x140088ef6
mov rdx, qword [rbx + 0x10]
lea r8, [rbp]
mov rcx, rsi
call fcn.1400892e0
movsxd rcx, dword [rdi + 0x90]
mov edx, eax
cmp dword [rdi + 0x94], ecx
jg 0x140087e2f
mov r9d, r14d
mov dword [rsp + 0x20], r12d
mov r8d, eax
mov edx, r13d
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088efb
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8], r13b
mov word [rax + rcx*8 + 2], r12w
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r12d
mov byte [rax + rcx*8 + 1], r12b
jmp 0x140088ef6
mov rdx, qword [rbx + 0x10]
lea r8, [rbp]
mov rcx, rsi
call fcn.1400892e0
mov r10d, eax
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x140087eaa
mov ecx, dword [rax + 4]
test ecx, 0x82000
je 0x140087eaa
bt ecx, 0x13
jae 0x140087e9c
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
jmp 0x140087ea5
cmp byte [rax], 0x72
jne 0x140087eaa
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140087e81
cmp byte [rbx + 2], 0x2d
mov edx, r12d
mov rax, qword [rax + 8]
mov r8d, r12d
sete dl
movzx ecx, byte [rax + 4]
mov eax, r12d
test cl, cl
sete al
xor edx, eax
test cl, cl
movsxd rcx, dword [rdi + 0x90]
setne r8b
cmp dword [rdi + 0x94], ecx
jg 0x140087eff
mov dword [rsp + 0x28], edx
mov r9d, r14d
mov dword [rsp + 0x20], r8d
mov edx, 0x5b
mov r8d, r10d
mov rcx, rdi
call fcn.140065410
jmp 0x140088efb
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xfd5b
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r8d
mov dword [rax + rcx*8 + 0x10], edx
jmp 0x140088efb
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140087f5e
mov r9d, r14d
mov dword [rsp + 0x20], r12d
mov edx, 0x47
mov r8d, 1
mov rcx, rdi
call fcn.1400653b0
jmp 0x140087f90
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rdx, qword [rbx + 0x10]
lea r8, [rbp]
mov rcx, rsi
call fcn.1400892e0
movsxd rbx, dword [rdi + 0x90]
mov edx, eax
cmp dword [rdi + 0x94], ebx
jg 0x140087fcb
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, eax
mov edx, r13d
mov rcx, rdi
call fcn.1400653b0
mov ebx, eax
jmp 0x140087ffc
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8], r13b
mov word [rax + rcx*8 + 2], r12w
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], r12
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], r12b
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140088025
mov r9d, r14d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov edx, 0x47
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088050
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], r12b
je 0x14008806e
lea rcx, [0x1401acba0]
mov dword [rcx + 8], edx
jmp 0x140088efb
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 8], edx
lea rcx, [rax + rcx*8]
jmp 0x140088efb
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400880af
movsx eax, word [rbx + 0x32]
test ax, ax
js 0x1400880af
mov edx, eax
cmp eax, dword [rcx + 0x30]
jge 0x1400880af
mov eax, dword [rcx + 0x20]
add eax, dword [rcx + 0xc]
add eax, edx
jmp 0x140088f87
mov r8, rbx
lea rdx, str.misuse_of_aggregate:__T__
mov rcx, rsi
call fcn.14003b590
jmp 0x140088efb
test dword [rbx + 4], 0x1000000
mov rcx, qword [rsi]
mov dword [rsp + 0x54], r12d
mov qword [rsp + 0x60], rcx
mov qword [rbp - 0x70], r12
movzx eax, byte [rcx + 0x64]
mov byte [rsp + 0x58], al
je 0x1400880f4
mov rax, qword [rbx + 0x40]
mov eax, dword [rax + 0x60]
jmp 0x140088f87
lea rdx, [fcn.1400825f0]
lea r8, [0x140082370]
cmp byte [rsi + 0x23], r12b
je 0x140088151
mov eax, 2
mov qword [rbp - 0x48], rdx
mov rdx, rbx
mov word [rbp - 0x2c], ax
lea rcx, [rbp - 0x50]
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x40], r8
call fcn.14007a9c0
cmp word [rbp - 0x2c], r12w
je 0x140088147
mov r8, 0xffffffffffffffff
mov rdx, rbx
mov rcx, rsi
call fcn.1400890d0
jmp 0x140088f87
movzx eax, byte [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov r13, qword [rbx + 0x20]
mov qword [rsp + 0x68], r13
test r13, r13
je 0x140088163
mov r12d, dword [r13]
mov rdx, qword [rbx + 8]
movzx r9d, al
mov r8d, r12d
mov dword [rsp + 0x50], r12d
mov byte [rsp + 0x20], r15b
call fcn.1400a10e0
mov qword [rsp + 0x78], rax
mov rcx, rax
test rax, rax
je 0x1400884a4
cmp qword [rax + 0x20], r15
jne 0x1400884a4
mov eax, dword [rax + 4]
bt eax, 0x16
jae 0x1400881bd
test r13, r13
je 0x1400881bd
mov r8d, dword [rcx + 8]
mov r9d, r14d
mov rcx, rsi
mov rdx, r13
call fcn.140086920
jmp 0x140088f87
test eax, 0x280000
je 0x1400881f3
test dword [rbx + 4], 0x40000000
je 0x1400881f3
bt eax, 0x13
jb 0x1400881dc
mov rax, qword [rsi]
test byte [rax + 0x30], 0x80
jne 0x1400881f3
mov r8, rbx
lea rdx, str.unsafe_use_of__T__
mov rcx, rsi
call fcn.14003b590
mov rcx, qword [rsp + 0x78]
xor eax, eax
movsxd rdx, r12d
mov qword [rbp - 0x60], rdx
mov r13d, eax
test r12d, r12d
jle 0x1400882cc
mov rax, qword [rsp + 0x68]
lea r12, [fcn.1400825f0]
add rax, 8
lea rbx, [0x140082370]
mov qword [rbp - 0x80], rax
mov r15d, 1
mov r14d, r13d
mov edi, r13d
nop
cmp r13d, 0x20
jge 0x14008826c
mov rdx, qword [rax]
mov word [rbp - 0x2c], r15w
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], rbx
test rdx, rdx
je 0x14008825f
lea rcx, [rbp - 0x50]
call fcn.14007a9c0
cmp word [rbp - 0x2c], 0
je 0x140088263
bts r14d, r13d
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rsp + 0x78]
test byte [rcx + 4], 0x20
je 0x140088292
test rdi, rdi
jne 0x140088292
mov rdx, qword [rbp - 0x80]
mov rcx, rsi
mov rdx, qword [rdx]
call fcn.14007ed10
mov rcx, qword [rsp + 0x78]
mov rdi, rax
mov rdx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x80]
inc r13d
add rax, 0x20
sub rdx, r15
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x60], rdx
jne 0x140088230
mov rbx, qword [rbp - 0x78]
xor eax, eax
mov r12d, dword [rsp + 0x50]
mov dword [rsp + 0x54], r14d
mov r15d, dword [rsp + 0x54]
mov r14d, dword [rsp + 0x70]
mov qword [rbp - 0x70], rdi
mov rdi, qword [rbp - 0x68]
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x14008836b
test r15d, r15d
jne 0x140088325
cmp r12d, 1
jne 0x140088308
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x1400882f6
inc dword [rsi + 0x3c]
mov r15d, dword [rsi + 0x3c]
jmp 0x140088332
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov r15d, dword [rsi + rax*4 + 0xe8]
jmp 0x140088332
mov r8d, dword [rsi + 0x2c]
mov r15d, dword [rsi + 0x30]
cmp r12d, r8d
jg 0x140088325
lea eax, [r15 + r12]
sub r8d, r12d
mov dword [rsi + 0x30], eax
mov dword [rsi + 0x2c], r8d
jmp 0x140088332
mov eax, dword [rsi + 0x3c]
lea r15d, [rax + 1]
add eax, r12d
mov dword [rsi + 0x3c], eax
mov r8d, dword [rcx + 4]
test r8b, 0xc0
je 0x140088351
mov rcx, qword [rdx + 8]
movzx eax, byte [rcx]
add al, 0x58
test al, 0xfd
jne 0x140088351
and r8b, 0xc0
mov byte [rcx + 2], r8b
xor r9d, r9d
mov byte [rsp + 0x20], 2
mov r8d, r15d
mov rcx, rsi
call fcn.140089610
mov rdx, qword [rsp + 0x68]
jmp 0x14008836e
mov r15d, eax
cmp r12d, 2
jl 0x140088399
mov ecx, 0x100
test dword [rbx + 4], ecx
je 0x14008839e
mov r9, qword [rdx + 0x28]
mov rdx, qword [rsp + 0x78]
mov r8d, r12d
mov rcx, qword [rsp + 0x60]
call fcn.1400dd6d0
mov r13, rax
jmp 0x1400883a9
test r12d, r12d
jle 0x1400883a4
mov r9, qword [rdx + 8]
jmp 0x140088382
mov r13, qword [rsp + 0x78]
test byte [r13 + 4], 0x20
je 0x14008842b
cmp qword [rbp - 0x70], 0
jne 0x1400883c4
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x70], rax
movsxd rdx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], edx
jg 0x1400883f0
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x55
mov rcx, rdi
call fcn.1400653b0
mov edx, eax
jmp 0x140088419
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x55
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov r8, qword [rbp - 0x70]
mov r9d, 0xfffffffe
mov rcx, rdi
call fcn.1400661b0
movzx eax, byte [rbx + 2]
mov r9d, r14d
mov ebx, dword [rsp + 0x54]
mov r8d, r15d
mov dword [rsp + 0x30], eax
mov edx, ebx
mov qword [rsp + 0x28], r13
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.1400658e0
test r12d, r12d
je 0x140088f84
test ebx, ebx
jne 0x140088f84
cmp r12d, 1
jne 0x14008848d
test r15d, r15d
je 0x140088f84
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x140088f84
mov dword [rsi + rax*4 + 0xe8], r15d
inc byte [rsi + 0x1f]
jmp 0x140088f84
cmp r12d, dword [rsi + 0x2c]
jle 0x140088f84
mov dword [rsi + 0x2c], r12d
mov dword [rsi + 0x30], r15d
jmp 0x140088f84
mov r8, rbx
lea rdx, str.unknown_function:__T__
mov rcx, rsi
call fcn.14003b590
jmp 0x140088efb
mov rax, qword [rsi]
cmp byte [rax + 0x67], r12b
jne 0x140087615
cmp r13d, 0x8b
jne 0x14008850f
test dword [rbx + 4], 0x1000
je 0x14008850f
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 0x20]
mov r8d, dword [rcx]
cmp r8d, 1
je 0x14008850f
cmp dword [rsi + 0x34], r12d
jne 0x140088efb
mov r9d, 1
lea rdx, str.sub_select_returns__d_columns___expected__d
mov rcx, rsi
call fcn.14003b590
jmp 0x140088efb
mov rdx, rbx
mov rcx, rsi
call fcn.140084850
jmp 0x140088f87
mov rdi, qword [rbx + 0x10]
cmp dword [rdi + 0x2c], r12d
je 0x140088532
movzx ecx, byte [rdi + 2]
cmp byte [rsi + 0x26], cl
jbe 0x140088547
mov rdx, rdi
mov rcx, rsi
call fcn.140084850
mov dword [rdi + 0x2c], eax
movzx ecx, byte [rsi + 0x26]
mov byte [rdi + 2], cl
movzx eax, byte [rdi]
cmp al, 0xb0
cmovne ecx, eax
cmp cl, 0xb1
jne 0x14008855d
mov rax, qword [rdi + 0x20]
mov r15d, dword [rax]
jmp 0x140088575
cmp cl, 0x8b
jne 0x14008856f
mov rax, qword [rdi + 0x20]
mov rcx, qword [rax + 0x20]
mov r15d, dword [rcx]
jmp 0x140088575
mov r15d, 1
mov r8d, dword [rbx + 0x2c]
cmp r8d, r15d
je 0x140088590
mov r9d, r15d
lea rdx, str._d_columns_assigned__d_values
mov rcx, rsi
call fcn.14003b590
movsx eax, word [rbx + 0x30]
add eax, dword [rdi + 0x2c]
jmp 0x140088f87
mov r13d, dword [rsi + 0x48]
dec r13d
lea r12d, [r13 - 1]
mov dword [rsi + 0x48], r12d
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1400885d5
xor eax, eax
mov r9d, r14d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x4b
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088601
lea eax, [rcx + 1]
xor edx, edx
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov r9d, r12d
mov r8d, r13d
mov rdx, rbx
mov rcx, rsi
call fcn.140084ff0
movsxd rcx, dword [rdi + 0x90]
xor ebx, ebx
cmp dword [rdi + 0x94], ecx
jg 0x14008863f
mov r9d, r14d
mov dword [rsp + 0x20], ebx
mov edx, 0x47
mov r8d, 1
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088670
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov rcx, qword [rdi + 0x18]
not r13d
mov eax, dword [rcx + 0x4c]
add eax, dword [rcx + 0x48]
jns 0x14008868c
mov r8d, r13d
mov rdx, rdi
call fcn.140065c60
jmp 0x14008869c
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, r13d
mov dword [rcx + rdx*4], eax
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1400886c4
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, r14d
mov edx, 0x56
mov rcx, rdi
call fcn.1400653b0
jmp 0x1400886ee
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x56
mov dword [rax + rcx*8 + 4], r14d
mov qword [rax + rcx*8 + 8], r15
mov qword [rax + rcx*8 + 0x10], rbx
mov rcx, qword [rdi + 0x18]
not r12d
mov eax, dword [rcx + 0x4c]
add eax, dword [rcx + 0x48]
jns 0x14008870d
mov r8d, r12d
mov rdx, rdi
call fcn.140065c60
jmp 0x140088f84
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, r12d
mov dword [rcx + rdx*4], eax
jmp 0x140088f84
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, r14d
mov rdx, rbx
mov rcx, rsi
call fcn.1400898d0
jmp 0x140088f84
mov r15, qword [rbx + 0x40]
movsx r12, word [rbx + 0x30]
test byte [r15 + 0x30], 0x20
je 0x1400887bd
test r12w, r12w
js 0x1400887bd
xor r11d, r11d
mov eax, r12d
movzx edx, r11w
mov r10d, r11d
test r12d, r12d
jle 0x140088798
mov r8, qword [r15 + 8]
mov r9d, eax
add r8, 0x12
mov r10d, eax
nop dword [rax]
nop word [rax + rax]
test byte [r8], 0x20
lea ecx, [rdx + 1]
lea r8, [r8 + 0x18]
cmovne cx, dx
movzx edx, cx
sub r9, 1
jne 0x140088780
movsxd rax, r10d
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 8]
test byte [rax + rcx*8 + 0x12], 0x20
je 0x1400887b8
movzx eax, word [r15 + 0x38]
sub ax, dx
add ax, r10w
jmp 0x1400887c4
movzx eax, dx
jmp 0x1400887c4
movzx eax, r12w
xor r11d, r11d
movsx ecx, word [r15 + 0x36]
inc ecx
movsx edx, ax
imul ecx, dword [rbx + 0x2c]
inc ecx
add edx, ecx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140088802
mov r8d, edx
mov dword [rsp + 0x20], r11d
mov edx, 0x9d
mov r9d, r14d
mov rcx, rdi
call fcn.1400653b0
xor r11d, r11d
jmp 0x140088830
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x9d
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
test r12w, r12w
js 0x140088efb
mov rax, qword [r15 + 8]
lea rcx, [r12 + r12*2]
cmp byte [rax + rcx*8 + 0xc], 0x45
jne 0x140088efb
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140088879
xor r9d, r9d
mov dword [rsp + 0x20], r11d
mov r8d, r14d
mov edx, 0x57
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088efb
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x57
mov dword [rax + rcx*8 + 4], r14d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r11
jmp 0x140088efb
lea rdx, str.row_value_misused
mov rcx, rsi
call fcn.14003b590
jmp 0x140088efb
mov rdx, qword [rbx + 0x38]
movzx r12d, byte [rsi + 0x23]
test rdx, rdx
je 0x14008895e
cmp byte [rdx], r15b
jne 0x1400888e5
movsx r14d, word [rbx + 0x32]
add r14d, dword [rdx + 0xc]
jmp 0x140088efb
cmp byte [rdx + 1], r15b
je 0x14008895e
movsx rax, word [rbx + 0x32]
mov r8d, dword [rdx + 8]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x18]
movsx r9d, word [rax + rcx*8 + 0x16]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140088928
mov edx, 0x5e
mov dword [rsp + 0x20], r14d
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088efb
lea eax, [rcx + 1]
xor edx, edx
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], rdx
jmp 0x140088efb
movsxd r15, dword [rdi + 0x90]
mov edx, dword [rbx + 0x2c]
cmp dword [rdi + 0x94], r15d
jg 0x14008898e
mov r8d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x14
xor r9d, r9d
mov rcx, rdi
call fcn.1400653b0
mov r15d, eax
jmp 0x1400889c0
lea rcx, [r15 + r15*2]
xor r8d, r8d
lea eax, [r15 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x14
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r8
mov byte [rsi + 0x23], 0
mov r8d, r14d
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
call fcn.140089420
mov byte [rsi + 0x23], r12b
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x1400889f5
lea rcx, [0x1401acba0]
mov dword [rcx + 8], edx
jmp 0x140088efb
movsxd rax, r15d
jmp 0x140088071
mov rdx, qword [rbx + 0x20]
mov rcx, r12
mov rax, qword [rsi]
mov qword [rbp - 0x68], rdx
mov qword [rsp + 0x68], rcx
lea r15, [rdx + 8]
mov qword [rbp - 0x78], r12
mov edx, dword [rdx]
dec dword [rsi + 0x48]
mov rbx, qword [rbx + 0x10]
mov r13d, dword [rsi + 0x48]
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x50], edx
test rbx, rbx
je 0x140088b07
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call fcn.140080c30
mov r12, rax
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x80]
cmp byte [rax + 0x67], 0
je 0x140088a71
test r12, r12
je 0x140088efb
mov rdx, r12
mov rcx, rax
call fcn.140080920
jmp 0x140088efb
lea r8, [rbp]
mov rdx, r12
mov rcx, rsi
call fcn.140086830
mov edx, eax
mov rax, r12
test r12, r12
je 0x140088ab9
nop word [rax + rax]
mov ecx, dword [rax + 4]
test ecx, 0x82000
je 0x140088abe
bt ecx, 0x13
jae 0x140088aab
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
jmp 0x140088ab4
cmp byte [rax], 0x72
jne 0x140088ab9
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140088a90
test rax, rax
je 0x140088ad6
movzx ecx, byte [rax]
cmp cl, 0xb0
je 0x140088ad6
and dword [rax + 4], 0xffffdfff
mov byte [rax + 2], cl
mov byte [rax], 0xb0
mov dword [rax + 0x2c], edx
mov edx, dword [rsp + 0x50]
lea rcx, [rbp - 0x50]
xorps xmm0, xmm0
mov qword [rsp + 0x68], rcx
xor eax, eax
movups xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x50], 0x36
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x40], r12
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x10], rax
movups xmmword [rbp - 0x20], xmm0
mov dword [rbp], eax
lea eax, [rdx - 1]
test eax, eax
jle 0x140088cca
test rbx, rbx
je 0x140088bfb
lea r12d, [rax - 1]
shr r12d, 1
inc r12d
nop word [rax + rax]
mov ebx, dword [rsi + 0x48]
mov rdx, rcx
mov rax, qword [r15]
dec ebx
mov r8d, ebx
mov qword [rbp - 0x38], rax
mov r9d, 0x10
mov dword [rsi + 0x48], ebx
mov rcx, rsi
call fcn.14008a030
mov rdx, qword [r15 + 0x20]
mov r8d, r14d
mov rcx, rsi
call fcn.140089420
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140088b8c
xor eax, eax
mov r9d, r13d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 9
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088bb8
lea eax, [rcx + 1]
xor edx, edx
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [rdi + 0x18]
not ebx
mov eax, dword [rcx + 0x4c]
add eax, dword [rcx + 0x48]
jns 0x140088bd3
mov r8d, ebx
mov rdx, rdi
call fcn.140065c60
jmp 0x140088be3
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, ebx
mov dword [rcx + rdx*4], eax
mov rcx, qword [rsp + 0x68]
add r15, 0x40
sub r12, 1
jne 0x140088b30
jmp 0x140088cca
movsxd r12, eax
test eax, eax
jle 0x140088cca
dec r12
shr r12, 1
inc r12
nop
mov ebx, dword [rsi + 0x48]
mov r9d, 0x10
mov rdx, qword [r15]
dec ebx
mov r8d, ebx
mov dword [rsi + 0x48], ebx
mov rcx, rsi
call fcn.14008a030
mov rdx, qword [r15 + 0x20]
mov r8d, r14d
mov rcx, rsi
call fcn.140089420
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140088c65
xor eax, eax
mov r9d, r13d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 9
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088c91
lea eax, [rcx + 1]
xor edx, edx
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [rdi + 0x18]
not ebx
mov eax, dword [rcx + 0x4c]
add eax, dword [rcx + 0x48]
jns 0x140088cac
mov r8d, ebx
mov rdx, rdi
call fcn.140065c60
jmp 0x140088cbc
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, ebx
mov dword [rcx + rdx*4], eax
add r15, 0x40
sub r12, 1
jne 0x140088c10
movsxd rax, dword [rsp + 0x50]
test al, 1
je 0x140088cf0
mov rdx, rax
mov r8d, r14d
mov rax, qword [rbp - 0x68]
mov rcx, rsi
shl rdx, 5
mov rdx, qword [rdx + rax - 0x18]
call fcn.140089420
jmp 0x140088d46
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140088d1a
xor eax, eax
mov r9d, r14d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x4b
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088d46
lea eax, [rcx + 1]
xor edx, edx
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x140088d5b
mov rcx, qword [rbp - 0x80]
mov rdx, rax
call fcn.140080920
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x140088d6d
lea rcx, [0x1401acba0]
jmp 0x140088d86
mov eax, dword [rdi + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rcx, [rax + rcx*8]
cmp byte [rcx], 0x50
jne 0x140088da8
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x140088da8
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 1
mov rcx, qword [rdi + 0x18]
not r13d
mov eax, dword [rcx + 0x4c]
add eax, dword [rcx + 0x48]
jns 0x140088dc7
mov r8d, r13d
mov rdx, rdi
call fcn.140065c60
jmp 0x140088efb
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, r13d
mov dword [rcx + rdx*4], eax
jmp 0x140088efb
cmp qword [rsi + 0xb8], r12
jne 0x140088e01
cmp byte [rsi + 0x1e], r12b
jne 0x140088e01
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, rsi
call fcn.14003b590
xor eax, eax
jmp 0x140088f87
cmp byte [rbx + 1], 2
jne 0x140088e1c
mov rax, qword [rsi + 0xb0]
mov rcx, rsi
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
cmp byte [rbx + 1], 4
jne 0x140088e78
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140088e51
mov r9d, 4
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov edx, 0x46
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088efb
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x46
mov qword [rax + rcx*8 + 8], 4
jmp 0x140088ef6
mov rdx, qword [rbx + 0x10]
lea r8, [rbp]
mov rcx, rsi
call fcn.1400892e0
cmp qword [rsi + 0xb8], r12
mov edx, eax
movsxd rcx, dword [rdi + 0x90]
mov eax, 0x713
movsx r8d, byte [rbx + 1]
mov r15d, 1
cmovne r15d, eax
cmp dword [rdi + 0x94], ecx
jg 0x140088ecd
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, r15d
mov edx, 0x46
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088efb
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r12
mov ecx, dword [rbp]
test ecx, ecx
je 0x140088f14
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x140088f14
mov dword [rsi + rax*4 + 0xe8], ecx
inc byte [rsi + 0x1f]
mov eax, dword [rbp + 4]
test eax, eax
je 0x140088f84
movzx ecx, byte [rsi + 0x1f]
cmp cl, 8
jae 0x140088f84
mov dword [rsi + rcx*4 + 0xe8], eax
inc byte [rsi + 0x1f]
jmp 0x140088f84
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140088f59
mov r9d, r14d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov edx, 0x4b
mov rcx, rdi
call fcn.1400653b0
jmp 0x140088f84
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 0xc], r12d
mov dword [rax + rcx*8 + 8], r14d
mov qword [rax + rcx*8 + 0x10], r12
mov eax, r14d
mov r13, qword [rsp + 0x1c8]
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1401391d0
add rsp, 0x170
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret