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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
mov eax, dword [0x4e2040]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push esi
push edi
mov edi, ecx
mov ebx, edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], edi
mov edx, dword [edi + 8]
mov dword [esp + 0x10], edx
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], edx
test ebx, ebx
je case.0x46cae4.112
cmp dword [edi + 0x48], edx
je 0x46cabf
test dword [ebx + 4], 0x800000
jne 0x46cabf
push dword [ebp + 8]
mov edx, ebx
mov ecx, edi
call fcn.0046c978
pop ecx
test eax, eax
jns 0x46d685
xor edx, edx
movzx esi, byte [ebx]
cmp esi, 0x6d
jbe 0x46d4b0
lea eax, [esi - 0x6e]
mov ecx, esi
mov dword [esp + 0x14], ecx
cmp eax, 0x47
ja case.0x46cae4.112
movzx eax, byte [eax + 0x46da0c]
jmp dword [eax*4 + 0x46d9ac]
test dword [ebx + 4], 0x200
jne 0x46cb00
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x46cb00
cmp byte [edx], 0xac
je 0x46cb17
mov ebx, dword [ebx + 0xc]
xor edx, edx
mov dword [esp + 0x2c], ebx
jmp 0x46ca92
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x2c], ebx
jmp 0x46ca92
mov ebx, dword [ebp + 8]
mov ecx, edi
push ebx
call fcn.0046ca54
mov edi, dword [esp + 0x14]
mov esi, eax
pop ecx
cmp esi, ebx
je 0x46cb40
push 0
push ebx
push esi
push 0x51
pop edx
mov ecx, edi
call fcn.004591cc
add esp, 0xc
mov esi, ebx
push 0
push 0
push esi
mov edx, 0xb3
mov ecx, edi
call fcn.004591cc
mov eax, esi
jmp 0x46d682
movsx eax, word [ebx + 0x22]
mov ecx, dword [ebx + 0x28]
imul eax, eax, 0x14
add eax, dword [ecx + 0x1c]
cmp byte [ecx], 0
mov dword [esp + 0x1c], eax
jne 0x46cb76
mov eax, dword [eax + 0xc]
jmp 0x46d685
cmp byte [ecx + 1], 0
je case.0x46cae4.167
mov edi, dword [eax]
mov ebx, dword [ebp + 8]
movsx eax, word [eax + 0x12]
mov esi, dword [esp + 0x10]
push ebx
push eax
push dword [ecx + 8]
mov ecx, esi
push 0x5e
pop edx
call fcn.004591cc
mov eax, dword [esp + 0x28]
add esp, 0xc
movzx eax, word [eax + 0x10]
test ax, ax
js 0x46cd94
test edi, edi
je 0x46cd94
movsx ecx, ax
mov eax, dword [edi + 4]
add ecx, ecx
cmp byte [eax + ecx*8 + 8], 0x45
jne 0x46cd94
push 0
push 0
push ebx
push 0x57
pop edx
mov ecx, esi
call fcn.004591cc
add esp, 0xc
jmp 0x46cd94
test byte [ebx + 4], 0x20
mov ecx, dword [ebx + 0x1c]
je 0x46cc3d
push dword [ebp + 8]
mov edx, dword [ebx + 0xc]
mov ecx, edi
call fcn.0046ca54
movsx edx, word [ebx + 0x20]
mov esi, eax
pop ecx
mov ecx, dword [ebx + 0x2c]
call fcn.004690b3
movsx edi, al
cmp edi, 0x41
jle 0x46cc36
mov ecx, dword [esp + 0x10]
push 0
push 1
push esi
push 0x60
pop edx
call fcn.004591cc
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, eax
lea eax, [edi*2 + 0x4d00f0]
push 0xffffffffffffffff
push eax
call fcn.00459979
pop ecx
pop ecx
mov eax, esi
jmp 0x46d685
test ecx, ecx
jns 0x46ccfa
mov eax, dword [edi + 0x34]
test eax, eax
jns 0x46ccf7
movzx edx, word [ebx + 0x20]
mov ebx, dword [ebx + 0x2c]
movsx esi, dx
test esi, esi
jns 0x46cc65
not eax
jmp 0x46d685
shl esi, 4
mov ecx, ebx
add esi, dword [ebx + 4]
call fcn.00474bf1
movsx ecx, ax
sub ecx, dword [edi + 0x34]
movzx eax, word [esi + 0xe]
mov dword [esp + 0x1c], ecx
test al, 0x60
je 0x46cccf
mov edx, pe_nt_image_headers32
test edx, eax
je 0x46cca4
push dword [esi]
push str.generated_column_loop_on___s_
push edi
call fcn.00441b18
add esp, 0xc
xor eax, eax
jmp 0x46d685
or eax, edx
mov word [esi + 0xe], ax
test al, al
jns 0x46ccbf
push ecx
push esi
mov edx, ebx
mov ecx, edi
call fcn.0046c562
pop ecx
pop ecx
mov ecx, dword [esp + 0x1c]
mov eax, 0xfe7f
and word [esi + 0xe], ax
mov eax, ecx
jmp 0x46d685
cmp byte [esi + 8], 0x45
jne 0x46ccc8
mov ebx, dword [ebp + 8]
push 0
push ebx
push ecx
mov ecx, dword [esp + 0x1c]
push 0x51
pop edx
call fcn.004591cc
add esp, 0xc
push 0
push 0
push ebx
push 0x57
jmp 0x46d676
lea ecx, [eax - 1]
mov al, byte [ebx + 2]
push dword [ebp + 8]
mov edx, dword [ebx + 0x2c]
mov byte [esp + 0x27], al
movsx eax, word [ebx + 0x20]
push eax
push ecx
mov ecx, dword [edi + 8]
call fcn.0046c5f4
mov bl, byte [esp + 0x2f]
add esp, 0xc
test bl, bl
je 0x46cd94
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 0x6c]
dec edx
call fcn.00459a36
mov ecx, eax
cmp byte [ecx], 0x5e
jne 0x46cd94
movzx eax, bl
mov word [ecx + 2], ax
jmp 0x46cd94
mov esi, dword [ebp + 8]
mov ecx, edi
push esi
push edx
mov edx, ebx
call fcn.0046c40c
jmp 0x46cc34
mov ecx, ebx
call fcn.004691be
mov ebx, dword [ebp + 8]
xor ecx, ecx
push edx
push ebx
mov eax, dword [eax + 8]
cmp byte [eax + 4], cl
sete cl
push ecx
push 0x47
jmp 0x46d676
mov esi, dword [ebp + 8]
mov ecx, dword [esp + 0x10]
push esi
push edx
mov edx, dword [ebx + 8]
call fcn.0046c381
jmp 0x46cc34
push dword [ebx + 8]
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
call fcn.00459236
pop ecx
mov eax, dword [ebp + 8]
jmp 0x46d685
mov edi, dword [ebx + 8]
inc edi
add edi, 1
jne 0x46cda9
mov eax, edx
jmp 0x46cdb5
push edi
call fcn.004b5c60
pop ecx
and eax, 0x3fffffff
mov edx, edi
lea esi, [eax - 1]
mov edi, dword [esp + 0x10]
push esi
mov ecx, dword [edi]
call fcn.00442b17
mov ebx, dword [ebp + 8]
pop ecx
push 0xfffffffffffffffa
push eax
mov eax, esi
mov ecx, edi
cdq
push 0
sub eax, edx
push ebx
sar eax, 1
push eax
push 0x4d
pop edx
call fcn.004592f6
add esp, 0x14
mov eax, ebx
jmp 0x46d685
movsx eax, word [ebx + 0x20]
mov esi, dword [esp + 0x10]
mov ecx, esi
push edx
push dword [ebp + 8]
push eax
push 0x4e
pop edx
call fcn.004591cc
mov eax, dword [ebx + 8]
add esp, 0xc
cmp byte [eax + 1], 0
je 0x46cd94
movsx edx, word [ebx + 0x20]
mov ecx, dword [edi + 0xe4]
call fcn.004430a6
and dword [ecx], 0
mov edx, eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.004599ea
jmp 0x46cd93
mov eax, dword [ebx + 0x1c]
jmp 0x46d685
mov edx, dword [ebx + 0xc]
mov al, byte [edx]
cmp al, 0x9b
jne 0x46ce53
mov ebx, dword [ebp + 8]
mov ecx, edi
push ebx
push 1
call fcn.0046c40c
pop ecx
pop ecx
jmp 0x46cde5
cmp al, 0x99
jne 0x46ce6b
mov ebx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [esp + 0x10]
push ebx
push 1
call fcn.0046c381
jmp 0x46ce4f
and dword [esp + 0x80], 0
lea eax, [esp + 0x18]
push eax
lea edx, [esp + 0x7c]
mov byte [esp + 0x7c], 0x9b
mov ecx, edi
mov dword [esp + 0x80], 0x10800
call fcn.0046db76
mov edx, dword [ebx + 0xc]
mov esi, eax
pop ecx
lea eax, [esp + 0x38]
mov ecx, edi
push eax
call fcn.0046db76
mov ebx, dword [ebp + 8]
pop ecx
mov ecx, dword [esp + 0x10]
push ebx
push esi
push eax
push 0x6b
jmp 0x46d94f
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call fcn.0046db76
pop ecx
mov ecx, dword [ebx + 0x10]
mov esi, eax
call fcn.004691be
xor ecx, ecx
cmp byte [ebx + 2], 0x2d
mov ebx, dword [ebp + 8]
sete cl
mov eax, dword [eax + 8]
mov dl, byte [eax + 4]
xor eax, eax
test dl, dl
sete al
xor ecx, eax
xor eax, eax
push ecx
mov ecx, dword [esp + 0x14]
test dl, dl
setne al
push eax
push ebx
push esi
push 0x5b
pop edx
call fcn.004594df
add esp, 0x10
jmp 0x46cf41
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x46cf2f
movzx ecx, word [ebx + 0x22]
test cx, cx
js 0x46cf2f
movsx ecx, cx
cmp ecx, dword [eax + 0x2c]
jge 0x46cf2f
mov eax, dword [eax + 0x28]
imul ecx, ecx, 0x14
mov eax, dword [ecx + eax + 8]
jmp 0x46d685
push ebx
push str.misuse_of_aggregate:__T__
push edi
call fcn.00441b18
add esp, 0xc
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x18]
mov ecx, edi
call fcn.0046f3c3
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x46cde5
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x46cde5
movzx eax, al
mov dword [edi + eax*4 + 0x9c], ecx
inc byte [edi + 0x13]
jmp 0x46cde5
test dword [ebx + 4], 0x1000000
mov ecx, dword [edi]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], edx
mov al, byte [ecx + 0x54]
mov byte [esp + 0x1c], al
je 0x46cf9e
mov eax, dword [ebx + 0x2c]
mov eax, dword [eax + 0x38]
jmp 0x46d685
cmp byte [edi + 0x17], 0
je 0x46cfcb
push edx
push 2
pop edx
mov ecx, ebx
call fcn.0046ae35
pop ecx
test eax, eax
je 0x46cfc5
push 0xffffffffffffffff
mov edx, ebx
mov ecx, edi
call fcn.0046da54
pop ecx
jmp 0x46d685
mov ecx, dword [esp + 0x28]
xor edx, edx
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x30], eax
test eax, eax
je 0x46cfde
mov eax, dword [eax]
mov dword [esp + 0x14], eax
jmp 0x46cfe4
mov eax, edx
mov dword [esp + 0x14], edx
push edx
push dword [esp + 0x20]
mov edx, dword [ebx + 8]
push eax
call fcn.00479e80
mov esi, eax
add esp, 0xc
mov dword [esp + 0x1c], esi
test esi, esi
je 0x46d1f2
cmp dword [esi + 0x14], 0
jne 0x46d1f2
test dword [esi + 4], 0x400000
je 0x46d02a
push dword [ebp + 8]
mov edx, dword [esp + 0x34]
mov ecx, edi
push dword [esi + 8]
call fcn.0046c7a5
pop ecx
jmp 0x46cfbf
test dword [esi + 4], 0x280000
je 0x46d03e
push esi
mov edx, ebx
mov ecx, edi
call fcn.00469ded
pop ecx
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x18], edx
test ecx, ecx
jle 0x46d0ae
mov ebx, dword [esp + 0x30]
add ebx, 8
cmp edx, 0x20
jae 0x46d07c
mov ecx, dword [ebx]
xor edx, edx
push 0
inc edx
call fcn.0046ae35
mov edx, dword [esp + 0x1c]
pop ecx
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x46d07c
mov eax, dword [esp + 0x24]
bts eax, edx
mov dword [esp + 0x24], eax
test byte [esi + 4], 0x20
je 0x46d09e
cmp dword [esp + 0x34], 0
jne 0x46d09e
mov edx, dword [ebx]
mov ecx, edi
call fcn.004691f9
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x34], eax
inc edx
add ebx, 0x14
mov dword [esp + 0x18], edx
cmp edx, ecx
jl 0x46d053
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
test edx, edx
je 0x46d120
cmp dword [esp + 0x24], 0
je 0x46d0d6
mov eax, dword [edi + 0x2c]
lea ebx, [eax + 1]
add eax, ecx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x2c], eax
jmp 0x46d0e9
mov edx, ecx
mov ecx, edi
call fcn.0046f3dc
mov edx, dword [esp + 0x30]
mov ecx, eax
mov dword [esp + 0x18], ecx
test byte [esi + 4], 0xc0
je 0x46d10b
mov eax, dword [edx + 8]
mov al, byte [eax]
cmp al, 0xa7
je 0x46d0fc
cmp al, 0xa9
jne 0x46d10b
mov ebx, dword [edx + 8]
mov al, byte [esi + 4]
and al, 0xc0
mov byte [ebx + 2], al
mov ebx, dword [esp + 0x2c]
push 3
push 0
push ecx
mov ecx, edi
call fcn.0046dcca
mov edx, dword [esp + 0x3c]
add esp, 0xc
jmp 0x46d125
and dword [esp + 0x18], 0
mov eax, dword [esp + 0x14]
cmp eax, 2
jl 0x46d14e
test dword [ebx + 4], 0x100
je 0x46d152
push dword [edx + 0x1c]
mov ecx, dword [esp + 0x2c]
mov edx, esi
push eax
call fcn.0049403d
mov esi, eax
mov dword [esp + 0x24], esi
jmp 0x46d167
test eax, eax
jle 0x46d169
push dword [edx + 8]
mov ecx, dword [esp + 0x2c]
mov edx, esi
push eax
call fcn.0049403d
mov esi, eax
mov dword [esp + 0x24], eax
pop ecx
pop ecx
test byte [esi + 4], 0x20
je 0x46d1ac
cmp dword [esp + 0x34], 0
jne 0x46d181
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x10]
xor eax, eax
push eax
push eax
push eax
push 0x55
pop edx
call fcn.004591cc
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, eax
push 0xfffffffffffffffe
push dword [esp + 0x38]
call fcn.00459979
mov esi, dword [esp + 0x24]
pop ecx
pop ecx
movzx eax, byte [ebx + 2]
mov ecx, edi
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
push eax
push esi
mov esi, dword [esp + 0x1c]
push esi
push dword [ebp + 8]
push ebx
call fcn.00459325
add esp, 0x14
test esi, esi
je 0x46cd94
cmp dword [esp + 0x24], 0
jne 0x46cd94
push esi
mov edx, ebx
mov ecx, edi
call fcn.0046f412
add esp, 4
jmp 0x46cd94
push ebx
push str.unknown_function:__T__
jmp 0x46cf35
mov esi, dword [ebx + 0xc]
cmp dword [esi + 0x1c], edx
je 0x46d20d
mov al, byte [edi + 0x1a]
cmp al, byte [esi + 2]
jbe 0x46d21f
mov edx, esi
mov ecx, edi
call fcn.0046bbce
mov dword [esi + 0x1c], eax
mov al, byte [edi + 0x1a]
mov byte [esi + 2], al
mov ecx, esi
call fcn.00469495
cmp dword [ebx + 0x1c], eax
je 0x46d23d
push eax
push dword [ebx + 0x1c]
push str._d_columns_assigned__d_values
push edi
call fcn.00441b18
add esp, 0x10
movsx eax, word [ebx + 0x20]
add eax, dword [esi + 0x1c]
jmp 0x46d685
push str.row_value_misused
push edi
call fcn.00441b18
pop ecx
pop ecx
jmp 0x46cf3e
mov al, byte [edi + 0x17]
mov edx, dword [ebx + 0x28]
mov byte [esp + 0x23], al
test edx, edx
je 0x46d2ae
cmp byte [edx], 0
jne 0x46d281
movsx eax, word [ebx + 0x22]
imul ecx, eax, 0x14
mov eax, dword [edx + 0x1c]
mov ebx, dword [ecx + eax + 0xc]
jmp 0x46cf41
cmp byte [edx + 1], 0
je 0x46d2ae
movsx eax, word [ebx + 0x22]
push dword [ebp + 8]
imul ecx, eax, 0x14
mov eax, dword [edx + 0x1c]
movsx eax, word [ecx + eax + 0x12]
mov ecx, dword [esp + 0x14]
push eax
push dword [edx + 8]
push 0x5e
pop edx
call fcn.004591cc
jmp 0x46cf3b
mov ecx, dword [esp + 0x10]
push 0
push 0
push dword [ebx + 0x1c]
push 0x14
pop edx
call fcn.004591cc
add esp, 0xc
mov byte [edi + 0x17], 0
mov edx, dword [ebx + 0xc]
mov ecx, edi
mov esi, eax
push dword [ebp + 8]
call fcn.0046ca54
mov ebx, eax
mov edx, esi
mov al, byte [esp + 0x27]
pop ecx
mov ecx, dword [esp + 0x10]
mov byte [edi + 0x17], al
call fcn.00459a36
mov ecx, dword [ecx + 0x6c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10]
call fcn.00459a36
mov dword [eax + 0xc], ebx
jmp 0x46cf41
mov eax, dword [ebx + 0x14]
mov ecx, dword [edi]
mov dword [esp + 0x24], edx
mov dword [esp + 0x30], edx
lea edx, [eax + 8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], edx
mov edx, dword [eax]
mov eax, dword [edi + 0x38]
dec eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], eax
mov dword [edi + 0x38], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x34], edx
mov dword [esp + 0x40], eax
test eax, eax
je 0x46d3ac
xor ebx, ebx
mov edx, eax
push ebx
push ebx
call fcn.0046a101
mov esi, eax
mov eax, dword [esp + 0x34]
pop ecx
pop ecx
mov dword [esp + 0x30], esi
cmp byte [eax + 0x57], bl
je 0x46d36d
test esi, esi
je 0x46cf3e
mov edx, esi
mov ecx, eax
call fcn.00469f9d
jmp 0x46cf3e
lea eax, [esp + 0x18]
mov edx, esi
push eax
mov ecx, edi
call fcn.0046c71f
pop ecx
mov edx, eax
mov ecx, esi
call fcn.0046c703
push 0x34
lea eax, [esp + 0x48]
push ebx
push eax
call fcn.004b21c0
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x50]
add esp, 0xc
mov byte [esp + 0x44], 0x35
mov dword [esp + 0x50], esi
mov dword [esp + 0x18], ebx
jmp 0x46d3b0
mov ecx, dword [esp + 0x24]
mov ebx, dword [ebp + 8]
lea eax, [edx - 1]
test eax, eax
jle 0x46d444
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
test edx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [eax]
mov eax, dword [esp + 0x54]
cmovne eax, ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x24]
cmove eax, ecx
dec dword [edi + 0x38]
mov esi, dword [edi + 0x38]
push 0x10
push esi
push eax
push edi
mov dword [esp + 0x34], eax
call fcn.0046e269
mov edx, dword [esp + 0x38]
mov ecx, edi
push ebx
mov edx, dword [edx + 0x14]
call fcn.0046dbf2
mov edx, dword [esp + 0x28]
add esp, 0x14
mov ecx, dword [esp + 0x10]
call fcn.00459225
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.00459579
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add eax, 0x28
sub dword [esp + 0x1c], 1
mov dword [esp + 0x28], eax
jne 0x46d3ca
mov edx, dword [esp + 0x34]
jmp 0x46d448
mov esi, dword [esp + 0x10]
test dl, 1
je 0x46d463
mov eax, dword [esp + 0x3c]
mov ecx, edi
imul edx, edx, 0x14
push ebx
mov edx, dword [edx + eax - 0xc]
call fcn.0046dbf2
pop ecx
jmp 0x46d475
push 0
push ebx
push 0
push 0x4b
pop edx
mov ecx, esi
call fcn.004591cc
add esp, 0xc
mov eax, dword [esp + 0x30]
test eax, eax
je 0x46d488
mov ecx, dword [esp + 0x2c]
mov edx, eax
call fcn.00469f9d
mov edx, dword [esi + 0x6c]
mov ecx, esi
dec edx
call fcn.00459a36
cmp byte [eax], 0x50
jne 0x46d4a0
xor edx, edx
inc edx
call fcn.0045974e
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.00459579
jmp 0x46cf41
mov dword [esp + 0x14], esi
je case.0x46cae4.110
cmp esi, 0x36
ja 0x46d776
mov edx, esi
mov dword [esp + 0x14], edx
je 0x46d52d
cmp esi, 0x30
ja 0x46d63b
je 0x46d625
mov dword [esp + 0x14], esi
mov ecx, esi
mov dword [esp + 0x14], ecx
sub esi, 0x13
je case.0x46cae4.114
sub esi, 1
je case.0x46cae4.138
sub esi, 0x10
je 0x46d55a
sub esi, 7
je case.0x46cae4.110
sub esi, 1
je case.0x46cae4.110
sub esi, 1
jne case.0x46cae4.112
xor eax, eax
mov dword [esp + 0x28], 0x80
cmp ecx, 0x2d
sete al
lea edx, [eax + 0x34]
mov dword [esp + 0x14], edx
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x3c], ecx
call fcn.00469495
xor esi, esi
inc esi
cmp eax, esi
jle 0x46d8bc
push dword [esp + 0x28]
mov ecx, edi
push edx
push dword [ebp + 8]
mov edx, ebx
call fcn.004695c7
jmp 0x46cf3b
mov esi, dword [ebp + 8]
mov ecx, edi
mov edx, dword [ebx + 0xc]
push esi
call fcn.0046ca54
mov edi, eax
pop ecx
cmp edi, esi
je 0x46d584
mov ecx, dword [esp + 0x10]
push 0
push esi
push edi
push 0x51
pop edx
call fcn.004591cc
add esp, 0xc
mov edi, esi
mov ecx, dword [ebx + 8]
xor edx, edx
call fcn.00475513
mov ecx, dword [esp + 0x10]
push 0
movsx eax, al
push eax
push esi
push 0x58
pop edx
call fcn.004591cc
mov eax, edi
jmp 0x46d682
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x46cc9d
cmp ecx, 0x8a
jne 0x46d5f3
test dword [ebx + 4], 0x1000
je 0x46d5f3
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
xor eax, eax
inc eax
cmp ecx, eax
je 0x46d5f3
cmp dword [edi + 0x24], 0
jne 0x46cf3e
push eax
push ecx
push str.sub_select_returns__d_columns___expected__d
push edi
call fcn.00441b18
add esp, 0x10
jmp 0x46cf3e
mov edx, ebx
mov ecx, edi
call fcn.0046bbce
jmp 0x46d685
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call fcn.0046db76
mov ebx, dword [ebp + 8]
pop ecx
push 0
push ebx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
jmp 0x46d950
mov esi, dword [ebp + 8]
mov edx, ebx
push 0
push 0
push esi
mov ecx, edi
call fcn.0046de13
jmp 0x46cb51
mov eax, esi
mov dword [esp + 0x14], esi
mov edx, esi
mov dword [esp + 0x14], edx
sub eax, 0x31
je 0x46d701
sub eax, 1
je 0x46d69a
sub eax, 1
je 0x46d69a
sub eax, 1
je 0x46d52d
sub eax, 1
je 0x46d52d
mov ebx, dword [ebp + 8]
push 0
push ebx
push 0
push 0x4b
mov ecx, dword [esp + 0x20]
pop edx
call fcn.004591cc
mov eax, ebx
add esp, 0xc
mov ecx, dword [esp + 0xac]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004b0ce6
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10]
push 0
push dword [ebp + 8]
push 1
push 0x47
pop edx
call fcn.004591cc
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, edi
push eax
call fcn.0046db76
pop ecx
mov ecx, dword [esp + 0x10]
xor ebx, ebx
push ebx
push ebx
push eax
mov edx, esi
call fcn.004591cc
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov esi, eax
push ebx
mov ebx, dword [ebp + 8]
push ebx
push 0
push 0x47
pop edx
call fcn.004591cc
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, esi
call fcn.00459a36
mov ecx, dword [ecx + 0x6c]
mov dword [eax + 8], ecx
jmp 0x46cf41
mov esi, dword [edi + 0x38]
mov eax, dword [esp + 0x1c]
dec esi
mov ecx, dword [esp + 0x10]
push 0
push dword [ebp + 8]
lea edi, [esi - 1]
push 0
push 0x4b
pop edx
mov dword [eax + 0x38], edi
call fcn.004591cc
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov edx, ebx
push edi
push esi
call fcn.0046be76
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
push 0
push ebx
push 1
push 0x47
pop edx
call fcn.004591cc
add esp, 0x14
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.00459579
push 0
push 0
push ebx
push 0x56
pop edx
mov ecx, esi
call fcn.004591cc
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.00459579
jmp 0x46cde5
mov dword [esp + 0x14], esi
cmp esi, 0x67
ja 0x46d95d
je case.0x46cae4.110
mov dword [esp + 0x14], esi
mov edx, esi
mov dword [esp + 0x14], edx
sub esi, 0x37
je 0x46d52d
sub esi, 1
je 0x46d52d
sub esi, 1
je 0x46d52d
sub esi, 0xe
je 0x46d83a
sub esi, 6
je 0x46d7ca
sub esi, 0x19
je case.0x46cae4.110
jmp case.0x46cae4.112
movzx edx, word [ebx + 0x20]
mov esi, dword [ebx + 0x2c]
mov ecx, esi
movsx eax, dx
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], eax
call fcn.00474bf1
movsx ecx, ax
mov edx, 0x9d
movsx eax, word [esi + 0x22]
inc ecx
mov esi, dword [esp + 0x10]
inc eax
imul eax, dword [ebx + 0x1c]
mov ebx, dword [ebp + 8]
push 0
push ebx
add eax, ecx
mov ecx, esi
push eax
call fcn.004591cc
mov ecx, dword [esp + 0x48]
add esp, 0xc
test ecx, ecx
js 0x46cf41
mov eax, dword [esp + 0x40]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 8], 0x45
jne 0x46cf41
push 0
push 0
push ebx
push 0x57
mov ecx, esi
jmp 0x46d94f
xor edx, edx
cmp dword [edi + 0x7c], edx
jne 0x46d858
cmp byte [edi + 0x12], dl
jne 0x46d858
push str.RAISE___may_only_be_used_within_a_trigger_program
push edi
call fcn.00441b18
pop ecx
pop ecx
jmp 0x46cc9d
xor ecx, ecx
inc ecx
cmp byte [ebx + 1], 2
jne 0x46d86d
cmp dword [edi + 0x78], edx
mov eax, edi
cmovne eax, dword [edi + 0x78]
mov byte [eax + 0x15], cl
mov al, byte [ebx + 1]
mov esi, dword [ebx + 8]
push edx
cmp al, 4
jne 0x46d89d
mov ecx, dword [esp + 0x14]
push 4
push edx
push 0x46
pop edx
call fcn.004591cc
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, eax
push 0
push esi
call fcn.00459979
jmp 0x46d254
cmp dword [edi + 0x7c], edx
push edx
movsx eax, al
push esi
push eax
mov eax, 0x713
cmovne ecx, eax
mov edx, ecx
mov ecx, edi
call fcn.00479476
jmp 0x46d5eb
lea eax, [esp + 0x18]
mov edx, ecx
push eax
mov ecx, edi
call fcn.0046db76
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x3c]
pop ecx
push eax
mov ecx, edi
call fcn.0046db76
pop ecx
push 0
push dword [ebp + 8]
mov dword [esp + 0x24], eax
push esi
mov esi, dword [esp + 0x1c]
mov ecx, esi
push 0x47
pop edx
call fcn.004591cc
mov ecx, dword [ebx + 4]
add esp, 0xc
mov eax, dword [esi + 0x6c]
mov edx, dword [esp + 0x3c]
add eax, 2
shr ecx, 0xa
and ecx, 1
push ecx
push dword [esp + 0x2c]
mov ecx, edi
push eax
push dword [esp + 0x28]
push dword [esp + 0x34]
push dword [esp + 0x28]
push dword [ebx + 0x10]
call fcn.00469423
mov ebx, dword [ebp + 8]
add esp, 0x1c
cmp dword [esp + 0x28], 0x80
mov ecx, esi
jne 0x46d944
push 0
push ebx
push 0
push 0x47
jmp 0x46d94f
push dword [esp + 0x1c]
push ebx
push dword [esp + 0x2c]
push 0x5c
pop edx
call fcn.004591cc
add esp, 0xc
jmp 0x46cf41
mov dword [esp + 0x14], esi
sub esi, 0x68
je case.0x46cae4.110
sub esi, 1
je case.0x46cae4.110
sub esi, 1
je case.0x46cae4.110
sub esi, 1
je case.0x46cae4.110
sub esi, 1
jne case.0x46cae4.112
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call fcn.0046db76
mov edx, dword [ebx + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x38]
mov ecx, edi
push eax
call fcn.0046db76
mov ebx, dword [ebp + 8]
pop ecx
push ebx
push esi
jmp 0x46d617