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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
mov ebx, ecx
mov dword [esp + 0x10], 0
push esi
push edi
mov esi, edx
mov dword [esp + 0x24], 0
mov edi, dword [ebx + 8]
mov dword [esp + 0x20], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], 0
test esi, esi
je case.0x698870.21
cmp dword [ebx + 0x48], 0
je 0x698854
test dword [esi + 4], 0x800000
jne 0x698854
push dword [ebp + 8]
mov edx, esi
mov ecx, ebx
call fcn.006985b0
add esp, 4
test eax, eax
jns 0x69a490
movzx ecx, byte [esi]
mov dword [esp + 0x1c], ecx
lea eax, [ecx - 0x13]
cmp eax, 0xa2
ja case.0x698870.21
movzx eax, byte [eax + 0x69a514]
jmp dword [eax*4 + 0x69a498]
test dword [esi + 4], 0x200
je 0x698889
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
jmp 0x698826
push dword [ebp + 8]
mov edx, dword [esi + 0xc]
mov ecx, ebx
call fcn.0069a8d0
mov ecx, dword [edi + 0x6c]
add esp, 4
cmp dword [edi + 0x70], ecx
jg 0x6988c1
push 0
push 0
push dword [ebp + 8]
mov edx, 0xb3
mov ecx, edi
call fcn.0067ad20
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0xb3
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
jmp 0x69a47d
mov ecx, dword [esi + 0x28]
movsx edx, word [esi + 0x22]
cmp edx, dword [ecx + 0x18]
jl 0x69894c
mov ecx, dword [edi + 0x6c]
mov esi, dword [ebp + 8]
cmp dword [edi + 0x70], ecx
jg 0x698918
push 0
push esi
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.0067ad20
add esp, 0xc
jmp 0x69a3f1
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x69a3f1
mov eax, edx
shl eax, 4
add eax, dword [ecx + 0x14]
cmp byte [ecx], 0
mov dword [esp + 0xc], eax
jne 0x698969
mov eax, dword [ecx + 0xc]
add eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ecx + 1], 0
je 0x698a3d
mov ebx, dword [ecx + 8]
mov ecx, dword [edi + 0x6c]
mov esi, dword [eax]
movsx edx, word [eax + 0xe]
cmp dword [edi + 0x70], ecx
jg 0x69899d
push dword [ebp + 8]
mov ecx, edi
push edx
push ebx
mov edx, 0x5e
call fcn.0067ad20
mov edx, dword [ebp + 8]
add esp, 0xc
jmp 0x6989c7
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
test esi, esi
je 0x69a48d
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 0xc]
test ax, ax
js 0x69a48d
movsx ecx, ax
mov eax, dword [esi + 4]
add ecx, ecx
cmp byte [eax + ecx*8 + 8], 0x45
jne 0x69a48d
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x698a19
push 0
push 0
push edx
mov edx, 0x57
mov ecx, edi
call fcn.0067ad20
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x57
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
jmp 0x69a47d
cmp dword [esi + 0x2c], 0
jne case.0x698870.167
mov ecx, dword [edi + 0x6c]
movsx edx, word [esi + 0x20]
mov esi, dword [esi + 0x1c]
cmp dword [edi + 0x70], ecx
jg 0x698a70
push dword [ebp + 8]
mov ecx, edi
push edx
push esi
mov edx, 0x5e
call fcn.0067ad20
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [esi + 4], 0x20
mov ecx, dword [esi + 0x1c]
je 0x698ba5
push dword [ebp + 8]
mov edx, dword [esi + 0xc]
mov ecx, ebx
call fcn.006987f0
movsx ecx, word [esi + 0x20]
add esp, 4
mov ebx, eax
test ecx, ecx
js 0x698ae0
mov edx, dword [esi + 0x2c]
movsx eax, word [edx + 0x22]
cmp ecx, eax
jge 0x698ae0
mov eax, dword [edx + 4]
add ecx, ecx
mov al, byte [eax + ecx*8 + 8]
jmp 0x698ae2
mov al, 0x44
movsx eax, al
cmp eax, 0x41
jle 0x698b9c
mov edx, dword [edi + 0x6c]
lea esi, [eax*2 + 0x7fb1a0]
cmp dword [edi + 0x70], edx
jg 0x698b15
push 0
push 1
push ebx
mov edx, 0x60
mov ecx, edi
call fcn.0067ad20
add esp, 0xc
mov edx, eax
jmp 0x698b44
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x698b61
push esi
or edx, 0xffffffff
call fcn.0067ba70
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edx, edx
jns 0x698b69
mov edx, dword [edi + 0x6c]
dec edx
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x698b91
push 0xffffffffffffffff
push esi
mov edx, eax
mov ecx, edi
call fcn.0067bb60
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x698b9c
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0xff
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
jns 0x698ca6
mov ecx, dword [ebx + 0x34]
test ecx, ecx
jns 0x698ca5
movzx edx, word [esi + 0x20]
mov eax, dword [esi + 0x2c]
movsx esi, dx
mov dword [esp + 0xc], eax
test esi, esi
jns 0x698bd5
not ecx
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
shl esi, 4
mov ecx, eax
add esi, dword [eax + 4]
call fcn.006a5c70
movsx edx, ax
sub edx, dword [ebx + 0x34]
movzx eax, word [esi + 0xe]
mov dword [esp + 0x24], edx
test al, 0x60
je 0x698c47
test eax, 0x100
je 0x698c14
push dword [esi]
push str.generated_column_loop_on___s_
push ebx
call fcn.00658480
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or eax, 0x100
mov word [esi + 0xe], ax
test al, al
jns 0x698c35
push edx
mov edx, dword [esp + 0x10]
mov ecx, ebx
push esi
call fcn.00697bc0
mov edx, dword [esp + 0x2c]
add esp, 8
mov eax, 0xfe7f
and word [esi + 0xe], ax
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 8], 0x45
jne 0x698c3e
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x698c72
push 0
push dword [ebp + 8]
mov ecx, edi
push edx
mov edx, 0x51
call fcn.0067ad20
mov edx, dword [ebp + 8]
add esp, 0xc
jmp 0x6989f3
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x51
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x6989f3
dec ecx
mov al, byte [esi + 2]
push dword [ebp + 8]
mov edx, dword [esi + 0x2c]
mov byte [esp + 0x1b], al
movsx eax, word [esi + 0x20]
push eax
push ecx
mov ecx, dword [ebx + 8]
call fcn.00697d90
mov cl, byte [esp + 0x23]
add esp, 0xc
test cl, cl
je 0x69a48d
mov edx, dword [ebx + 8]
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
je 0x698ce2
mov edx, 0x96e3e0
jmp 0x698cf5
mov eax, dword [edx + 0x6c]
mov edx, dword [edx + 0x68]
add edx, 0xffffffec
lea ecx, [eax + eax*4]
lea edx, [edx + ecx*4]
mov cl, byte [esp + 0x17]
mov al, byte [edx]
cmp al, 0x5e
je 0x698d06
cmp al, 0xaf
jne 0x69a48d
and cl, 1
movzx eax, cl
mov word [edx + 2], ax
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov edx, esi
push edi
push 0
mov ecx, ebx
call fcn.00697960
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
test eax, 0x82000
je 0x698d52
test eax, 0x80000
je 0x698d4b
mov eax, dword [esi + 0x14]
mov esi, dword [eax + 8]
jmp 0x698d4e
mov esi, dword [esi + 0xc]
test esi, esi
jne case.0x698870.170
mov eax, dword [esi + 8]
xor edx, edx
mov ecx, dword [edi + 0x6c]
cmp byte [eax + 4], dl
sete dl
cmp dword [edi + 0x70], ecx
jg 0x698d84
push 0
push dword [ebp + 8]
mov ecx, edi
push edx
mov edx, 0x47
call fcn.0067ad20
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], edx
jmp 0x69a476
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x69a48d
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x698db0
sub edx, esi
and edx, 0x3fffffff
push 1
push edx
lea edx, [esp + 0x40]
call fcn.006587e0
mov ecx, dword [edi]
push 0
push 8
call fcn.00654db0
mov edx, eax
add esp, 0x10
test edx, edx
je 0x698dec
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [edx], eax
mov dword [edx + 4], ecx
push 0xfffffffffffffff4
push edx
push 0
push dword [ebp + 8]
mov edx, 0x99
mov ecx, edi
push 0
call fcn.0067b230
mov eax, dword [ebp + 8]
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esi + 8]
mov edx, dword [ebp + 8]
mov ecx, edi
call fcn.0067af40
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 8]
add edx, 2
jne 0x698e35
xor esi, esi
jmp 0x698e4f
mov esi, edx
lea ecx, [esi + 1]
lea ebx, [ebx]
mov al, byte [esi]
inc esi
test al, al
jne 0x698e40
sub esi, ecx
and esi, 0x3fffffff
mov ecx, dword [edi]
dec esi
push esi
call fcn.0065a180
mov ebx, eax
add esp, 4
mov eax, esi
mov esi, dword [edi + 0x6c]
cdq
sub eax, edx
mov edx, eax
sar edx, 1
cmp dword [edi + 0x70], esi
jg 0x698e87
push 0
push dword [ebp + 8]
mov ecx, edi
push edx
mov edx, 0x4d
call fcn.0067ad20
add esp, 0xc
mov esi, eax
jmp 0x698eb5
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x4d
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x698ed5
push ebx
mov edx, 0xfffffffa
call fcn.0067ba70
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
jns 0x698edd
mov esi, dword [edi + 0x6c]
dec esi
mov eax, dword [edi + 0x68]
lea ecx, [esi + esi*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x698f06
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, edi
call fcn.0067bb60
mov eax, dword [ebp + 8]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x69a48d
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xfa
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x6c]
movsx edx, word [esi + 0x20]
cmp dword [edi + 0x70], ecx
jg 0x698f42
push 0
push dword [ebp + 8]
mov ecx, edi
push edx
mov edx, 0x4e
call fcn.0067ad20
add esp, 0xc
jmp 0x698f70
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x4e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 8]
cmp byte [eax + 1], 0
je 0x69a48d
mov edx, dword [ebx + 0xe8]
test edx, edx
jne 0x698f8b
xor esi, esi
jmp 0x698fad
mov ebx, dword [edx + 4]
mov eax, 2
movsx esi, word [esi + 0x20]
cmp dword [edx + eax*4], esi
lea ecx, [edx + eax*4]
je 0x698faa
add eax, dword [ecx + 4]
cmp eax, ebx
jl 0x698f97
xor esi, esi
jmp 0x698fad
lea esi, [ecx + 8]
mov dword [edx], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x698fd1
push esi
or edx, 0xffffffff
call fcn.0067ba70
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xff
mov dword [eax + ecx*4 - 4], esi
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp + 8]
mov edx, dword [esi + 0xc]
mov ecx, ebx
call fcn.0069a8d0
mov ecx, dword [esi + 8]
add esp, 4
xor edx, edx
call fcn.006a6e40
mov ecx, dword [edi + 0x6c]
movsx esi, al
cmp dword [edi + 0x70], ecx
jg 0x69903b
push 0
push esi
push dword [ebp + 8]
mov edx, 0x58
mov ecx, edi
call fcn.0067ad20
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x58
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
jmp 0x69a47d
xor eax, eax
mov dword [esp + 0x2c], 0x80
cmp ecx, 0x2d
sete al
lea ecx, [eax + 0x34]
mov dword [esp + 0x1c], ecx
mov eax, dword [esi + 0xc]
mov dword [esp + 0xc], eax
mov dl, byte [eax]
cmp dl, 0xb0
jne 0x699086
mov dl, byte [eax + 2]
cmp dl, 0xb1
jne 0x699090
mov edx, dword [eax + 0x14]
jmp 0x69909f
cmp dl, 0x8a
jne 0x6990bd
mov eax, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
mov eax, dword [esp + 0xc]
cmp dword [edx], 1
jle 0x6990bd
push dword [esp + 0x2c]
mov edx, esi
push ecx
push dword [ebp + 8]
mov ecx, ebx
call fcn.00692230
add esp, 0xc
jmp 0x69a3ee
lea ecx, [esp + 0x18]
mov edx, eax
push ecx
mov ecx, ebx
call fcn.0069a7d0
mov edx, dword [esi + 0x10]
add esp, 4
mov dword [esp + 0x10], eax
mov ecx, ebx
lea eax, [esp + 0x24]
push eax
call fcn.0069a7d0
mov ecx, dword [edi + 0x6c]
add esp, 4
mov dword [esp + 0x20], eax
cmp dword [edi + 0x70], ecx
jg 0x699108
push 0
push dword [ebp + 8]
mov edx, 0x47
mov ecx, edi
push 1
call fcn.0067ad20
add esp, 0xc
jmp 0x69913a
mov edx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 4]
mov ecx, ebx
mov edx, dword [esp + 0x1c]
shr eax, 0xa
and eax, 1
push eax
push dword [esp + 0x30]
mov eax, dword [edi + 0x6c]
add eax, 2
push eax
push dword [esp + 0x2c]
push dword [esp + 0x20]
push edx
push dword [esi + 0x10]
mov edx, dword [esp + 0x28]
call fcn.00691ed0
mov ecx, dword [edi + 0x6c]
add esp, 0x1c
cmp dword [esp + 0x2c], 0x80
mov eax, dword [edi + 0x70]
mov esi, dword [ebp + 8]
jne 0x6991b5
cmp eax, ecx
jg 0x69919d
push 0
push esi
push 0
mov edx, 0x47
mov ecx, edi
call fcn.0067ad20
add esp, 0xc
jmp 0x69a3f1
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
jmp 0x69892b
cmp eax, ecx
jg 0x6991d6
push dword [esp + 0x20]
mov edx, 0x5c
mov ecx, edi
push esi
push dword [esp + 0x18]
call fcn.0067ad20
add esp, 0xc
jmp 0x69a3f1
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x5c
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x69a3f1
mov edx, dword [esi + 0xc]
lea eax, [esp + 0x18]
push eax
mov ecx, ebx
call fcn.0069a7d0
mov edx, dword [esi + 0x10]
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, ebx
lea eax, [esp + 0x24]
push eax
call fcn.0069a7d0
mov ecx, dword [edi + 0x6c]
add esp, 4
mov esi, dword [ebp + 8]
mov dword [esp + 0x10], eax
cmp dword [edi + 0x70], ecx
jg 0x69925b
mov edx, dword [esp + 0xc]
mov ecx, edi
push esi
push edx
mov edx, dword [esp + 0x24]
push eax
call fcn.0067ad20
add esp, 0xc
jmp 0x69a3f1
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xc]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
jmp 0x69a3f1
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
cmp cl, 0x9b
jne 0x6992c0
mov esi, dword [ebp + 8]
mov edx, eax
push esi
push 1
mov ecx, ebx
call fcn.00697960
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp cl, 0x99
jne 0x69933e
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x69a48d
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x6992d5
sub edx, esi
and edx, 0x3fffffff
push 1
push edx
lea edx, [esp + 0x40]
call fcn.006587e0
fld qword [esp + 0x40]
mov ecx, dword [edi]
fchs
push 0
push 8
fstp qword [esp + 0x48]
call fcn.00654db0
mov edx, eax
add esp, 0x10
test edx, edx
je 0x69931b
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [edx], eax
mov dword [edx + 4], ecx
push 0xfffffffffffffff4
push edx
push 0
push dword [ebp + 8]
mov edx, 0x99
mov ecx, edi
push 0
call fcn.0067b230
mov eax, dword [ebp + 8]
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x18]
mov byte [esp + 0x74], 0x9b
push eax
lea edx, [esp + 0x78]
mov dword [esp + 0x7c], 0x10800
mov ecx, ebx
mov dword [esp + 0x80], 0
call fcn.0069a7d0
mov edx, dword [esi + 0xc]
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, ebx
lea eax, [esp + 0x24]
push eax
call fcn.0069a7d0
mov ecx, dword [edi + 0x6c]
add esp, 4
mov esi, dword [ebp + 8]
mov dword [esp + 0x10], eax
cmp dword [edi + 0x70], ecx
jg 0x6993a9
mov edx, dword [esp + 0xc]
mov ecx, edi
push esi
push edx
push eax
mov edx, 0x6b
call fcn.0067ad20
add esp, 0xc
jmp 0x69a3f1
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xc]
mov dword [eax + ecx*4], 0x6b
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x69a3f1
mov edx, dword [esi + 0xc]
lea eax, [esp + 0x18]
push eax
mov ecx, ebx
call fcn.0069a7d0
mov esi, dword [ebp + 8]
add esp, 4
mov edx, dword [esp + 0x1c]
mov ecx, edi
push esi
push eax
call fcn.0067adf0
add esp, 8
jmp 0x69a3f1
mov edx, dword [esi + 0xc]
lea eax, [esp + 0x18]
push eax
mov ecx, ebx
call fcn.0069a7d0
mov dword [esp + 0x10], eax
add esp, 4
mov eax, dword [esi + 0x10]
test eax, eax
je 0x699446
mov ecx, dword [eax + 4]
test ecx, 0x82000
je 0x699446
test ecx, 0x80000
je 0x69943f
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 8]
jmp 0x699442
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x699424
mov eax, dword [eax + 8]
xor edx, edx
cmp byte [esi + 2], 0x2d
sete dl
mov cl, byte [eax + 4]
xor eax, eax
test cl, cl
sete al
xor edx, eax
xor eax, eax
test cl, cl
mov ecx, dword [edi + 0x6c]
setne al
mov dword [esp + 0x10], eax
cmp dword [edi + 0x70], ecx
jg 0x69948f
mov esi, dword [ebp + 8]
mov ecx, edi
push edx
push eax
push esi
push dword [esp + 0x18]
mov edx, 0x5b
call fcn.0067ad60
add esp, 0x10
jmp 0x69a3f1
mov esi, dword [esp + 0xc]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x10]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [ebp + 8]
mov dword [eax + ecx*4], 0xfd5b
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x69a3f1
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x6994e2
push 0
push dword [ebp + 8]
mov edx, 0x47
mov ecx, edi
push 1
call fcn.0067ad20
add esp, 0xc
jmp 0x699514
mov edx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0xc]
lea eax, [esp + 0x18]
push eax
mov ecx, ebx
call fcn.0069a7d0
mov esi, dword [edi + 0x6c]
add esp, 4
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
cmp dword [edi + 0x70], esi
jg 0x69954f
push 0
push 0
push eax
mov ecx, edi
call fcn.0067ad20
add esp, 0xc
mov dword [esp + 0xc], eax
jmp 0x69958a
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
mov ecx, dword [edi + 0x6c]
mov esi, dword [ebp + 8]
cmp dword [edi + 0x70], ecx
jg 0x6995ab
push 0
push esi
push 0
mov edx, 0x47
mov ecx, edi
call fcn.0067ad20
add esp, 0xc
jmp 0x6995da
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x6995f2
mov eax, 0x96e3e0
mov dword [eax + 8], edx
jmp 0x69a3f1
mov eax, dword [esp + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x69a3f1
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x69962f
movzx eax, word [esi + 0x22]
test ax, ax
js 0x69962f
movsx edx, ax
cmp edx, dword [ecx + 0x24]
jge 0x69962f
mov eax, dword [ecx + 0x18]
add eax, dword [ecx + 0xc]
add eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push str.misuse_of_aggregate:__T__
push ebx
call fcn.00658480
add esp, 0xc
jmp 0x69a3ee
test dword [esi + 4], 0x1000000
mov ecx, dword [ebx]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], 0
mov al, byte [ecx + 0x54]
mov byte [esp + 0x1c], al
je 0x699676
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 0x38]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 0x17], 0
je 0x6996ca
mov eax, 2
mov dword [esp + 0x44], fcn.006949b0
mov edx, esi
mov word [esp + 0x54], ax
lea ecx, [esp + 0x40]
mov dword [esp + 0x48], 0x694860
mov dword [esp + 0x58], 0
call fcn.0068e3e0
cmp word [esp + 0x54], 0
je 0x6996c6
push 0xffffffffffffffff
mov edx, esi
mov ecx, ebx
call fcn.0069a5c0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x30], eax
test eax, eax
je 0x6996d9
mov eax, dword [eax]
jmp 0x6996db
xor eax, eax
mov edx, dword [esi + 8]
push 0
push dword [esp + 0x20]
mov dword [esp + 0x34], eax
push eax
call fcn.006ae370
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x699a54
cmp dword [eax + 0x14], 0
jne 0x699a54
mov edx, dword [eax + 4]
test edx, 0x400000
je 0x699733
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x699733
push dword [ebp + 8]
mov edx, ecx
mov ecx, ebx
push dword [eax + 8]
call fcn.006981e0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edx, 0x280000
je 0x69976a
test dword [esi + 4], 0x40000000
je 0x69976a
test edx, 0x80000
jne 0x69975b
mov eax, dword [ebx]
mov eax, dword [eax + 0x20]
and eax, 0x80
or eax, 0
jne 0x69976a
push esi
push str.unsafe_use_of__T__
push ebx
call fcn.00658480
add esp, 0xc
mov ecx, dword [esp + 0x2c]
xor eax, eax
mov dword [esp + 0x18], eax
test ecx, ecx
jle 0x69981b
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
add edx, 8
mov dword [esp + 0x24], edx
xor edi, edi
lea ecx, [ecx]
mov ecx, 1
cmp eax, 0x20
jae 0x6997d5
mov edx, dword [edx]
mov word [esp + 0x54], cx
mov dword [esp + 0x44], fcn.006949b0
mov dword [esp + 0x48], 0x694860
mov dword [esp + 0x58], 0
test edx, edx
je 0x6997d2
lea ecx, [esp + 0x40]
call fcn.0068e3e0
cmp word [esp + 0x54], 0
mov eax, dword [esp + 0x18]
je 0x6997d5
bts edi, eax
test byte [esi + 4], 0x20
je 0x6997f7
cmp dword [esp + 0x28], 0
jne 0x6997f7
mov edx, dword [esp + 0x24]
mov ecx, ebx
mov edx, dword [edx]
call fcn.00691c50
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
inc eax
mov ecx, dword [esp + 0x2c]
add edx, 0x14
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], edx
cmp eax, ecx
jl 0x699790
mov esi, dword [esp + 0x20]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
test edx, edx
je 0x6998c4
cmp dword [esp + 0xc], 0
jne 0x69986a
cmp ecx, 1
jne 0x699853
mov al, byte [ebx + 0x13]
test al, al
jne 0x699842
inc dword [ebx + 0x2c]
mov edx, dword [ebx + 0x2c]
jmp 0x699875
dec al
mov byte [ebx + 0x13], al
movzx eax, al
mov edx, dword [ebx + eax*4 + 0xa0]
jmp 0x699875
mov edx, dword [ebx + 0x20]
mov dword [esp + 0x18], edx
cmp ecx, dword [ebx + 0x1c]
jg 0x69986a
sub dword [ebx + 0x1c], ecx
lea eax, [edx + ecx]
mov dword [ebx + 0x20], eax
jmp 0x699879
mov eax, dword [ebx + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [ebx + 0x2c], eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + 4]
test al, 0xc0
je 0x6998ad
mov edx, dword [ecx + 8]
mov dl, byte [edx]
mov byte [esp + 0x17], dl
cmp dl, 0xa7
mov edx, dword [esp + 0x18]
je 0x6998a1
cmp byte [esp + 0x17], 0xa9
jne 0x6998ad
mov edi, dword [ecx + 8]
and al, 0xc0
mov byte [edi + 2], al
mov edi, dword [esp + 0x34]
push 2
push 0
push edx
mov edx, ecx
mov ecx, ebx
call fcn.0069a940
mov edx, dword [esp + 0x3c]
add esp, 0xc
jmp 0x6998cc
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x2c]
cmp eax, 2
jl 0x6998f8
test dword [esi + 4], 0x100
je 0x6998fc
push dword [edx + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push eax
call fcn.006dfc10
add esp, 8
mov dword [esp + 0x1c], eax
jmp 0x699905
test eax, eax
jle 0x699901
push dword [edx + 8]
jmp 0x6998e1
mov eax, dword [esp + 0x1c]
test byte [eax + 4], 0x20
je 0x6999cf
cmp dword [esp + 0x28], 0
jne 0x699921
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x699942
push 0
push 0
push 0
mov edx, 0x55
mov ecx, edi
call fcn.0067ad20
add esp, 0xc
mov edx, eax
jmp 0x699979
mov esi, dword [esp + 0x20]
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x55
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x699994
push dword [esp + 0x28]
mov edx, 0xfffffffe
call fcn.0067ba70
add esp, 4
jmp 0x6999cf
test edx, edx
jns 0x69999c
mov edx, dword [edi + 0x6c]
dec edx
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea ecx, [eax + ecx*4]
je 0x6999c0
push 0xfffffffffffffffe
push dword [esp + 0x2c]
mov edx, ecx
mov ecx, edi
call fcn.0067bb60
add esp, 8
jmp 0x6999cf
mov eax, dword [esp + 0x28]
test eax, eax
je 0x6999cf
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xfe
movzx eax, byte [esi + 2]
mov ecx, ebx
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0xc]
mov edx, edi
push eax
push dword [esp + 0x20]
push esi
push dword [ebp + 8]
push dword [esp + 0x28]
call fcn.0067b330
add esp, 0x14
test esi, esi
je 0x69a48d
test edi, edi
jne 0x69a48d
cmp esi, 1
jne 0x699a37
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x69a48d
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x69a48d
movzx eax, al
mov dword [ebx + eax*4 + 0xa0], ecx
inc byte [ebx + 0x13]
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, dword [ebx + 0x1c]
jle 0x69a48d
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x1c], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push str.unknown_function:__T__
push ebx
call fcn.00658480
add esp, 0xc
jmp 0x69a3ee
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x698c0b
cmp ecx, 0x8a
jne 0x699ab2
test dword [esi + 4], 0x1000
je 0x699ab2
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
je 0x699ab2
cmp dword [ebx + 0x24], 0
jne 0x69a3ee
push 1
push eax
push str.sub_select_returns__d_columns___expected__d
push ebx
call fcn.00658480
add esp, 0x10
jmp 0x69a3ee
mov edx, esi
mov ecx, ebx
call fcn.006963d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esi + 0xc]
cmp dword [edi + 0x1c], 0
je 0x699ad3
mov al, byte [edi + 2]
cmp byte [ebx + 0x1a], al
jbe 0x699ae5
mov edx, edi
mov ecx, ebx
call fcn.006963d0
mov dword [edi + 0x1c], eax
mov al, byte [ebx + 0x1a]
mov byte [edi + 2], al
cmp byte [edi], 0xb0
movzx edx, al
movzx eax, byte [edi]
cmovne edx, eax
cmp dl, 0xb1
jne 0x699afd
mov eax, dword [edi + 0x14]
mov eax, dword [eax]
jmp 0x699b11
cmp dl, 0x8a
jne 0x699b0c
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
jmp 0x699b11
mov eax, 1
mov ecx, dword [esi + 0x1c]
cmp ecx, eax
je 0x699b28
push eax
push ecx
push str._d_columns_assigned__d_values
push ebx
call fcn.00658480
add esp, 0x10
movsx eax, word [esi + 0x20]
add eax, dword [edi + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x38]
dec eax
mov dword [esp + 0xc], eax
dec eax
mov dword [ebx + 0x38], eax
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x24], eax
cmp dword [edi + 0x70], ecx
jg 0x699b66
push 0
push dword [ebp + 8]
mov edx, 0x4b
mov ecx, edi
push 0
call fcn.0067ad20
add esp, 0xc
jmp 0x699b98
mov edx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x24]
mov edx, esi
mov ecx, ebx
push dword [esp + 0x10]
call fcn.00696b00
mov ecx, dword [edi + 0x6c]
add esp, 8
mov ebx, dword [ebp + 8]
cmp dword [edi + 0x70], ecx
jg 0x699bcd
push 0
push ebx
push 1
mov edx, 0x47
mov ecx, edi
call fcn.0067ad20
add esp, 0xc
jmp 0x699bfc
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0xc]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x699c1a
push edx
mov edx, edi
call fcn.0067b700
add esp, 4
jmp 0x699c23
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x699c41
push 0
push 0
push ebx
mov edx, 0x56
mov ecx, edi
call fcn.0067ad20
add esp, 0xc
jmp 0x699c70
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x24]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x699c96
push edx
mov edx, edi
call fcn.0067b700
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov edx, esi
push 0
push 0
push edi
mov ecx, ebx
call fcn.0069ab30
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx edx, word [esi + 0x20]
mov ecx, dword [esi + 0x2c]
movsx eax, dx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x20], eax
call fcn.006a5c70
mov edx, dword [esp + 0xc]
movsx ecx, ax
inc ecx
movsx eax, word [edx + 0x22]
inc eax
imul eax, dword [esi + 0x1c]
add eax, ecx
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x10], eax
cmp dword [edi + 0x70], ecx
jg 0x699d18
mov esi, dword [ebp + 8]
mov edx, 0x9d
push 0
push esi
push eax
mov ecx, edi
call fcn.0067ad20
mov edx, dword [esp + 0x18]
add esp, 0xc
jmp 0x699d4a
mov esi, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [ebp + 8]
mov dword [eax + ecx*4], 0x9d
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x20]
test ecx, ecx
js 0x69a3f1
mov eax, dword [edx + 4]
add ecx, ecx
cmp byte [eax + ecx*8 + 8], 0x45
jne 0x69a3f1
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x699d87
push 0
push 0
push esi
mov edx, 0x57
mov ecx, edi
call fcn.0067ad20
add esp, 0xc
jmp 0x69a3f1
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x57
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
jmp 0x698937
push str.row_value_misused
push ebx
call fcn.00658480
add esp, 8
jmp 0x69a3ee
mov al, byte [ebx + 0x17]
mov edx, dword [esi + 0x28]
mov byte [esp + 0x17], al
test edx, edx
je 0x699e4a
cmp byte [edx], 0
jne 0x699ddd
movsx esi, word [esi + 0x22]
add esi, dword [edx + 0xc]
jmp 0x69a3f1
cmp byte [edx + 1], 0
je 0x699e4a
movsx ecx, word [esi + 0x22]
mov eax, dword [edx + 0x14]
add ecx, ecx
mov edx, dword [edx + 8]
mov esi, dword [ebp + 8]
movsx eax, word [eax + ecx*8 + 0xe]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0xc], eax
cmp dword [edi + 0x70], ecx
jg 0x699e1a
push esi
push eax
push edx
mov edx, 0x5e
mov ecx, edi
call fcn.0067ad20
add esp, 0xc
jmp 0x69a3f1
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xc]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x69a3f1
mov ecx, dword [edi + 0x6c]
mov edx, dword [esi + 0x1c]
mov dword [esp + 0xc], ecx
cmp dword [edi + 0x70], ecx
jg 0x699e74
push dword [ebp + 8]
mov ecx, edi
push 0
push edx
mov edx, 0x14
call fcn.0067ad20
add esp, 0xc
mov dword [esp + 0xc], eax
jmp 0x699ea6
mov esi, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x14
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
push dword [ebp + 8]
mov byte [ebx + 0x17], 0
mov ecx, ebx
mov edx, dword [esi + 0xc]
call fcn.0069a8d0
mov al, byte [esp + 0x1b]
add esp, 4
mov byte [ebx + 0x17], al
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x699ed9
mov eax, 0x96e3e0
mov dword [eax + 8], edx
jmp 0x69a3ee
mov eax, dword [esp + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x69a3ee
xor eax, eax
xor edx, edx
mov dword [esp + 0x2c], eax
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], edx
lea ecx, [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x38]
dec eax
mov dword [esp + 0x28], ecx
mov dword [ebx + 0x38], eax
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], eax
test esi, esi
je 0x699fe6
mov ecx, dword [esp + 0xc]
push edx
push edx
mov edx, esi
call fcn.006936b0
mov ecx, dword [esp + 0x14]
add esp, 8
mov dword [esp + 0x2c], eax
cmp byte [ecx + 0x57], 0
je 0x699f5d
test eax, eax
je 0x69a3ee
mov edx, eax
call fcn.006934d0
jmp 0x69a3ee
lea ecx, [esp + 0x18]
mov edx, eax
push ecx
mov ecx, ebx
call fcn.00698070
mov edx, eax
add esp, 4
mov eax, dword [esp + 0x2c]
mov ecx, eax
test eax, eax
je 0x699fb4
lea ebx, [ebx]
mov eax, dword [ecx + 4]
test eax, 0x82000
je 0x699fa2
test eax, 0x80000
je 0x699f99
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + 8]
jmp 0x699f9c
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x699f80
jmp 0x699fb4
mov al, byte [ecx]
and dword [ecx + 4], 0xffffdfff
mov byte [ecx + 2], al
mov byte [ecx], 0xb0
mov dword [ecx + 0x1c], edx
push 0x34
lea eax, [esp + 0x44]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x4c]
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov byte [esp + 0x40], 0x35
mov dword [esp + 0x4c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x34]
dec eax
test eax, eax
jle 0x69a18c
dec eax
shr eax, 1
inc eax
test esi, esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x10], eax
je 0x69a0d0
mov eax, dword [ecx]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x38]
dec eax
push 0x10
push eax
push edx
push ebx
mov dword [esp + 0x2c], eax
mov dword [ebx + 0x38], eax
call fcn.0069b1e0
mov edx, dword [esp + 0x38]
mov ecx, ebx
push esi
mov edx, dword [edx + 0x14]
call fcn.0069a8d0
mov ecx, dword [edi + 0x6c]
add esp, 0x14
cmp dword [edi + 0x70], ecx
jg 0x69a054
push 0
push dword [esp + 0x24]
mov edx, 9
mov ecx, edi
push 0
call fcn.0067ad20
add esp, 0xc
jmp 0x69a087
mov edx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x1c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x69a0a5
push edx
mov edx, edi
call fcn.0067b700
add esp, 4
jmp 0x69a0ae
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
add ecx, 0x28
sub dword [esp + 0x10], 1
mov dword [esp + 0x28], ecx
jne 0x69a006
jmp 0x69a18f
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x38]
dec ecx
push 0x10
push ecx
push eax
push ebx
mov dword [esp + 0x40], ecx
mov dword [ebx + 0x38], ecx
call fcn.0069b1e0
mov edx, dword [esp + 0x38]
mov ecx, ebx
push esi
mov edx, dword [edx + 0x14]
call fcn.0069a8d0
mov ecx, dword [edi + 0x6c]
add esp, 0x14
cmp dword [edi + 0x70], ecx
jg 0x69a11a
push 0
push dword [esp + 0x24]
mov edx, 9
mov ecx, edi
push 0
call fcn.0067ad20
add esp, 0xc
jmp 0x69a14d
mov edx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x30]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x69a16b
push edx
mov edx, edi
call fcn.0067b700
add esp, 4
jmp 0x69a174
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x28]
add ecx, 0x28
sub dword [esp + 0x10], 1
mov dword [esp + 0x28], ecx
jne 0x69a0d0
jmp 0x69a18f
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x34]
test al, 1
je 0x69a1af
lea edx, [eax + eax*4]
mov ecx, ebx
mov eax, dword [esp + 0x38]
push esi
mov edx, dword [eax + edx*4 - 0xc]
call fcn.0069a8d0
add esp, 4
jmp 0x69a1fc
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x69a1cd
push 0
push esi
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.0067ad20
add esp, 0xc
jmp 0x69a1fc
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x69a20f
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.006934d0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x69a21e
mov eax, 0x96e3e0
jmp 0x69a22d
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp byte [eax], 0x50
jne 0x69a249
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x69a249
lea ecx, [eax + eax*4]
mov edx, 1
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x20]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x69a26a
push edx
mov edx, edi
call fcn.0067b700
add esp, 4
jmp 0x69a3f1
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
jmp 0x69a3f1
cmp dword [ebx + 0x80], 0
jne 0x69a29e
cmp byte [ebx + 0x12], 0
jne 0x69a29e
push str.RAISE___may_only_be_used_within_a_trigger_program
push ebx
call fcn.00658480
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 1], 2
lea edx, [ebx + 0x7c]
mov dword [esp + 0x10], edx
jne 0x69a2b8
mov eax, dword [edx]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
mov al, byte [esi + 1]
mov esi, dword [esi + 8]
mov dword [esp + 0x20], esi
cmp al, 4
jne 0x69a35d
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x69a2eb
push 0
push 4
push 0
mov edx, 0x46
mov ecx, edi
call fcn.0067ad20
add esp, 0xc
mov edx, eax
jmp 0x69a322
mov esi, dword [esp + 0x20]
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x69a33a
push esi
xor edx, edx
call fcn.0067ba70
add esp, 4
jmp 0x69a3ee
test edx, edx
jns 0x69a342
mov edx, dword [edi + 0x6c]
dec edx
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
push 0
push esi
lea edx, [eax + ecx*4]
mov ecx, edi
call fcn.0067bb60
add esp, 8
jmp 0x69a3ee
cmp dword [ebx + 0x80], 0
mov edi, 1
mov esi, dword [ebx + 8]
mov ecx, 0x713
movsx eax, al
cmovne edi, ecx
mov dword [esp + 0xc], eax
test esi, esi
jne 0x69a3ab
cmp dword [edx], esi
jne 0x69a39a
mov eax, dword [ebx]
mov dword [esp + 0x10], edx
test byte [eax + 0x50], 8
jne 0x69a39a
lea eax, [ebx + 0x7c]
mov byte [ebx + 0x17], 1
mov dword [esp + 0x10], eax
mov ecx, ebx
call fcn.0067aae0
mov edx, dword [esp + 0x10]
mov esi, eax
mov eax, dword [esp + 0xc]
cmp eax, 2
jne 0x69a3c1
mov eax, dword [edx]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov eax, dword [esp + 0xc]
mov byte [ecx + 0x15], 1
push 0
push dword [esp + 0x24]
mov edx, 0x46
mov ecx, esi
push 0
push eax
push edi
call fcn.0067b230
mov eax, dword [esi + 0x6c]
add esp, 0x14
test eax, eax
jle 0x69a3ee
lea ecx, [eax + eax*4]
xor edx, edx
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov esi, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x69a40d
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x69a40d
movzx eax, al
mov dword [ebx + eax*4 + 0xa0], ecx
inc byte [ebx + 0x13]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x69a42a
mov cl, byte [ebx + 0x13]
cmp cl, 8
jae 0x69a42a
movzx ecx, cl
mov dword [ebx + ecx*4 + 0xa0], eax
inc byte [ebx + 0x13]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x69a45b
push 0
push dword [ebp + 8]
mov edx, 0x4b
mov ecx, edi
push 0
call fcn.0067ad20
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret