Function at 0x14028e3cc
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov r12, qword [rcx + 0x10]
mov r10d, 0xa8
mov r14, rcx
mov qword [rsp + 0x78], r12
xor ecx, ecx
mov r15d, r8d
mov rsi, rdx
mov dword [rbp + 0x80], ecx
mov dword [rsp + 0x50], ecx
lea r8d, [r10 - 0xf]
mov edx, ecx
mov dword [rbp + 0x98], ecx
lea edi, [rcx + 2]
lea r9d, [r10 + 7]
test rsi, rsi
je 0x14028e4c9
movzx ebx, byte [rsi]
mov r13d, 1
cmp ebx, 0x6d
jbe 0x14028f04e
cmp ebx, r10d
ja 0x14028e487
je 0x14028e97e
cmp ebx, r8d
ja 0x14028e5cb
je 0x14028e5b4
mov dword [rbp + 0x88], ebx
mov edi, ebx
sub ebx, 0x6e
je 0x14028f4f9
sub ebx, r13d
je 0x14028f4f9
sub ebx, 2
jne 0x14028e531
mov edi, 2
jmp 0x14028e521
cmp ebx, r9d
ja 0x14028e4f6
je 0x14028ef14
mov edi, ebx
sub ebx, 0xa9
je 0x14028ed35
sub ebx, r13d
je 0x14028ed0b
sub ebx, r13d
je 0x14028f0a8
sub ebx, r13d
je 0x14028ea1c
sub ebx, r13d
je 0x14028e9be
cmp ebx, r13d
je 0x14028e47d
xor r8d, r8d
lea edx, [r8 + 0x4a]
mov dword [rsp + 0x20], ecx
mov r9d, r15d
mov rcx, r12
call fcn.1402b4e38
mov eax, r15d
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
sub ebx, 0xb0
je 0x14028f046
sub ebx, r13d
je 0x14028f032
sub ebx, r13d
je 0x14028efe6
sub ebx, r13d
je 0x14028ef85
cmp ebx, edi
jne 0x14028e4c9
mov rsi, qword [rsi + 0x10]
mov qword [rbp + 0x88], rsi
jmp 0x14028e425
sub ebx, r13d
je 0x14028f156
sub ebx, 3
je 0x14028e5a0
cmp ebx, 0x15
jne 0x14028e4c9
mov rax, qword [r14]
cmp byte [rax + 0x67], cl
jne 0x14028ee5b
cmp edi, 0x8a
jne 0x14028f146
test dword [rsi + 4], 0x800
je 0x14028f146
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], r13d
je 0x14028f146
xor ebx, ebx
cmp dword [r14 + 0x30], ebx
jne 0x14028f534
mov r8d, dword [rcx]
lea rdx, str.sub_select_returns__d_columns___expected__d
mov rcx, r14
mov r9d, r13d
call fcn.14028cca4
jmp 0x14028f534
mov r8, qword [rsi + 8]
mov edx, r15d
mov rcx, r12
call fcn.1402bda7c
jmp 0x14028e4df
mov rdx, qword [rsi + 8]
xor r8d, r8d
mov r9d, r15d
mov rcx, r12
call fcn.140236844
jmp 0x14028e4df
sub ebx, 0x9a
je 0x14028e919
sub ebx, r13d
je 0x14028e903
sub ebx, r13d
je 0x14028e890
sub ebx, r13d
je 0x14028e650
cmp ebx, 0xa
jne 0x14028e4c9
test byte [rsi + 4], 8
mov r8d, dword [rsi + 0x2c]
je 0x14028edf7
mov rdx, qword [rsi + 0x10]
mov r8d, r15d
mov rcx, r14
call fcn.14028e3cc
mov rdx, qword [rsi + 0x40]
xor ecx, ecx
mov edi, eax
test rdx, rdx
je 0x14028edac
movsx rax, word [rsi + 0x30]
test ax, ax
js 0x14028eda8
cmp ax, word [rdx + 0x36]
jge 0x14028eda8
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 8]
mov dl, byte [rax + rcx*8 + 0xc]
xor ecx, ecx
jmp 0x14028edaf
mov rax, qword [rsi + 0x20]
mov r10, rcx
mov rbx, qword [r14]
mov rdi, rcx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x68], rcx
lea rcx, [rax + 8]
mov qword [rbp - 0x80], rbx
mov eax, dword [rax]
mov dword [rbp + 0x90], eax
mov eax, dword [r14 + 0x44]
dec eax
mov qword [rbp + 0x98], rcx
mov dword [r14 + 0x44], eax
mov rdx, qword [rsi + 0x10]
mov dword [rbp + 0x88], eax
mov qword [rsp + 0x60], rdx
test rdx, rdx
je 0x14028e736
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call fcn.14023cd70
xor ecx, ecx
mov qword [rsp + 0x68], rax
mov rdi, rax
cmp byte [rbx + 0x67], cl
je 0x14028e6d6
test rax, rax
je 0x14028f534
mov rdx, rax
mov rcx, rbx
call fcn.14028fb1c
jmp 0x14028f534
lea r8, [rbp + 0x80]
mov rdx, rdi
mov rcx, r14
call fcn.14023cb98
mov rcx, rdi
mov r8d, eax
call fcn.140290f34
mov rdx, rax
test rax, rax
je 0x14028e70c
mov al, byte [rax]
btr dword [rdx + 4], 0xc
mov byte [rdx + 2], al
mov byte [rdx], 0xb0
mov dword [rdx + 0x2c], r8d
xor edx, edx
lea rcx, [rbp - 0x70]
lea r8d, [rdx + 0x48]
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp + 0x98]
lea r10, [rbp - 0x70]
xor edx, edx
mov byte [rbp - 0x70], 0x35
mov dword [rbp + 0x80], edx
mov qword [rbp - 0x60], rdi
movsxd rsi, dword [rbp + 0x90]
dec rsi
mov qword [rsp + 0x70], rsi
test rsi, rsi
jle 0x14028e805
mov rdi, qword [rsp + 0x60]
lea rax, [rsi - 1]
shr rax, 1
add rax, r13
mov rsi, rax
mov rcx, qword [rcx]
test rdi, rdi
mov rax, qword [rbp - 0x58]
mov r9d, reloc.WS2_32.dll_recv
cmove r10, rcx
cmovne rax, rcx
dec dword [r14 + 0x44]
mov rdx, r10
mov ebx, dword [r14 + 0x44]
mov rcx, r14
mov r8d, ebx
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x58], r10
call fcn.14028fd98
mov rdx, qword [rbp + 0x98]
mov r8d, r15d
mov rcx, r14
mov rdx, qword [rdx + 0x20]
call fcn.14028d600
mov r9d, dword [rbp + 0x88]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r12
lea edx, [rax + 0xb]
call fcn.1402b4e38
mov edx, ebx
mov rcx, r12
call fcn.1402bf958
mov rcx, qword [rbp + 0x98]
mov edx, 0
mov r10, qword [rsp + 0x58]
add rcx, 0x40
mov qword [rbp + 0x98], rcx
sub rsi, r13
jne 0x14028e760
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x80]
test byte [rbp + 0x90], r13b
je 0x14028e829
mov rdx, qword [rsp + 0x78]
mov r8d, r15d
shl rsi, 5
mov rcx, r14
mov rdx, qword [rsi + rdx + 8]
call fcn.14028d600
jmp 0x14028e83f
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, r15d
mov rcx, r12
lea edx, [r8 + 0x4a]
call fcn.1402b4e38
test rdi, rdi
je 0x14028e84f
mov rdx, rdi
mov rcx, rbx
call fcn.14028fb1c
or edx, 0xffffffff
mov rcx, r12
call fcn.1402bd15c
cmp byte [rax], 0x4f
jne 0x14028e87d
movsxd rax, dword [r12 + 0x98]
test eax, eax
jle 0x14028e87d
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x90]
mov word [rax + rcx*8 - 0x16], r13w
mov edx, dword [rbp + 0x88]
mov rcx, r12
call fcn.1402bf958
jmp 0x14028f534
movsx r8d, word [rsi + 0x30]
mov r9d, r15d
mov dword [rsp + 0x20], ecx
mov edx, 0x4d
mov rcx, r12
call fcn.1402b4e38
mov rax, qword [rsi + 8]
xor r8d, r8d
cmp byte [rax + 1], r8b
je 0x14028e4df
mov rdx, qword [r14 + 0x138]
test rdx, rdx
jne 0x14028e8cb
mov rax, r8
jmp 0x14028e8ec
movsx ecx, word [rsi + 0x30]
movsxd rax, edi
cmp dword [rdx + rax*4], ecx
je 0x14028e8e2
add edi, dword [rdx + rax*4 + 4]
cmp edi, dword [rdx + 4]
jl 0x14028e8cf
jmp 0x14028e8c6
lea eax, [rdi + 2]
movsxd rcx, eax
lea rax, [rdx + rcx*4]
mov dword [rdx], r8d
mov rcx, r12
or r8d, 0xffffffff
mov rdx, rax
call fcn.1402b5184
jmp 0x14028e4df
xor r8d, r8d
mov rdx, rsi
mov r9d, r15d
mov rcx, r14
call fcn.140236710
jmp 0x14028e4df
mov rsi, qword [rsi + 8]
add rsi, rdi
jne 0x14028e926
mov eax, ecx
jmp 0x14028e933
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
and eax, 0x3fffffff
mov rcx, qword [r12]
lea ebx, [rax - 1]
mov r8d, ebx
mov rdx, rsi
call fcn.1402a1e1c
mov rdi, rax
mov r9d, r15d
mov eax, ebx
mov rcx, r12
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
xor eax, eax
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x4c]
call fcn.1402b4e38
mov r9d, 0xfffffff9
mov r8, rdi
mov edx, eax
mov rcx, r12
call fcn.1402b51fc
jmp 0x14028e4df
mov rdx, qword [rsi + 0x38]
test rdx, rdx
je 0x14028e9a7
movsx rcx, word [rsi + 0x32]
test cx, cx
js 0x14028e9a7
cmp ecx, dword [rdx + 0x38]
jge 0x14028e9a7
mov rax, qword [rdx + 0x30]
shl rcx, 5
mov eax, dword [rcx + rax + 0x10]
jmp 0x14028e4e2
lea rdx, str.misuse_of_aggregate:__T__
mov r8, rsi
mov rcx, r14
call fcn.14028cca4
jmp 0x14028f534
mov rdx, qword [rsi + 0x10]
cmp byte [rdx], 0x9b
jne 0x14028e9cf
mov r8d, r13d
jmp 0x14028e909
cmp byte [rdx], r8b
jne 0x14028e9e0
mov rdx, qword [rdx + 8]
mov r8d, r13d
jmp 0x14028e5bb
lea r8, [rbp + 0x80]
mov byte [rbp - 0x20], 0x9b
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x1c], 0x4400
mov rcx, r14
call fcn.14028f584
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x50]
mov rcx, r14
mov ebx, eax
call fcn.14028f584
mov edx, WSAGetLastError
jmp 0x14028f521
xor edi, edi
mov dword [rbp + 0x98], ecx
test dword [rsi + 4], 0x1000000
mov rcx, qword [r14]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x58], rdi
mov bl, byte [rcx + 0x64]
je 0x14028ea49
mov rax, qword [rsi + 0x40]
mov eax, dword [rax + 0x60]
jmp 0x14028e4e2
cmp byte [r14 + 0x23], dil
je 0x14028ea7b
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 2]
call fcn.14023d344
test eax, eax
je 0x14028ea76
or r8d, 0xffffffff
mov rdx, rsi
mov rcx, r14
call fcn.14028e274
jmp 0x14028e4e2
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14028ea8b
mov edi, dword [rax]
mov rdx, qword [rsi + 8]
xor eax, eax
mov r9b, bl
mov byte [rsp + 0x20], al
mov r8d, edi
mov dword [rsp + 0x70], edi
call fcn.140291060
xor r8d, r8d
mov rbx, rax
test rax, rax
je 0x14028ecff
cmp qword [rax + 0x20], r8
jne 0x14028ecff
test dword [rax + 4], 0x400000
je 0x14028eadf
mov r8d, dword [rax + 8]
mov r9d, r15d
mov rdx, qword [rsp + 0x60]
mov rcx, r14
call fcn.14023c96c
jmp 0x14028e4e2
test dword [rax + 4], 0x280000
je 0x14028eb18
test dword [rsi + 4], 0x40000000
je 0x14028eb18
test dword [rax + 4], 0x80000
jne 0x14028eb03
mov rax, qword [r14]
test byte [rax + 0x30], 0x80
jne 0x14028eb18
mov r8, rsi
lea rdx, str.unsafe_use_of__T__
mov rcx, r14
call fcn.14028cca4
xor r8d, r8d
movsxd rdx, edi
mov ecx, r8d
mov dword [rbp + 0x80], ecx
mov qword [rsp + 0x50], rdx
test edi, edi
jle 0x14028ebcd
mov r12, qword [rsp + 0x60]
mov r15d, dword [rbp + 0x98]
add r12, 8
mov edi, r15d
cmp ecx, 0x20
jge 0x14028eb6b
mov rcx, qword [r12]
xor r8d, r8d
mov edx, r13d
call fcn.14023d344
mov ecx, dword [rbp + 0x80]
mov rdx, qword [rsp + 0x50]
test eax, eax
je 0x14028eb6b
bts r15d, ecx
test byte [rbx + 4], 0x20
je 0x14028eb90
test rdi, rdi
jne 0x14028eb90
mov rdx, qword [r12]
mov rcx, r14
call fcn.14028f6ac
mov ecx, dword [rbp + 0x80]
mov rdi, rax
mov rdx, qword [rsp + 0x50]
add ecx, r13d
add r12, 0x20
sub rdx, r13
mov dword [rbp + 0x80], ecx
mov qword [rsp + 0x50], rdx
jne 0x14028eb44
mov rsi, qword [rbp + 0x88]
xor r8d, r8d
mov r12, qword [rsp + 0x78]
mov qword [rsp + 0x58], rdi
mov edi, dword [rsp + 0x70]
mov dword [rbp + 0x98], r15d
mov r15d, dword [rbp + 0x90]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14028ec3c
cmp dword [rbp + 0x98], r8d
je 0x14028ebf0
mov eax, dword [r14 + 0x38]
lea r13d, [rax + 1]
add eax, edi
mov dword [r14 + 0x38], eax
jmp 0x14028ec02
mov edx, edi
mov rcx, r14
call fcn.1402a1144
mov rcx, qword [rsp + 0x60]
mov r13d, eax
test byte [rbx + 4], 0xc0
je 0x14028ec1c
mov rdx, qword [rcx + 8]
mov al, byte [rdx]
add al, 0x59
test al, 0xfd
jne 0x14028ec1c
mov al, byte [rbx + 4]
and al, 0xc0
mov byte [rdx + 2], al
mov rdx, rcx
mov byte [rsp + 0x20], 3
mov rcx, r14
xor r9d, r9d
mov r8d, r13d
call fcn.14028d6d4
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
jmp 0x14028ec3f
mov r13d, r8d
cmp edi, 2
jl 0x14028ec50
test byte [rsi + 4], 0x80
je 0x14028ec54
mov r9, qword [rcx + 0x28]
jmp 0x14028ec58
test edi, edi
jle 0x14028ec6e
mov r9, qword [rcx + 8]
mov rcx, qword [rsp + 0x68]
mov r8d, edi
mov rdx, rbx
call fcn.1402c135c
xor r8d, r8d
mov rbx, rax
test byte [rbx + 4], 0x20
je 0x14028ecb5
cmp qword [rsp + 0x58], r8
jne 0x14028ec89
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x58], rax
xor r9d, r9d
mov dword [rsp + 0x20], r8d
xor r8d, r8d
mov rcx, r12
lea edx, [r9 + 0x54]
call fcn.1402b4e38
mov r8, qword [rsp + 0x58]
mov r9d, 0xfffffffe
mov edx, eax
mov rcx, r12
call fcn.1402b51fc
movzx eax, byte [rsi + 2]
mov r9d, r15d
mov dword [rsp + 0x30], eax
mov r8d, r13d
mov qword [rsp + 0x28], rbx
mov rcx, r14
mov ebx, dword [rbp + 0x98]
mov edx, ebx
mov dword [rsp + 0x20], edi
call fcn.1402b4d38
test edi, edi
je 0x14028e4df
test ebx, ebx
jne 0x14028e4df
mov r8d, edi
mov edx, r13d
mov rcx, r14
call fcn.1402ac940
jmp 0x14028e4df
lea rdx, str.unknown_function:__T__
jmp 0x14028e9ae
test dword [rsi + 4], 0x1000
je 0x14028ed1d
mov rsi, qword [rsi + 0x10]
test rsi, rsi
jne 0x14028ed0b
mov rax, qword [rsi + 8]
mov r8d, ecx
mov edx, 0x47
cmp byte [rax + 4], cl
sete r8b
jmp 0x14028e4d0
mov r8, qword [rsi + 0x38]
movsx rbx, word [rsi + 0x32]
shl rbx, 5
add rbx, qword [r8 + 0x20]
cmp byte [r8], cl
jne 0x14028ed53
mov eax, dword [rbx + 0x14]
jmp 0x14028e4e2
cmp byte [r8 + 1], cl
je 0x14028e5f7
movsx r9d, word [rbx + 0x1a]
mov edx, 0x5d
mov r8d, dword [r8 + 8]
mov rcx, r12
mov rdi, qword [rbx]
mov dword [rsp + 0x20], r15d
call fcn.1402b4e38
xor edx, edx
cmp word [rbx + 0x18], dx
jl 0x14028e4df
movsx rax, word [rbx + 0x18]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
cmp byte [rax + rcx*8 + 0xc], 0x45
jne 0x14028e4df
mov dword [rsp + 0x20], edx
jmp 0x14028eeaf
mov dl, 0x44
jmp 0x14028edaf
mov dl, byte [rsi + 1]
movsx ebx, dl
cmp ebx, 0x41
jle 0x14028edf0
mov dword [rsp + 0x20], ecx
mov r9d, r13d
mov rcx, r12
mov r8d, edi
mov edx, 0x5f
call fcn.1402b4e38
mov edx, eax
or r9d, 0xffffffff
lea eax, [rbx*2 - 0x84]
mov rcx, r12
movsxd r8, eax
lea rax, str.BCDE
add r8, rax
call fcn.1402b51fc
mov eax, edi
jmp 0x14028e4e2
test r8d, r8d
jns 0x14028eec2
mov edi, dword [r14 + 0x40]
test edi, edi
jns 0x14028eebe
movsx rdx, word [rsi + 0x30]
mov r13, qword [rsi + 0x40]
test dx, dx
jns 0x14028ee1e
not edi
jmp 0x14028edf0
mov rax, qword [r13 + 8]
lea rcx, [rdx + rdx*2]
lea rbx, [rax + rcx*8]
mov rcx, r13
call fcn.1402b17bc
movsx esi, ax
movzx eax, word [rbx + 0x12]
sub esi, edi
test al, 0x60
je 0x14028ee8e
mov ecx, 0x100
test cx, ax
je 0x14028ee62
mov r8, qword [rbx]
lea rdx, str.generated_column_loop_on___s_
mov rcx, r14
call fcn.14028cca4
xor eax, eax
jmp 0x14028e4e2
or ax, cx
mov word [rbx + 0x12], ax
test al, al
jns 0x14028ee7e
mov r9d, esi
mov r8, rbx
mov rdx, r13
mov rcx, r14
call fcn.14028d8bc
mov eax, 0xfe7f
and word [rbx + 0x12], ax
mov eax, esi
jmp 0x14028e4e2
cmp byte [rbx + 0xc], 0x45
jne 0x14028ee87
xor ebx, ebx
mov r9d, r15d
mov r8d, esi
mov dword [rsp + 0x20], ebx
mov rcx, r12
lea edx, [rbx + 0x50]
call fcn.1402b4e38
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8d, r15d
lea edx, [r9 + 0x56]
jmp 0x14028e4d7
lea r8d, [rdi - 1]
movsx r9d, word [rsi + 0x30]
mov rdx, qword [rsi + 0x40]
mov rcx, qword [r14 + 0x10]
movzx ebx, byte [rsi + 2]
mov dword [rsp + 0x20], r15d
call fcn.14028d988
xor r10d, r10d
test bl, bl
je 0x14028eef9
mov rcx, qword [r14 + 0x10]
or edx, 0xffffffff
call fcn.1402bd15c
cmp byte [rax], 0x5d
jne 0x14028eef9
mov word [rax + 2], bx
cmp qword [rsi + 0x40], r10
jne 0x14028e4df
cmp byte [rsi + 1], 0x45
jne 0x14028e4df
mov dword [rsp + 0x20], r10d
jmp 0x14028eeaf
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x80]
mov rcx, r14
call fcn.14028f584
mov r8d, eax
xor r9d, r9d
mov rax, qword [rsi + 0x18]
jmp 0x14028ef40
test dword [rax + 4], 0x1000
je 0x14028ef45
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14028ef33
mov rax, qword [rax + 8]
mov edx, r9d
cmp byte [rsi + 2], 0x2d
sete dl
mov cl, byte [rax + 4]
mov eax, r9d
test cl, cl
sete al
xor edx, eax
mov eax, r9d
test cl, cl
mov dword [rsp + 0x28], edx
mov r9d, r15d
mov edx, 0x5a
setne al
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.1402b4f4c
jmp 0x14028f534
mov r8d, dword [rsi + 0x2c]
xor r9d, r9d
mov dil, byte [r14 + 0x23]
mov dword [rsp + 0x20], ecx
mov rcx, r12
lea edx, [r9 + 0x16]
call fcn.1402b4e38
mov ebx, eax
mov r8d, r15d
xor eax, eax
mov rcx, r14
mov byte [r14 + 0x23], al
mov rdx, qword [rsi + 0x10]
call fcn.14028e3cc
mov edx, ebx
mov byte [r14 + 0x23], dil
mov rcx, r12
mov r15d, eax
call fcn.1402bd15c
mov ecx, dword [r12 + 0x98]
mov edx, ebx
mov dword [rax + 8], ecx
mov rcx, r12
call fcn.1402bd15c
mov dword [rax + 0xc], r15d
jmp 0x14028f534
mov rdx, qword [rsi + 0x10]
cmp dword [rdx + 0x2c], ecx
jne 0x14028effe
mov rcx, r14
call fcn.140287f08
mov rcx, qword [rsi + 0x10]
mov dword [rcx + 0x2c], eax
mov rcx, qword [rsi + 0x10]
call fcn.140290f60
mov r8d, dword [rsi + 0x2c]
cmp r8d, eax
je 0x14028f022
mov r9d, eax
lea rdx, str._d_columns_assigned__d_values
mov rcx, r14
call fcn.14028cca4
mov rcx, qword [rsi + 0x10]
movsx eax, word [rsi + 0x30]
add eax, dword [rcx + 0x2c]
jmp 0x14028e4e2
lea rdx, str.row_value_misused
mov rcx, r14
call fcn.14028cca4
jmp 0x14028f534
mov eax, dword [rsi + 0x2c]
jmp 0x14028e4e2
mov edi, ebx
je 0x14028f4f9
cmp ebx, 0x36
ja 0x14028f2b2
je 0x14028f0bd
cmp ebx, 0x30
ja 0x14028f193
je 0x14028f179
mov dword [rbp + 0x88], ebx
sub ebx, 0x13
je 0x14028f156
sub ebx, r13d
je 0x14028e544
sub ebx, 0x10
je 0x14028f0ec
sub ebx, 7
je 0x14028f4f9
sub ebx, r13d
je 0x14028f4f9
cmp ebx, r13d
jne 0x14028e4c9
sub edi, 0x2d
mov edx, 0x80
neg edi
mov dword [rbp + 0x98], edx
sbb edi, edi
add edi, 0x35
mov rbx, qword [rsi + 0x10]
mov rcx, rbx
call fcn.140290f60
mov rcx, r14
cmp eax, r13d
jle 0x14028f416
mov byte [rsp + 0x20], dl
mov r9b, dil
mov rdx, rsi
mov r8d, r15d
call fcn.140237278
jmp 0x14028f534
mov rdx, qword [rsi + 0x10]
mov r8d, r15d
mov rcx, r14
call fcn.14028e3cc
mov ebx, eax
cmp eax, r15d
je 0x14028f11c
xor eax, eax
mov r9d, r15d
mov r8d, ebx
mov dword [rsp + 0x20], eax
mov rcx, r12
lea edx, [rax + 0x50]
call fcn.1402b4e38
mov ebx, r15d
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.140280ce8
movsx r9d, al
mov r8d, r15d
xor eax, eax
mov rcx, r12
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x57]
call fcn.1402b4e38
mov eax, ebx
jmp 0x14028e4e2
mov rdx, rsi
mov rcx, r14
call fcn.140287f08
jmp 0x14028e4e2
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x80]
mov rcx, r14
call fcn.14028f584
xor ebx, ebx
mov r9d, r15d
mov dword [rsp + 0x20], ebx
mov edx, edi
jmp 0x14028f529
mov dword [rsp + 0x20], ecx
xor r9d, r9d
mov rcx, r14
mov r8d, r15d
mov rdx, rsi
call fcn.14023c80c
jmp 0x14028e4df
mov ecx, ebx
mov dword [rbp + 0x88], ebx
sub ecx, 0x31
je 0x14028f238
sub ecx, r13d
je 0x14028f1c7
sub ecx, r13d
je 0x14028f1c7
sub ecx, r13d
je 0x14028f0bd
cmp ecx, r13d
je 0x14028f0bd
xor ecx, ecx
jmp 0x14028e4c9
xor edi, edi
mov r9d, r15d
mov r8d, r13d
mov dword [rsp + 0x20], edi
mov rcx, r12
lea edx, [rdi + 0x47]
call fcn.1402b4e38
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x80]
mov rcx, r14
call fcn.14028f584
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, eax
mov edx, ebx
mov rcx, r12
call fcn.1402b4e38
mov ebx, eax
lea edx, [rdi + 0x47]
xor eax, eax
mov r9d, r15d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r12
call fcn.1402b4e38
mov edx, ebx
mov rcx, r12
call fcn.1402bd15c
mov ecx, dword [r12 + 0x98]
mov dword [rax + 8], ecx
jmp 0x14028f534
mov ebx, dword [r14 + 0x44]
xor eax, eax
mov r9d, r15d
mov dword [rsp + 0x20], eax
xor r8d, r8d
mov rcx, r12
lea edi, [rbx - 2]
lea edx, [rax + 0x4a]
mov dword [r14 + 0x44], edi
call fcn.1402b4e38
mov r9d, edi
lea r8d, [rbx - 1]
mov rdx, rsi
mov rcx, r14
call fcn.14028dae8
xor esi, esi
mov r9d, r15d
mov r8d, r13d
mov dword [rsp + 0x20], esi
mov rcx, r12
lea edx, [rsi + 0x47]
call fcn.1402b4e38
lea edx, [rbx - 1]
mov rcx, r12
call fcn.1402bf958
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r15d
lea edx, [rsi + 0x55]
mov rcx, r12
call fcn.1402b4e38
mov edx, edi
mov rcx, r12
call fcn.1402bf958
jmp 0x14028e4df
cmp ebx, 0x67
ja 0x14028f4dc
je 0x14028f4f9
mov dword [rbp + 0x88], ebx
sub ebx, 0x37
je 0x14028f0bd
sub ebx, r13d
je 0x14028f0bd
sub ebx, r13d
je 0x14028f0bd
sub ebx, 0xe
je 0x14028f36c
sub ebx, 6
je 0x14028f2fe
cmp ebx, 0x19
je 0x14028f4f9
jmp 0x14028e4c9
mov rbx, qword [rsi + 0x40]
movsx rdi, word [rsi + 0x30]
mov rcx, rbx
movzx edx, di
call fcn.1402b17bc
movsx r8d, word [rbx + 0x36]
mov r9d, r15d
movsx ecx, ax
add r8d, r13d
imul r8d, dword [rsi + 0x2c]
inc ecx
xor eax, eax
mov edx, 0x9c
mov dword [rsp + 0x20], eax
add r8d, ecx
mov rcx, r12
call fcn.1402b4e38
test di, di
js 0x14028f534
mov rax, qword [rbx + 8]
lea rcx, [rdi + rdi*2]
cmp byte [rax + rcx*8 + 0xc], 0x45
jne 0x14028f534
xor eax, eax
mov r8d, r15d
xor r9d, r9d
mov rcx, r12
lea edx, [rax + 0x56]
jmp 0x14028f4d6
cmp qword [r14 + 0xa8], rcx
jne 0x14028f38f
cmp byte [r14 + 0x1e], cl
jne 0x14028f38f
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, r14
call fcn.14028cca4
jmp 0x14028ee5b
cmp byte [rsi + 1], 2
jne 0x14028f3ac
mov rax, qword [r14 + 0xa0]
mov rcx, r14
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], r13b
xor ecx, ecx
mov rbx, qword [rsi + 8]
mov r9d, 4
cmp byte [rsi + 1], r9b
jne 0x14028f3e4
mov dword [rsp + 0x20], ecx
lea edx, [r9 + 0x42]
mov rcx, r12
xor r8d, r8d
call fcn.1402b4e38
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, r12
call fcn.1402b51fc
jmp 0x14028f534
mov rax, qword [r14 + 0xa8]
mov r9, rbx
movsx r8d, byte [rsi + 1]
neg rax
mov byte [rsp + 0x28], cl
sbb edx, edx
mov byte [rsp + 0x20], cl
and edx, 0x712
mov rcx, r14
add edx, r13d
call fcn.1402a1b50
jmp 0x14028f534
lea r8, [rbp + 0x80]
mov rdx, rbx
call fcn.14028f584
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x50]
mov rcx, r14
mov dword [rbp + 0x88], eax
call fcn.14028f584
mov dword [rbp + 0x90], eax
mov r9d, r15d
xor eax, eax
mov r8d, r13d
mov rcx, r12
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x47]
call fcn.1402b4e38
mov r8d, dword [rsi + 4]
mov r9d, edi
mov ecx, dword [r12 + 0x98]
mov rdx, rbx
mov eax, dword [rbp + 0x98]
add ecx, 2
shr r8d, 9
and r8d, r13d
mov dword [rsp + 0x40], r8d
mov r8, qword [rsi + 0x18]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x90]
mov dword [rsp + 0x30], ecx
mov rcx, r14
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x88]
mov dword [rsp + 0x20], eax
call fcn.140235dec
cmp dword [rbp + 0x98], 0x80
mov r9d, r15d
mov rcx, r12
jne 0x14028f4c4
xor eax, eax
xor r8d, r8d
lea edx, [rax + 0x47]
jmp 0x14028f4d6
mov eax, dword [rbp + 0x90]
mov edx, 0x5b
mov r8d, dword [rbp + 0x88]
mov dword [rsp + 0x20], eax
jmp 0x14028f52f
sub ebx, 0x68
je 0x14028f4f9
sub ebx, r13d
je 0x14028f4f9
sub ebx, r13d
je 0x14028f4f9
sub ebx, r13d
je 0x14028f4f9
cmp ebx, r13d
jne 0x14028e4c9
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x80]
mov rcx, r14
call fcn.14028f584
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x50]
mov rcx, r14
mov ebx, eax
call fcn.14028f584
mov edx, edi
mov dword [rsp + 0x20], r15d
mov r9d, ebx
mov r8d, eax
mov rcx, r12
call fcn.1402b4e38
mov ecx, dword [rbp + 0x80]
test ecx, ecx
je 0x14028f556
cmp byte [r14 + 0x1f], 8
jae 0x14028f556
movzx eax, byte [r14 + 0x1f]
mov dword [r14 + rax*4 + 0xd8], ecx
add byte [r14 + 0x1f], r13b
mov ecx, dword [rsp + 0x50]
test ecx, ecx
je 0x14028e4df
cmp byte [r14 + 0x1f], 8
jae 0x14028e4df
movzx eax, byte [r14 + 0x1f]
mov dword [r14 + rax*4 + 0xd8], ecx
add byte [r14 + 0x1f], r13b
jmp 0x14028e4df