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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x98
push esi
mov esi, ecx
mov dword [esp + 0xc], edx
push edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], 0
mov edi, dword [esi + 8]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], 0
test edx, edx
je case.0x1006898f.21
cmp dword [esi + 0x48], 0
je 0x10068973
test dword [edx + 4], 0x800000
jne 0x10068973
push dword [ebp + 8]
mov ecx, esi
call fcn.10068530
add esp, 4
test eax, eax
jns 0x1006a4d7
mov edx, dword [esp + 0x10]
movzx ecx, byte [edx]
mov dword [esp + 0x18], ecx
lea eax, [ecx - 0x13]
cmp eax, 0xa2
ja case.0x1006898f.21
movzx eax, byte [eax + 0x1006a55c]
jmp dword [eax*4 + 0x1006a4e0]
test dword [edx + 4], 0x200
je 0x100689a8
mov edx, dword [edx + 0xc]
mov dword [esp + 0x10], edx
jmp 0x10068943
push dword [ebp + 8]
mov edx, dword [edx + 0xc]
mov ecx, esi
call fcn.1006a8e0
mov ecx, dword [edi + 0x6c]
add esp, 4
cmp dword [edi + 0x70], ecx
jg 0x100689df
push 0
push 0
push dword [ebp + 8]
mov edx, 0xb4
mov ecx, edi
call fcn.1004ae00
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
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], 0xb4
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
jmp 0x1006a4c4
mov ecx, dword [edx + 0x28]
movsx eax, word [edx + 0x22]
mov dword [esp + 8], eax
cmp eax, dword [ecx + 0x18]
jl 0x10068a79
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10068a3f
push 0
push dword [ebp + 8]
mov edx, 0x4b
mov ecx, edi
push 0
call fcn.1004ae00
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, edx
pop edi
pop esi
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], 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
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
shl eax, 4
add eax, dword [ecx + 0x14]
cmp byte [ecx], 0
mov dword [esp + 0x14], eax
jne 0x10068a95
mov eax, dword [ecx + 0xc]
add eax, dword [esp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [ecx + 1], 0
je 0x10068b74
mov esi, dword [eax]
movsx edx, word [eax + 0xe]
mov eax, dword [ecx + 8]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 8], eax
cmp dword [edi + 0x70], ecx
jg 0x10068acd
push dword [ebp + 8]
mov ecx, edi
push edx
push eax
mov edx, 0x5e
call fcn.1004ae00
mov edx, dword [ebp + 8]
add esp, 0xc
jmp 0x10068aff
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 8]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
test esi, esi
je 0x1006a4d4
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0xc]
test ax, ax
js 0x1006a4d4
movsx ecx, ax
mov eax, dword [esi + 4]
add ecx, ecx
cmp byte [eax + ecx*8 + 8], 0x45
jne 0x1006a4d4
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10068b50
push 0
push 0
push edx
mov edx, 0x57
mov ecx, edi
call fcn.1004ae00
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
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 0x1006a4c4
cmp dword [edx + 0x2c], 0
jne case.0x1006898f.167
mov ecx, dword [edi + 0x6c]
movsx esi, word [edx + 0x20]
mov edx, dword [edx + 0x1c]
cmp dword [edi + 0x70], ecx
jg 0x10068ba6
push dword [ebp + 8]
mov ecx, edi
push esi
push edx
mov edx, 0x5e
call fcn.1004ae00
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
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 + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test byte [edx + 4], 0x20
mov eax, dword [edx + 0x1c]
mov dword [esp + 8], eax
je 0x10068c9a
push dword [ebp + 8]
mov edx, dword [edx + 0xc]
mov ecx, esi
call fcn.10068910
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x10]
movsx ecx, word [eax + 0x20]
test ecx, ecx
js 0x10068c1d
mov edx, dword [eax + 0x2c]
movsx eax, word [edx + 0x22]
cmp ecx, eax
jge 0x10068c1d
mov eax, dword [edx + 4]
add ecx, ecx
mov al, byte [eax + ecx*8 + 8]
jmp 0x10068c1f
mov al, 0x44
movsx eax, al
mov dword [esp + 8], eax
cmp eax, 0x41
jle 0x10068c92
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x10068c4b
push 0
push 1
push esi
mov edx, 0x60
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
mov edx, eax
jmp 0x10068c7a
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], esi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 8]
mov ecx, edi
push 0xffffffffffffffff
lea eax, [eax*2 + 0x1013d410]
push eax
call fcn.1004bae0
add esp, 8
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test eax, eax
jns 0x10068dbd
mov eax, dword [esi + 0x34]
test eax, eax
jns 0x10068db8
movzx ecx, word [edx + 0x20]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x20], ecx
movsx ecx, cx
mov dword [esp + 8], edx
test ecx, ecx
jns 0x10068ccb
not eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x20]
shl ecx, 4
add eax, ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x14], eax
call fcn.10075770
movsx edx, ax
mov eax, dword [esp + 0x14]
sub edx, dword [esi + 0x34]
mov dword [esp + 0x20], edx
movzx ecx, word [eax + 0xe]
test cl, 0x60
je 0x10068d5a
test ecx, 0x100
je 0x10068d1b
push dword [eax]
push str.generated_column_loop_on___s_
push esi
call fcn.100294d0
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
or ecx, 0x100
mov word [eax + 0xe], cx
movzx edi, cx
test cl, cl
jns 0x10068d48
push edx
mov edx, dword [esp + 0xc]
mov ecx, esi
push eax
call fcn.10067b90
mov eax, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x20]
movzx edi, word [eax + 0xe]
and edi, 0xfe7f
mov word [eax + 0xe], di
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [eax + 8], 0x45
jne 0x10068d52
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10068d85
push 0
push dword [ebp + 8]
mov ecx, edi
push edx
mov edx, 0x51
call fcn.1004ae00
mov edx, dword [ebp + 8]
add esp, 0xc
jmp 0x10068b2b
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 0x10068b2b
lea ecx, [eax - 1]
jmp 0x10068de0
cmp dword [esi + 0x4c], 0
je 0x10068ddc
push dword [ebp + 8]
mov ecx, esi
call fcn.10068770
add esp, 4
test eax, eax
jne 0x1006a4d7
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov al, byte [edx + 2]
push dword [ebp + 8]
mov byte [esp + 0x13], al
movsx eax, word [edx + 0x20]
mov edx, dword [edx + 0x2c]
push eax
push ecx
mov ecx, dword [esi + 8]
call fcn.10067d40
mov cl, byte [esp + 0x1b]
add esp, 0xc
test cl, cl
je 0x1006a4d4
mov edx, dword [esi + 8]
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
je 0x10068e1c
mov edx, 0x10158b98
jmp 0x10068e2f
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 + 0xf]
mov al, byte [edx]
cmp al, 0x5e
je 0x10068e40
cmp al, 0xb0
jne 0x1006a4d4
and cl, 1
movzx eax, cl
mov word [edx + 2], ax
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov ecx, esi
push edi
push 0
call fcn.10067930
add esp, 8
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, edx
call fcn.10064820
mov ecx, dword [edi + 0x6c]
mov edx, eax
cmp dword [edi + 0x70], ecx
jg 0x10068e97
push 0
push dword [ebp + 8]
mov ecx, edi
push edx
mov edx, 0x47
call fcn.1004ae00
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
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 0x1006a4bd
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x1006a4d4
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10068ec3
sub edx, esi
and edx, 0x3fffffff
push 1
push edx
lea edx, [esp + 0x38]
call fcn.10029750
jmp 0x10069464
mov esi, dword [edi + 0x6c]
mov eax, dword [edx + 8]
mov dword [esp + 8], eax
cmp dword [edi + 0x70], esi
jg 0x10068f0c
push 0
push dword [ebp + 8]
mov edx, 0x75
mov ecx, edi
push 0
call fcn.1004ae00
add esp, 0xc
mov esi, eax
jmp 0x10068f3e
mov edx, dword [ebp + 8]
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x75
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 0
push dword [esp + 0xc]
mov edx, esi
mov ecx, edi
call fcn.1004bae0
mov eax, dword [ebp + 8]
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [edx + 8]
add edx, 2
jne 0x10068f65
xor esi, esi
jmp 0x10068f7f
mov esi, edx
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x10068f70
sub esi, ecx
and esi, 0x3fffffff
mov ecx, dword [edi]
dec esi
push esi
call fcn.1002bc10
mov dword [esp + 0xc], 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 0x10068fb9
push 0
push dword [ebp + 8]
mov ecx, edi
push edx
mov edx, 0x4d
call fcn.1004ae00
add esp, 0xc
mov esi, eax
jmp 0x10068fe7
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
push 0xfffffffffffffffa
push dword [esp + 0xc]
mov edx, esi
mov ecx, edi
call fcn.1004bae0
mov eax, dword [ebp + 8]
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movsx eax, word [edx + 0x20]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 8], eax
cmp dword [edi + 0x70], ecx
jg 0x10069029
push 0
push dword [ebp + 8]
mov edx, 0x4e
mov ecx, edi
push eax
call fcn.1004ae00
add esp, 0xc
jmp 0x1006905b
mov edx, dword [esp + 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 + 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 edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
cmp byte [eax + 1], 0
je 0x1006a4d4
mov esi, dword [esi + 0xec]
test esi, esi
jne 0x1006907a
xor edx, edx
jmp 0x100690ad
movsx ecx, word [edx + 0x20]
mov eax, 2
mov edx, dword [esi + 4]
mov dword [esp + 8], ecx
nop word [eax + eax]
mov edi, dword [esp + 8]
lea ecx, [esi + eax*4]
cmp dword [ecx], edi
mov edi, dword [esp + 0x2c]
je 0x100690aa
add eax, dword [ecx + 4]
cmp eax, edx
jl 0x10069090
xor edx, edx
jmp 0x100690ad
lea edx, [ecx + 8]
mov dword [esi], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x100690d0
push edx
or edx, 0xffffffff
call fcn.1004b880
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
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], edx
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0x1c]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push dword [ebp + 8]
mov edx, dword [edx + 0xc]
mov ecx, esi
call fcn.1006a8e0
mov esi, dword [esp + 0x14]
add esp, 4
xor edx, edx
mov ecx, dword [esi + 8]
call fcn.10076840
mov ecx, dword [edi + 0x6c]
movsx esi, al
cmp dword [edi + 0x70], ecx
jg 0x1006913b
push 0
push esi
push dword [ebp + 8]
mov edx, 0x58
mov ecx, edi
call fcn.1004ae00
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
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 0x1006a4c4
xor eax, eax
mov dword [esp + 0x20], 0x80
cmp ecx, 0x2d
sete al
lea ecx, [eax + 0x34]
mov dword [esp + 0x18], ecx
mov eax, dword [edx + 0xc]
mov dword [esp + 0x24], eax
mov cl, byte [eax]
mov byte [esp + 0xf], cl
cmp cl, 0xb0
jne 0x10069192
mov dl, byte [eax + 2]
mov byte [esp + 0xf], dl
mov edx, dword [esp + 0x10]
cmp byte [esp + 0xf], 0xb1
jne 0x100691a6
mov edi, dword [eax + 0x14]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x2c]
jmp 0x100691bb
cmp byte [esp + 0xf], 0x8a
jne 0x100691e5
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 8]
cmp dword [ecx], 1
mov ecx, dword [esp + 0x18]
jle 0x100691e5
push dword [esp + 0x20]
push ecx
push dword [ebp + 8]
mov ecx, esi
call fcn.100622c0
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x1c]
mov edx, eax
push ecx
mov ecx, esi
call fcn.1006a7e0
add esp, 4
mov dword [esp + 8], eax
lea eax, [esp + 0x28]
mov ecx, esi
push eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x10]
call fcn.1006a7e0
mov ecx, dword [edi + 0x6c]
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [edi + 0x70], ecx
jg 0x10069234
push 0
push dword [ebp + 8]
mov edx, 0x47
mov ecx, edi
push 1
call fcn.1004ae00
add esp, 0xc
jmp 0x10069266
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 ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
shr eax, 0xa
and eax, 1
push eax
push dword [esp + 0x24]
mov eax, dword [edi + 0x6c]
add eax, 2
push eax
push dword [esp + 0x20]
push dword [esp + 0x18]
push edx
push dword [ecx + 0x10]
mov edx, dword [esp + 0x40]
mov ecx, esi
call fcn.10061fd0
mov ecx, dword [edi + 0x6c]
add esp, 0x1c
cmp dword [esp + 0x20], 0x80
mov eax, dword [edi + 0x70]
jne 0x10069306
cmp eax, ecx
jg 0x100692cf
push 0
push dword [ebp + 8]
mov edx, 0x47
mov ecx, edi
push 0
call fcn.1004ae00
mov edx, dword [ebp + 8]
add esp, 0xc
jmp 0x10069796
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], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10069796
cmp eax, ecx
jg 0x1006932c
push dword [esp + 0x14]
mov edx, 0x5c
mov ecx, edi
push dword [ebp + 8]
push dword [esp + 0x10]
call fcn.1004ae00
mov edx, dword [ebp + 8]
add esp, 0xc
jmp 0x10069796
mov edx, dword [esp + 8]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x5c
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10069796
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.1006a7e0
add esp, 4
mov dword [esp + 8], eax
lea eax, [esp + 0x28]
mov ecx, esi
push eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x10]
call fcn.1006a7e0
mov ecx, dword [edi + 0x6c]
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [edi + 0x70], ecx
jg 0x100693ba
push dword [ebp + 8]
mov edx, dword [esp + 0xc]
mov ecx, edi
push edx
mov edx, dword [esp + 0x20]
push eax
call fcn.1004ae00
mov edx, dword [ebp + 8]
add esp, 0xc
jmp 0x10069796
mov edx, dword [esp + 0x18]
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 + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 8]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
jmp 0x10069796
mov eax, dword [edx + 0xc]
mov cl, byte [eax]
cmp cl, 0x9b
jne 0x10069421
mov edi, dword [ebp + 8]
mov edx, eax
push edi
push 1
mov ecx, esi
call fcn.10067930
add esp, 8
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp cl, 0x99
jne 0x1006948b
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x1006a4d4
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10069436
sub edx, esi
and edx, 0x3fffffff
push 1
push edx
lea edx, [esp + 0x38]
call fcn.10029750
movsd xmm0, qword [esp + 0x38]
xorps xmm0, xmmword [0x1014f940]
movsd qword [esp + 0x38], xmm0
add esp, 8
lea eax, [esp + 0x30]
mov edx, 0x99
push 0xfffffffffffffff4
push eax
push ecx
push dword [ebp + 8]
push ecx
mov ecx, edi
call fcn.1004b1f0
mov eax, dword [ebp + 8]
add esp, 0x14
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x1c]
mov byte [esp + 0x6c], 0x9b
push eax
lea edx, [esp + 0x70]
mov dword [esp + 0x74], 0x10800
mov ecx, esi
mov dword [esp + 0x78], 0
call fcn.1006a7e0
add esp, 4
mov dword [esp + 8], eax
lea eax, [esp + 0x28]
mov ecx, esi
push eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
call fcn.1006a7e0
mov ecx, dword [edi + 0x6c]
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [edi + 0x70], ecx
jg 0x100694f9
push dword [ebp + 8]
mov edx, dword [esp + 0xc]
mov ecx, edi
push edx
push eax
mov edx, 0x6b
call fcn.1004ae00
mov edx, dword [ebp + 8]
add esp, 0xc
jmp 0x10069796
mov edx, dword [esp + 0x14]
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 + 8]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x6b
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10069796
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.1006a7e0
mov ecx, dword [edi + 0x6c]
add esp, 4
mov edx, dword [esp + 0x18]
mov dword [esp + 8], eax
cmp dword [edi + 0x70], ecx
jg 0x1006956a
push 0
push dword [ebp + 8]
mov ecx, edi
push eax
call fcn.1004ae00
mov edx, dword [ebp + 8]
add esp, 0xc
jmp 0x10069796
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 + 8]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
jmp 0x10069796
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.1006a7e0
mov edx, dword [esp + 0x14]
add esp, 4
mov dword [esp + 8], eax
mov ecx, dword [edx + 0x10]
call fcn.10064820
xor ecx, ecx
cmp byte [edx + 2], 0x2d
sete cl
xor edx, edx
xor ecx, eax
test eax, eax
mov eax, dword [edi + 0x6c]
sete dl
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
cmp dword [edi + 0x70], eax
jg 0x10069612
push ecx
push edx
push dword [ebp + 8]
mov edx, dword [esp + 0x14]
mov ecx, edi
push edx
mov edx, 0x5b
call fcn.1004ae40
mov edx, dword [ebp + 8]
add esp, 0x10
jmp 0x10069796
mov edx, dword [esp + 8]
inc eax
mov dword [edi + 0x6c], eax
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x20]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x24]
mov dword [eax + ecx*4], 0xfd5b
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0x10], edi
jmp 0x10069796
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1006966b
push 0
push dword [ebp + 8]
mov edx, 0x47
mov ecx, edi
push 1
call fcn.1004ae00
add esp, 0xc
jmp 0x1006969d
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 [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
mov edx, dword [edx + 0xc]
call fcn.1006a7e0
mov ecx, dword [edi + 0x6c]
add esp, 4
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov dword [esp + 8], ecx
cmp dword [edi + 0x70], ecx
jg 0x100696dc
push 0
push 0
push eax
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x10069717
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 + 0x14]
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]
cmp dword [edi + 0x70], ecx
jg 0x1006973a
push 0
push dword [ebp + 8]
mov edx, 0x47
mov ecx, edi
push 0
call fcn.1004ae00
mov edx, dword [ebp + 8]
add esp, 0xc
jmp 0x1006976c
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], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x14], eax
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x10069782
mov eax, 0x10158b98
jmp 0x1006978f
mov eax, dword [esp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x100697b2
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x100697b2
movzx eax, al
mov dword [esi + eax*4 + 0xa4], ecx
inc byte [esi + 0x13]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x1006a473
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x1006a473
movzx eax, al
mov dword [esi + eax*4 + 0xa4], ecx
mov eax, edx
inc byte [esi + 0x13]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edx + 0x28]
test ecx, ecx
je 0x10069804
movzx eax, word [edx + 0x22]
test ax, ax
js 0x10069804
movsx edi, ax
cmp edi, dword [ecx + 0x24]
jge 0x10069804
mov eax, dword [ecx + 0x18]
add eax, dword [ecx + 0xc]
add eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push edx
push str.misuse_of_aggregate:__T__
push esi
call fcn.100294d0
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test dword [edx + 4], 0x1000000
mov eax, dword [esi]
mov dword [esp + 0x14], eax
mov dword [esp + 8], 0
mov dword [esp + 0x28], 0
mov al, byte [eax + 0x54]
mov byte [esp + 0x1c], al
je 0x10069850
mov eax, dword [edx + 0x2c]
mov eax, dword [eax + 0x38]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x17], 0
je 0x1006989f
mov eax, 2
mov dword [esp + 0x3c], fcn.100648e0
lea ecx, [esp + 0x38]
mov word [esp + 0x4c], ax
mov dword [esp + 0x40], 0x10064760
mov dword [esp + 0x50], 0
call fcn.1005e690
cmp word [esp + 0x4c], 0
mov edx, dword [esp + 0x10]
je 0x1006989f
push 0xffffffffffffffff
mov ecx, esi
call fcn.1006a600
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0x14]
mov dword [esp + 0x24], eax
test eax, eax
je 0x100698ae
mov ecx, dword [eax]
jmp 0x100698b0
xor ecx, ecx
mov edx, dword [edx + 8]
push 0
push dword [esp + 0x20]
mov dword [esp + 0x28], ecx
push ecx
mov ecx, dword [esp + 0x20]
call fcn.1007dd40
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10069bee
cmp dword [eax + 0x14], 0
jne 0x10069bee
mov edx, dword [eax + 4]
test edx, 0x400000
je 0x1006990b
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x1006990b
push dword [ebp + 8]
mov edx, ecx
mov ecx, esi
push dword [eax + 8]
call fcn.100680e0
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test edx, 0x280000
je 0x10069946
mov ecx, dword [esp + 0x10]
test dword [ecx + 4], 0x40000000
je 0x10069946
test edx, 0x80000
jne 0x10069937
mov eax, dword [esi]
mov eax, dword [eax + 0x20]
and eax, 0x80
or eax, 0
jne 0x10069946
push ecx
push str.unsafe_use_of__T__
push esi
call fcn.100294d0
add esp, 0xc
mov ecx, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x18], eax
test ecx, ecx
jle 0x100699f4
mov edx, dword [esp + 0x24]
add edx, 8
xor edi, edi
mov dword [esp + 8], edx
mov ecx, 1
cmp eax, 0x20
jae 0x100699aa
mov edx, dword [edx]
mov word [esp + 0x4c], cx
mov dword [esp + 0x3c], fcn.100648e0
mov dword [esp + 0x40], 0x10064760
mov dword [esp + 0x50], 0
test edx, edx
je 0x100699a7
lea ecx, [esp + 0x38]
call fcn.1005e690
cmp word [esp + 0x4c], 0
mov eax, dword [esp + 0x18]
je 0x100699aa
bts edi, eax
mov ecx, dword [esp + 0x1c]
test byte [ecx + 4], 0x20
je 0x100699d0
cmp dword [esp + 0x28], 0
jne 0x100699d0
mov edx, dword [esp + 8]
mov ecx, esi
mov edx, dword [edx]
call fcn.10061df0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
inc eax
mov ecx, dword [esp + 0x20]
add edx, 0x14
mov dword [esp + 0x18], eax
mov dword [esp + 8], edx
cmp eax, ecx
jl 0x10069965
mov dword [esp + 8], edi
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
test edx, edx
je 0x10069a9d
cmp dword [esp + 8], 0
jne 0x10069a43
cmp ecx, 1
jne 0x10069a2c
mov al, byte [esi + 0x13]
test al, al
jne 0x10069a1b
inc dword [esi + 0x2c]
mov edx, dword [esi + 0x2c]
jmp 0x10069a4e
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov edx, dword [esi + eax*4 + 0xa4]
jmp 0x10069a4e
mov edx, dword [esi + 0x20]
mov dword [esp + 0x18], edx
cmp ecx, dword [esi + 0x1c]
jg 0x10069a43
sub dword [esi + 0x1c], ecx
lea eax, [edx + ecx]
mov dword [esi + 0x20], eax
jmp 0x10069a52
mov eax, dword [esi + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [esi + 0x2c], eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 4]
test al, 0xc0
je 0x10069a86
mov edx, dword [ecx + 8]
mov dl, byte [edx]
mov byte [esp + 0xf], dl
cmp dl, 0xa7
mov edx, dword [esp + 0x18]
je 0x10069a7a
cmp byte [esp + 0xf], 0xa9
jne 0x10069a86
mov edi, dword [ecx + 8]
and al, 0xc0
mov byte [edi + 2], al
mov edi, dword [esp + 0x2c]
push 2
push 0
push edx
mov edx, ecx
mov ecx, esi
call fcn.1006aa40
mov edx, dword [esp + 0x30]
add esp, 0xc
jmp 0x10069aa5
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x20]
cmp ecx, 2
jl 0x10069ad5
mov eax, dword [esp + 0x10]
test dword [eax + 4], 0x100
je 0x10069ad9
push dword [edx + 0x1c]
mov edx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.100ae880
add esp, 8
mov dword [esp + 0x1c], eax
jmp 0x10069ae2
test ecx, ecx
jle 0x10069ade
push dword [edx + 8]
jmp 0x10069abe
mov eax, dword [esp + 0x1c]
test byte [eax + 4], 0x20
je 0x10069b66
cmp dword [esp + 0x28], 0
jne 0x10069afe
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x10069b1f
push 0
push 0
push 0
mov edx, 0x55
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
mov edx, eax
jmp 0x10069b56
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x2c]
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
push 0xfffffffffffffffe
push dword [esp + 0x2c]
mov ecx, edi
call fcn.1004bae0
add esp, 8
mov eax, dword [esp + 0x10]
mov ecx, esi
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 8]
movzx eax, byte [eax + 2]
push eax
push dword [esp + 0x20]
push edi
push dword [ebp + 8]
push dword [esp + 0x28]
call fcn.1004b0d0
add esp, 0x14
test edi, edi
je 0x1006a4d4
cmp dword [esp + 8], 0
jne 0x1006a4d4
cmp edi, 1
jne 0x10069bd2
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x1006a4d4
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x1006a4d4
movzx eax, al
mov dword [esi + eax*4 + 0xa4], ecx
inc byte [esi + 0x13]
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edi, dword [esi + 0x1c]
jle 0x1006a4d4
mov eax, dword [esp + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x1c], edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push dword [esp + 0x10]
push str.unknown_function:__T__
push esi
call fcn.100294d0
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x10068d13
cmp ecx, 0x8a
jne 0x10069c5b
test dword [edx + 4], 0x1000
je 0x10069c5b
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
je 0x10069c5b
cmp dword [esi + 0x24], 0
jne 0x1006a470
push 1
push eax
push str.sub_select_returns__d_columns___expected__d
push esi
call fcn.100294d0
mov edx, dword [ebp + 8]
add esp, 0x10
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.10066450
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edi, dword [edx + 0xc]
cmp dword [edi + 0x1c], 0
je 0x10069c79
mov al, byte [edi + 2]
cmp byte [esi + 0x1a], al
jbe 0x10069c8f
mov edx, edi
mov ecx, esi
call fcn.10066450
mov edx, dword [esp + 0x10]
mov dword [edi + 0x1c], eax
mov al, byte [esi + 0x1a]
mov byte [edi + 2], al
cmp byte [edi], 0xb0
movzx eax, al
mov dword [esp + 0x30], eax
movzx eax, byte [edi]
mov ecx, dword [esp + 0x30]
cmovne ecx, eax
cmp cl, 0xb1
jne 0x10069caf
mov eax, dword [edi + 0x14]
mov eax, dword [eax]
jmp 0x10069cc3
cmp cl, 0x8a
jne 0x10069cbe
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
jmp 0x10069cc3
mov eax, 1
mov ecx, dword [edx + 0x1c]
cmp ecx, eax
je 0x10069cde
push eax
push ecx
push str._d_columns_assigned__d_values
push esi
call fcn.100294d0
mov edx, dword [esp + 0x20]
add esp, 0x10
movsx eax, word [edx + 0x20]
add eax, dword [edi + 0x1c]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x38]
dec eax
mov dword [esp + 8], eax
dec eax
mov dword [esi + 0x38], eax
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x14], eax
cmp dword [edi + 0x70], ecx
jg 0x10069d1b
push 0
push dword [ebp + 8]
mov edx, 0x4b
mov ecx, edi
push 0
call fcn.1004ae00
add esp, 0xc
jmp 0x10069d4d
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 + 0x14]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0xc]
call fcn.10066ac0
mov ecx, dword [edi + 0x6c]
add esp, 8
mov esi, dword [ebp + 8]
cmp dword [edi + 0x70], ecx
jg 0x10069d84
push 0
push esi
push 1
mov edx, 0x47
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
jmp 0x10069db3
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], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 8]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x10069dd1
push edx
mov edx, edi
call fcn.1004b440
add esp, 4
jmp 0x10069dda
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 0x10069df8
push 0
push 0
push esi
mov edx, 0x56
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
jmp 0x10069e27
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], esi
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 + 0x14]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x10069e4c
push edx
mov edx, edi
call fcn.1004b440
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
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
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov ecx, esi
push 0
push 0
push edi
call fcn.1006ac40
add esp, 0xc
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [edx + 0x2c]
mov ecx, esi
movzx edx, word [edx + 0x20]
movsx eax, dx
mov dword [esp + 8], esi
mov dword [esp + 0x30], eax
call fcn.10075770
movsx edx, word [esi + 0x22]
mov esi, dword [esp + 0x10]
inc edx
movsx ecx, ax
inc ecx
imul edx, dword [esi + 0x1c]
add edx, ecx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10069ec6
push 0
push dword [ebp + 8]
mov ecx, edi
push edx
mov edx, 0x9d
call fcn.1004ae00
mov edx, dword [ebp + 8]
add esp, 0xc
jmp 0x10069ef4
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], 0x9d
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x30]
test ecx, ecx
js 0x1006a473
mov eax, dword [esp + 8]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 8], 0x45
jne 0x1006a473
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10069f3d
push 0
push 0
push dword [ebp + 8]
mov edx, 0x57
mov ecx, edi
call fcn.1004ae00
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, edx
pop edi
pop esi
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 0x10068a61
push str.row_value_misused
push esi
call fcn.100294d0
mov edx, dword [ebp + 8]
add esp, 8
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov al, byte [esi + 0x17]
mov byte [esp + 0xf], al
mov eax, dword [edx + 0x28]
test eax, eax
je 0x1006a013
cmp byte [eax], 0
jne 0x10069fa0
movsx edx, word [edx + 0x22]
add edx, dword [eax + 0xc]
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [eax + 1], 0
je 0x1006a013
movsx ecx, word [edx + 0x22]
mov eax, dword [eax + 0x14]
add ecx, ecx
movsx esi, word [eax + ecx*8 + 0xe]
mov eax, dword [edx + 0x28]
mov ecx, dword [edi + 0x6c]
mov edx, dword [eax + 8]
cmp dword [edi + 0x70], ecx
jg 0x10069fe1
push dword [ebp + 8]
mov ecx, edi
push esi
push edx
mov edx, 0x5e
call fcn.1004ae00
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, edx
pop edi
pop esi
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 + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x6c]
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x30], eax
mov dword [esp + 8], ecx
cmp dword [edi + 0x70], ecx
jg 0x1006a041
push dword [ebp + 8]
mov edx, 0x14
mov ecx, edi
push 0
push eax
call fcn.1004ae00
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x1006a073
mov edx, dword [esp + 0x30]
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
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [ebp + 8]
mov byte [esi + 0x17], 0
mov edx, dword [edx + 0xc]
call fcn.1006a8e0
mov al, byte [esp + 0x13]
add esp, 4
mov byte [esi + 0x17], al
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x1006a0b0
mov eax, 0x10158b98
mov dword [eax + 8], edx
mov edx, dword [ebp + 8]
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 8]
lea eax, [eax + ecx*4]
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
lea ecx, [eax + 8]
mov eax, dword [eax]
dec dword [esi + 0x38]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov dword [esp + 0x24], eax
test eax, eax
je 0x1006a185
mov ecx, dword [esp + 0x20]
mov edx, eax
push 0
push 0
call fcn.100635e0
mov ecx, dword [esp + 0x28]
add esp, 8
mov dword [esp + 0x14], eax
cmp byte [ecx + 0x57], 0
je 0x1006a141
test eax, eax
je 0x1006a470
mov edx, eax
call fcn.100633e0
mov edx, dword [ebp + 8]
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x1c]
mov edx, eax
push ecx
mov ecx, esi
call fcn.10068030
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, eax
call fcn.10067ff0
push 0x34
lea eax, [esp + 0x3c]
push 0
push eax
call fcn.10117800
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x44]
mov ecx, dword [esp + 0x14]
add esp, 0xc
mov byte [esp + 0x38], 0x35
mov dword [esp + 0x44], eax
jmp 0x1006a187
xor edx, edx
mov eax, dword [esp + 0x2c]
dec eax
test eax, eax
jle 0x1006a276
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x1c], eax
nop dword [eax]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x24], 0
push 0x10
cmovne eax, ecx
cmove edx, ecx
dec dword [esi + 0x38]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x38]
push eax
push edx
push esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x40], eax
call fcn.1006b2c0
mov edx, dword [esp + 0x18]
mov ecx, esi
push dword [ebp + 8]
mov edx, dword [edx + 0x14]
call fcn.1006a8e0
mov ecx, dword [edi + 0x6c]
add esp, 0x14
cmp dword [edi + 0x70], ecx
jg 0x1006a202
push 0
push dword [esp + 0x2c]
mov edx, 9
mov ecx, edi
push 0
call fcn.1004ae00
add esp, 0xc
jmp 0x1006a235
mov edx, dword [esp + 0x28]
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 0x1006a253
push edx
mov edx, edi
call fcn.1004b440
add esp, 4
jmp 0x1006a25c
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x18]
add ecx, 0x28
sub dword [esp + 0x1c], 1
mov dword [esp + 8], ecx
jne 0x1006a1a0
mov eax, dword [esp + 0x2c]
test al, 1
je 0x1006a298
push dword [ebp + 8]
lea edx, [eax + eax*4]
mov ecx, esi
mov eax, dword [esp + 0x14]
mov edx, dword [eax + edx*4 - 0xc]
call fcn.1006a8e0
add esp, 4
jmp 0x1006a2ea
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1006a2b8
push 0
push dword [ebp + 8]
mov edx, 0x4b
mov ecx, edi
push 0
call fcn.1004ae00
add esp, 0xc
jmp 0x1006a2ea
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
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1006a2fd
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.100633e0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x1006a30c
mov eax, 0x10158b98
jmp 0x1006a31b
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 0x1006a337
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x1006a337
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 + 0x28]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1006a35e
push edx
mov edx, edi
call fcn.1004b440
mov edx, dword [ebp + 8]
add esp, 4
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp + 8]
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x84], 0
jne 0x1006a397
cmp byte [esi + 0x12], 0
jne 0x1006a397
push str.RAISE___may_only_be_used_within_a_trigger_program
push esi
call fcn.100294d0
add esp, 8
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov al, byte [edx + 1]
cmp al, 2
jne 0x1006a3b2
mov eax, dword [esi + 0x80]
mov ecx, esi
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
mov al, byte [edx + 1]
mov ecx, dword [edx + 8]
mov dword [esp + 0x30], ecx
cmp al, 4
jne 0x1006a449
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x1006a3fb
push 0
push 4
push 0
mov edx, 0x46
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
mov edx, eax
mov ecx, edi
push 0
push dword [esp + 0x34]
call fcn.1004bae0
mov edx, dword [ebp + 8]
add esp, 8
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
push 0
push dword [esp + 0x34]
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, edi
call fcn.1004bae0
mov edx, dword [ebp + 8]
add esp, 8
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x84], 0
mov edx, 1
push 0
push 0
push ecx
movsx eax, al
mov ecx, esi
push eax
mov eax, 0x713
cmovne edx, eax
call fcn.1007cd10
add esp, 0x10
mov edx, dword [ebp + 8]
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1006a4a2
push 0
push dword [ebp + 8]
mov edx, 0x4b
mov ecx, edi
push 0
call fcn.1004ae00
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
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
mov esp, ebp
pop ebp
ret