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

Disassembly:
sub esp, 0x38
mov eax, dword [esp + 0x3c]
push esi
push edi
mov esi, dword [eax]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], esi
cmp eax, 0x157
ja case.default.0x5056e0
push ebx
push ebp
jmp dword [eax*4 + 0x5085d4]
mov eax, dword [esp + 0x60]
cmp dword [eax + 0xf0], 0
jne case.0x5056e0.381
mov byte [eax + 0xdb], 1
jmp case.0x5056e0.381
mov eax, dword [esp + 0x60]
cmp dword [eax + 0xf0], 0
jne case.0x5056e0.381
mov byte [eax + 0xdb], 2
jmp case.0x5056e0.381
push dword [esp + 0x60]
call fcn.004b7840
add esp, 4
jmp case.0x5056e0.381
push dword [esi - 8]
push dword [esp + 0x64]
call fcn.004a5500
add esp, 8
jmp case.0x5056e0.381
mov dword [esi + 0x10], 7
jmp case.0x5056e0.381
movzx ecx, word [esi - 0xa]
xor ebx, ebx
mov edi, dword [esp + 0x60]
cmp ecx, 0xc
push 0
mov edx, str.COMMIT
mov eax, str.ROLLBACK
push 0
cmovne eax, edx
sete bl
push eax
push 0x16
push edi
call fcn.004a53a0
add esp, 0x14
test eax, eax
jne case.0x5056e0.381
mov eax, dword [edi + 8]
test eax, eax
jne 0x5057b3
cmp dword [edi + 0x80], eax
jne 0x5057a2
mov eax, dword [edi]
test byte [eax + 0x50], 8
jne 0x5057a2
mov byte [edi + 0x17], 1
push edi
call fcn.004d7d60
add esp, 4
test eax, eax
je case.0x5056e0.381
push ebx
push 1
push 1
push eax
call fcn.004d7790
add esp, 0x10
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
push 0
push dword [esp + 0x68]
call fcn.004cd720
add esp, 0xc
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
push 1
push dword [esp + 0x68]
call fcn.004cd720
add esp, 0xc
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
push 2
push dword [esp + 0x68]
call fcn.004cd720
add esp, 0xc
jmp case.0x5056e0.381
push dword [esi - 0x14]
lea eax, [esi + 4]
push 0
push 0
push dword [esi - 0x2c]
push eax
lea eax, [esi - 8]
push eax
push dword [esp + 0x78]
call fcn.004d1db0
add esp, 0x1c
jmp case.0x5056e0.381
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
inc byte [eax + 0x18]
inc dword [ecx + 0x130]
xor eax, eax
mov word [ecx + 0x134], ax
jmp case.0x5056e0.381
mov dword [esi - 0x14], 1
jmp case.0x5056e0.381
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0xb1], cl
sete cl
mov dword [esi + 4], ecx
jmp case.0x5056e0.381
push 0
push dword [esi + 4]
lea eax, [esi - 8]
push eax
lea eax, [esi - 0x14]
push eax
push dword [esp + 0x70]
call fcn.004b0400
add esp, 0x14
jmp case.0x5056e0.381
push dword [esi + 4]
mov edi, dword [esp + 0x64]
push 0
push 0
push 0
push edi
call fcn.004b0400
add esp, 0x14
jmp 0x505ee2
mov eax, dword [esi + 4]
or dword [esi - 0x14], eax
jmp case.0x5056e0.381
mov edi, dword [esi + 8]
cmp edi, 5
jne 0x5058dd
push edi
push str.rowid
push dword [esi + 4]
call fcn.00458ac0
add esp, 0xc
test eax, eax
jne 0x5058dd
mov dword [esi - 8], 0x280
jmp case.0x5056e0.381
push dword [esi + 4]
mov dword [esi - 8], 0
push edi
push str.unknown_table_option:__.s
push dword [esp + 0x6c]
call fcn.004b0ca0
add esp, 0x10
jmp case.0x5056e0.381
mov edi, dword [esi + 8]
cmp edi, 6
jne 0x505925
push edi
push str.strict
push dword [esi + 4]
call fcn.00458ac0
add esp, 0xc
test eax, eax
jne 0x505925
mov ebx, 0x10000
jmp 0x50858b
push dword [esi + 4]
xor ebx, ebx
push edi
push str.unknown_table_option:__.s
push dword [esp + 0x6c]
call fcn.004b0ca0
add esp, 0x10
jmp 0x50858b
push dword [esi + 8]
push dword [esi + 4]
push dword [esi - 4]
push dword [esi - 8]
push dword [esp + 0x70]
call fcn.004a1dd0
add esp, 0x14
jmp case.0x5056e0.381
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
jmp case.0x5056e0.381
mov eax, dword [esi + 8]
sub eax, dword [esi - 0x20]
add eax, dword [esi + 4]
mov dword [esi - 0x1c], eax
jmp case.0x5056e0.381
mov eax, dword [esi + 8]
sub eax, dword [esi - 0x38]
add eax, dword [esi + 4]
mov dword [esi - 0x34], eax
jmp case.0x5056e0.381
mov eax, dword [esi + 8]
sub eax, dword [esi - 8]
add eax, dword [esi + 4]
mov dword [esi - 4], eax
jmp case.0x5056e0.381
mov eax, dword [esp + 0x58]
mov dword [esi + 0x10], eax
jmp case.0x5056e0.381
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
jmp case.0x5056e0.381
mov eax, dword [esp + 0x60]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [eax + 0x50], ecx
mov dword [eax + 0x54], edx
jmp case.0x5056e0.381
mov ecx, dword [esi - 8]
mov eax, dword [esi - 4]
add eax, ecx
push eax
push ecx
push dword [esi + 4]
push dword [esp + 0x6c]
call fcn.004a22e0
add esp, 0x10
jmp case.0x5056e0.381
push dword [esi + 4]
mov eax, dword [esi - 0x14]
inc eax
push eax
push dword [esi - 8]
push dword [esp + 0x6c]
call fcn.004a22e0
add esp, 0x10
jmp case.0x5056e0.381
mov eax, dword [esi - 8]
add eax, dword [esi - 4]
push eax
push dword [esi - 0x14]
push dword [esi + 4]
push dword [esp + 0x6c]
call fcn.004a22e0
add esp, 0x10
jmp case.0x5056e0.381
mov ebp, dword [esp + 0x60]
mov ebx, dword [esi + 4]
push 0
push 0x34
push dword [ebp]
call fcn.004aebd0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x505aaa
push 0x34
push 0
push edi
call fcn.00656e20
or eax, 0xffffffff
mov byte [edi], 0xae
add esp, 0xc
mov word [edi + 0x22], ax
mov dword [edi + 0x18], 1
lea ecx, [eax + 2]
test ebx, ebx
je 0x505a8c
mov dword [edi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x400208
or dword [edi + 4], eax
mov eax, dword [ebx + 0x18]
cmp eax, ecx
jl 0x505a8c
lea ecx, [eax + 1]
mov dword [edi + 0x18], ecx
mov eax, dword [ebp]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x505aba
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebp
call fcn.004b0ca0
add esp, 0xc
jmp 0x505aba
test ebx, ebx
je 0x505aba
push ebx
push dword [ebp]
call fcn.004b4a30
add esp, 8
mov eax, dword [esi - 8]
add eax, dword [esi - 4]
push eax
push dword [esi - 0x14]
push edi
push ebp
call fcn.004a22e0
add esp, 0x10
jmp case.0x5056e0.381
push dword [esi + 8]
mov ebx, dword [esp + 0x64]
push dword [esi + 4]
push 0x75
push ebx
call fcn.004f0510
mov edi, eax
add esp, 0x10
test edi, edi
je 0x505af7
push edi
call fcn.004b4cd0
add esp, 4
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
add eax, ecx
push eax
push ecx
push edi
push ebx
call fcn.004a22e0
add esp, 0x10
jmp case.0x5056e0.381
mov eax, dword [esp + 0x60]
mov edi, dword [eax + 0xf8]
test edi, edi
je case.0x5056e0.381
movzx eax, word [edi + 0x22]
cmp ax, 1
jl case.0x5056e0.381
movzx ecx, byte [esi + 4]
movsx edx, ax
shl edx, 4
add edx, dword [edi + 4]
xor ecx, dword [edx - 0xc]
and ecx, 0xf
xor dword [edx - 0xc], ecx
or dword [edi + 0x1c], 0x800
test byte [edx - 2], 8
je case.0x5056e0.381
mov edx, dword [edi + 8]
test edx, edx
je case.0x5056e0.381
mov eax, dword [edx + 4]
movsx ecx, word [eax]
movsx eax, word [edi + 0x22]
dec eax
cmp ecx, eax
jne 0x505b75
or dword [edx + 0x38], 8
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x505b62
jmp case.0x5056e0.381
push dword [esi - 0x14]
push dword [esi + 4]
push dword [esi - 8]
push 0
push dword [esp + 0x70]
call fcn.004a2730
add esp, 0x14
jmp case.0x5056e0.381
push 1
push 0
push 0
push 0
push 0
push dword [esi + 4]
push 0
jmp 0x505dd5
push dword [esi + 4]
push dword [esi - 0x14]
push dword [esi - 8]
push dword [esp + 0x6c]
call fcn.004a1c30
add esp, 0x10
jmp case.0x5056e0.381
push dword [esi + 4]
lea eax, [esi - 0x14]
push dword [esi - 8]
push eax
push 0
push dword [esp + 0x70]
call fcn.004ad370
add esp, 0x14
jmp case.0x5056e0.381
push dword [esi + 4]
push dword [esp + 0x64]
call fcn.004af130
add esp, 8
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
mov ebx, dword [edi + 0xf8]
test ebx, ebx
je case.0x5056e0.381
cmp byte [edi + 0xdc], 2
jae case.0x5056e0.381
mov ecx, dword [edi]
lea eax, [esi + 4]
movsx ebp, word [ebx + 0x22]
push eax
push ecx
dec ebp
mov dword [esp + 0x20], ecx
call fcn.004c2440
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je case.0x5056e0.381
push eax
push edi
call fcn.004c13f0
add esp, 8
test eax, eax
je 0x505cba
mov eax, dword [ebx + 4]
mov edi, ebp
push dword [esp + 0x14]
shl edi, 4
add eax, edi
push eax
push dword [esp + 0x20]
call fcn.004abdf0
mov edx, dword [ebx + 8]
add esp, 0xc
test edx, edx
je 0x505cba
mov esi, 0x200
mov eax, dword [edx + 4]
movsx eax, word [eax]
cmp eax, ebp
jne 0x505caf
mov ecx, dword [ebx + 4]
test word [ecx + edi + 0xe], si
jne 0x505c8c
xor ecx, ecx
jmp 0x505caa
mov eax, dword [ecx + edi]
cmp byte [eax], 0
je 0x505c9a
inc eax
cmp byte [eax], 0
jne 0x505c94
test byte [ecx + edi + 0xe], 4
je 0x505ca7
inc eax
cmp byte [eax], 0
jne 0x505ca1
lea ecx, [eax + 1]
mov eax, dword [edx + 0x20]
mov dword [eax], ecx
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x505c74
mov esi, dword [esp + 0x20]
push dword [esp + 0x14]
push dword [esp + 0x1c]
call fcn.004aeac0
add esp, 8
jmp case.0x5056e0.381
push 0
push dword [esi - 8]
push dword [esp + 0x68]
call fcn.004a2470
add esp, 0xc
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
push dword [esi - 0x14]
push dword [esp + 0x68]
call fcn.004a2470
add esp, 0xc
jmp case.0x5056e0.381
mov eax, dword [esi + 8]
not eax
and eax, dword [esi - 8]
or eax, dword [esi + 4]
mov dword [esi - 8], eax
jmp case.0x5056e0.381
mov dword [esi - 8], 0
mov dword [esi - 4], 0
jmp case.0x5056e0.381
mov dword [esi - 0x14], 0
mov dword [esi - 0x10], 0
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
mov dword [esi - 0x14], eax
mov dword [esi - 0x10], 0xff
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
shl eax, 8
mov dword [esi - 0x14], eax
mov dword [esi - 0x10], 0xff00
jmp case.0x5056e0.381
mov dword [esi - 8], 8
jmp case.0x5056e0.381
mov dword [esi - 8], 9
jmp case.0x5056e0.381
mov dword [esi + 4], 0xa
jmp case.0x5056e0.381
mov dword [esi + 4], 7
jmp case.0x5056e0.381
mov dword [esi - 0x14], 0
jmp case.0x5056e0.381
mov eax, dword [esp + 0x60]
mov dword [eax + 0x54], 0
jmp case.0x5056e0.381
push 0
push dword [esi - 0x14]
push dword [esi + 4]
push dword [esi - 0x20]
push dword [esp + 0x70]
call fcn.004a2730
add esp, 0x14
jmp case.0x5056e0.381
push 1
push 0
push 0
push 0
push 0
push dword [esi + 4]
push dword [esi - 0x14]
push 0
push 0
push 0
push dword [esp + 0x88]
call fcn.004ad9f0
add esp, 0x2c
jmp case.0x5056e0.381
push dword [esi - 8]
push dword [esi - 0x20]
push dword [esi - 0x14]
push dword [esp + 0x6c]
call fcn.004a1c30
add esp, 0x10
jmp case.0x5056e0.381
push dword [esi - 8]
mov edi, dword [esp + 0x64]
lea eax, [esi - 0x20]
push dword [esi - 0x14]
push eax
push dword [esi - 0x44]
push edi
call fcn.004ad370
push dword [esi + 4]
push edi
call fcn.004af130
add esp, 0x1c
jmp case.0x5056e0.381
mov dword [esi + 0x10], 0xb
jmp case.0x5056e0.381
mov dword [esi + 4], 4
jmp case.0x5056e0.381
mov dword [esi + 4], 5
jmp case.0x5056e0.381
push dword [esi - 8]
push 0
push dword [esi + 4]
push dword [esp + 0x6c]
call fcn.004b0070
add esp, 0x10
jmp case.0x5056e0.381
push dword [esi - 0x38]
lea eax, [esi - 0x20]
push dword [esi - 0x50]
push dword [esi + 4]
push dword [esi - 0x14]
push eax
lea eax, [esi - 0x2c]
push eax
lea eax, [esi - 0x5c]
push eax
push dword [esp + 0x7c]
call fcn.004ae8d0
add esp, 0x20
jmp case.0x5056e0.381
push dword [esi - 8]
push 1
push dword [esi + 4]
push dword [esp + 0x6c]
call fcn.004b0070
add esp, 0x10
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
lea eax, [esp + 0x2c]
push eax
push dword [esi + 4]
xorps xmm0, xmm0
mov byte [esp + 0x34], 9
push edi
movups xmmword [esp + 0x3c], xmm0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
call fcn.004cdaf0
add esp, 0xc
mov eax, dword [esi + 4]
test eax, eax
je case.0x5056e0.381
push 1
push eax
push dword [edi]
call fcn.00474df0
add esp, 0xc
jmp case.0x5056e0.381
mov edi, dword [esi + 4]
mov eax, dword [esi - 8]
test edi, edi
je 0x505f21
push edi
push dword [esp + 0x64]
mov dword [edi + 0x40], eax
call fcn.00498360
add esp, 8
mov dword [esi - 0x14], edi
jmp case.0x5056e0.381
push eax
mov eax, dword [esp + 0x64]
push dword [eax]
call fcn.004eebd0
add esp, 8
mov dword [esi - 0x14], edi
jmp case.0x5056e0.381
mov edi, dword [esi + 4]
mov eax, dword [esi - 8]
test edi, edi
je 0x505f5a
push edi
push dword [esp + 0x64]
mov dword [edi + 0x40], eax
call fcn.00498360
add esp, 8
mov dword [esi - 0x20], edi
jmp case.0x5056e0.381
push eax
mov eax, dword [esp + 0x64]
push dword [eax]
call fcn.004eebd0
add esp, 8
mov dword [esi - 0x20], edi
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
test eax, eax
je case.0x5056e0.381
push eax
push dword [esp + 0x64]
call fcn.00498360
add esp, 8
jmp case.0x5056e0.381
mov edi, dword [esi + 4]
mov ebx, dword [esi - 0x14]
mov ebp, dword [esp + 0x60]
test edi, edi
je 0x506012
cmp dword [edi + 0x34], 0
je 0x505fe3
push edi
push ebp
mov dword [esp + 0x30], 0
call fcn.00498360
push 0
push edi
lea eax, [esp + 0x34]
push eax
push 0
push 0
push 0
push ebp
call fcn.004d14d0
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 0
push ebp
call fcn.004d0e20
mov edi, eax
add esp, 0x48
test edi, edi
je 0x506012
mov al, byte [esi - 8]
mov byte [edi], al
mov dword [edi + 0x34], ebx
test ebx, ebx
je 0x505ff6
and dword [ebx + 4], 0xfffffbff
and dword [edi + 4], 0xfffffbff
cmp dword [esi - 8], 0x87
je 0x506024
mov byte [ebp + 0x16], 1
mov dword [esi - 0x14], edi
jmp case.0x5056e0.381
test ebx, ebx
je 0x506024
push 1
push ebx
push dword [ebp]
call fcn.00474df0
add esp, 0xc
mov dword [esi - 0x14], edi
jmp case.0x5056e0.381
mov dword [esi - 8], 0x87
jmp case.0x5056e0.381
push dword [esi + 4]
push dword [esi - 0x50]
push dword [esi - 8]
push dword [esi - 0x14]
push dword [esi - 0x20]
push dword [esi - 0x2c]
push dword [esi - 0x38]
push dword [esi - 0x44]
push dword [esp + 0x80]
call fcn.004d0e20
add esp, 0x24
mov dword [esi - 0x5c], eax
jmp case.0x5056e0.381
push dword [esi + 4]
mov edi, dword [esp + 0x64]
push dword [esi - 0x5c]
push dword [esi - 8]
push dword [esi - 0x20]
push dword [esi - 0x2c]
push dword [esi - 0x38]
push dword [esi - 0x44]
push dword [esi - 0x50]
push edi
call fcn.004d0e20
mov ecx, dword [esi - 0x14]
add esp, 0x24
mov dword [esi - 0x68], eax
test eax, eax
je 0x50609e
mov dword [eax + 0x48], ecx
jmp case.0x5056e0.381
push ecx
push dword [edi]
call fcn.004edcc0
add esp, 8
jmp case.0x5056e0.381
push 0
push 0x200
push 0
push 0
push 0
push 0
push 0
push dword [esi - 8]
push dword [esp + 0x80]
call fcn.004d0e20
add esp, 0x24
mov dword [esi - 0x20], eax
jmp case.0x5056e0.381
push dword [esi + 4]
push dword [esp + 0x64]
call fcn.004c2300
add esp, 8
jmp case.0x5056e0.381
push dword [esi - 8]
push dword [esi - 0x2c]
push dword [esp + 0x68]
call fcn.004c2070
add esp, 0xc
mov dword [esi - 0x2c], eax
jmp case.0x5056e0.381
push dword [esi - 0x14]
mov edi, dword [esp + 0x64]
push dword [esi - 0x2c]
push edi
call fcn.004b5860
add esp, 0xc
mov dword [esi - 0x2c], eax
cmp dword [esi + 8], 0
jbe 0x506133
push 1
lea ecx, [esi + 4]
push ecx
push eax
push edi
call fcn.004b5e70
add esp, 0x10
mov ecx, dword [esi - 0x2c]
mov edx, dword [edi]
test ecx, ecx
je case.0x5056e0.381
mov eax, dword [ecx]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*4 - 8], 0
lea edi, [ecx + eax*4]
jne case.0x5056e0.381
push dword [esi - 8]
push dword [esi - 0x20]
push edx
call fcn.004aeed0
mov dword [edi - 8], eax
add esp, 0xc
mov eax, dword [edi]
and eax, 0xfffffffd
or eax, 1
mov dword [edi], eax
jmp case.0x5056e0.381
mov ebx, dword [esp + 0x60]
push 0
push 0x35
push dword [ebx]
call fcn.004aebd0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x5061c5
push 0x34
push 0
push edi
call fcn.00656e20
or eax, 0xffffffff
mov byte [edi], 0xb4
mov word [edi + 0x22], ax
add esp, 0xc
lea eax, [edi + 0x34]
mov dword [edi + 8], eax
mov byte [eax], 0
mov dword [edi + 0x18], 1
test byte [edi + 4], 3
jne 0x5061c5
mov eax, dword [esi + 4]
sub eax, dword [ebx + 0xf4]
mov dword [edi + 0x24], eax
push edi
push dword [esi - 0x14]
push ebx
call fcn.004b5860
add esp, 0xc
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
mov ebx, dword [esp + 0x60]
push 0
push 0x34
push dword [ebx]
call fcn.004aebd0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x50623e
push 0x34
push 0
push edi
call fcn.00656e20
or eax, 0xffffffff
mov byte [edi], 0xb4
mov word [edi + 0x22], ax
add esp, 0xc
mov dword [edi + 0x18], 1
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp eax, 1
jge 0x50622c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.004b0ca0
add esp, 0xc
test byte [edi + 4], 3
jne 0x50623e
mov eax, dword [esi + 4]
sub eax, dword [ebx + 0xf4]
mov dword [edi + 0x24], eax
push dword [esi - 0x10]
push dword [esi - 0x14]
push 0x3b
push ebx
call fcn.004f0510
push edi
push eax
push 0x8d
push ebx
call fcn.004c2d90
push eax
push dword [esi - 0x2c]
push ebx
call fcn.004b5860
add esp, 0x2c
mov dword [esi - 0x2c], eax
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esi - 8], eax
mov dword [esi - 4], ecx
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
push eax
push dword [esp + 0x64]
mov dword [esi - 8], eax
call fcn.004d1d30
add esp, 8
jmp case.0x5056e0.381
mov edx, dword [esi - 8]
test edx, edx
je case.0x5056e0.381
mov eax, dword [edx]
test eax, eax
jle case.0x5056e0.381
lea ecx, [eax + eax*8]
mov al, byte [esi + 4]
mov byte [edx + ecx*8 - 0x1c], al
jmp case.0x5056e0.381
mov ebp, dword [esi - 0x2c]
lea ecx, [esi - 0x20]
mov dword [esp + 0x20], ecx
lea edi, [esi + 4]
mov ecx, dword [esp + 0x60]
lea eax, [esi - 0x14]
mov ebx, dword [ecx]
mov dword [esp + 0x1c], ebx
test ebp, ebp
jne 0x506308
test edi, edi
je 0x506308
mov edx, dword [edi]
test edx, edx
jne 0x5062e8
cmp dword [edi + 4], edx
je 0x506308
test edx, edx
mov eax, 0x68af74
mov ebp, str.USING
cmove eax, ebp
push eax
push str.a_JOIN_clause_is_required_before__s
push ecx
call fcn.004b0ca0
add esp, 0xc
jmp 0x506321
push eax
lea eax, [esi - 0x20]
push eax
push ebp
push ecx
call fcn.004d13e0
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x506356
test edi, edi
je 0x50634c
mov eax, dword [edi]
test eax, eax
je 0x50633b
push eax
push ebx
call fcn.004b4a30
add esp, 8
xor ebp, ebp
mov dword [esi - 0x2c], ebp
jmp case.0x5056e0.381
mov eax, dword [edi + 4]
test eax, eax
je 0x50634c
push eax
push ebx
call fcn.004be0e0
add esp, 8
xor ebp, ebp
mov dword [esi - 0x2c], ebp
jmp case.0x5056e0.381
mov eax, dword [ebp]
mov ecx, dword [esp + 0x60]
lea eax, [eax + eax*8]
lea ebx, [eax*8]
add ebx, ebp
cmp byte [ecx + 0xdc], 2
jb 0x506394
mov edx, dword [ebx - 0x38]
test edx, edx
je 0x506394
lea eax, [esi - 0x14]
test eax, eax
je 0x506385
cmp dword [eax], 0
jne 0x506389
mov eax, dword [esp + 0x20]
push eax
push edx
push ecx
call fcn.004cbcb0
add esp, 0xc
cmp dword [esi - 4], 0
lea eax, [esi - 8]
je 0x5063ad
push eax
push dword [esp + 0x20]
call fcn.004c2440
add esp, 8
mov dword [ebx - 0x34], eax
test edi, edi
jne 0x5063c3
mov ecx, 0xfffffff0
xor eax, eax
mov dword [ebx + ecx], eax
mov dword [esi - 0x2c], ebp
jmp case.0x5056e0.381
cmp dword [edi + 4], 0
je 0x5063e3
or dword [ebx - 0x18], 0x400
mov ecx, 0xfffffff0
mov eax, dword [edi + 4]
mov dword [ebx + ecx], eax
mov dword [esi - 0x2c], ebp
jmp case.0x5056e0.381
mov eax, dword [edi]
mov ecx, 0xfffffff0
mov dword [ebx + ecx], eax
mov dword [esi - 0x2c], ebp
jmp case.0x5056e0.381
mov ebp, dword [esi - 0x38]
lea ecx, [esi - 0x2c]
mov dword [esp + 0x20], ecx
lea edi, [esi + 4]
mov ecx, dword [esp + 0x60]
lea eax, [esi - 0x20]
mov ebx, dword [ecx]
mov dword [esp + 0x1c], ebx
test ebp, ebp
jne 0x506442
test edi, edi
je 0x506442
mov edx, dword [edi]
test edx, edx
jne 0x506422
cmp dword [edi + 4], edx
je 0x506442
test edx, edx
mov eax, 0x68af74
mov ebp, str.USING
cmove eax, ebp
push eax
push str.a_JOIN_clause_is_required_before__s
push ecx
call fcn.004b0ca0
add esp, 0xc
jmp 0x50645b
push eax
lea eax, [esi - 0x2c]
push eax
push ebp
push ecx
call fcn.004d13e0
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x50648a
test edi, edi
je 0x506483
mov eax, dword [edi]
test eax, eax
je 0x506472
push eax
push ebx
call fcn.004b4a30
add esp, 8
xor ebp, ebp
jmp 0x506505
mov eax, dword [edi + 4]
test eax, eax
je 0x506483
push eax
push ebx
call fcn.004be0e0
add esp, 8
xor ebp, ebp
jmp 0x506505
mov eax, dword [ebp]
lea eax, [eax + eax*8]
lea ebx, [eax*8]
mov eax, dword [esp + 0x60]
add ebx, ebp
cmp byte [eax + 0xdc], 2
jb 0x5064c8
mov edx, dword [ebx - 0x38]
test edx, edx
je 0x5064c8
lea ecx, [esi - 0x20]
test ecx, ecx
je 0x5064b9
cmp dword [ecx], 0
jne 0x5064bd
mov ecx, dword [esp + 0x20]
push ecx
push edx
push eax
call fcn.004cbcb0
add esp, 0xc
cmp dword [esi - 0x10], 0
lea eax, [esi - 0x14]
je 0x5064e1
push eax
push dword [esp + 0x20]
call fcn.004c2440
add esp, 8
mov dword [ebx - 0x34], eax
test edi, edi
jne 0x5064e9
xor eax, eax
jmp 0x5064fd
cmp dword [edi + 4], 0
je 0x5064fb
or dword [ebx - 0x18], 0x400
mov eax, dword [edi + 4]
jmp 0x5064fd
mov eax, dword [edi]
mov ecx, 0xfffffff0
mov dword [ecx + ebx], eax
lea eax, [esi - 8]
mov dword [esi - 0x38], ebp
push eax
push ebp
push dword [esp + 0x68]
call fcn.004d1c70
add esp, 0xc
jmp case.0x5056e0.381
mov ebp, dword [esp + 0x60]
lea ecx, [esi - 0x44]
mov edx, dword [esi - 0x50]
lea edi, [esi + 4]
mov dword [esp + 0x20], ecx
lea eax, [esi - 0x38]
mov ebx, dword [ebp]
mov dword [esp + 0x1c], ebx
test edx, edx
jne 0x50656f
test edi, edi
je 0x50656f
mov ecx, dword [edi]
test ecx, ecx
jne 0x50654c
cmp dword [edi + 4], ecx
je 0x50656c
test ecx, ecx
mov edx, str.USING
mov eax, 0x68af74
cmove eax, edx
push eax
push str.a_JOIN_clause_is_required_before__s
push ebp
call fcn.004b0ca0
add esp, 0xc
jmp 0x506589
lea ecx, [esi - 0x44]
push eax
push ecx
push edx
push ebp
call fcn.004d13e0
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x5065cc
test edi, edi
je 0x5065a9
mov eax, dword [edi]
test eax, eax
je 0x506598
push eax
push ebx
call fcn.004b4a30
jmp 0x5065a6
mov eax, dword [edi + 4]
test eax, eax
je 0x5065a9
push eax
push ebx
call fcn.004be0e0
add esp, 8
mov eax, dword [esi - 0x20]
mov dword [esi - 0x50], 0
test eax, eax
je case.0x5056e0.381
push eax
push dword [ebp]
call fcn.0047ea30
add esp, 8
jmp case.0x5056e0.381
cmp byte [ebp + 0xdc], 2
mov eax, dword [ecx]
lea eax, [eax + eax*8]
lea ebx, [ecx + eax*8]
jb 0x5065ff
mov ecx, dword [ebx - 0x38]
test ecx, ecx
je 0x5065ff
lea eax, [esi - 0x38]
test eax, eax
je 0x5065f0
cmp dword [eax], 0
jne 0x5065f4
mov eax, dword [esp + 0x20]
push eax
push ecx
push ebp
call fcn.004cbcb0
add esp, 0xc
cmp dword [esi - 4], 0
lea eax, [esi - 8]
je 0x506618
push eax
push dword [esp + 0x20]
call fcn.004c2440
add esp, 8
mov dword [ebx - 0x34], eax
test edi, edi
jne 0x506620
xor eax, eax
jmp 0x506634
cmp dword [edi + 4], 0
je 0x506632
or dword [ebx - 0x18], 0x400
mov eax, dword [edi + 4]
jmp 0x506634
mov eax, dword [edi]
mov edx, dword [esp + 0x18]
mov ecx, 0xfffffff0
mov dword [ebx + ecx], eax
mov ecx, dword [esi - 0x20]
mov dword [esi - 0x50], edx
mov eax, dword [edx]
lea eax, [eax + eax*8]
or dword [edx + eax*8 - 0x18], 4
mov dword [edx + eax*8], ecx
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
push dword [esi - 0x20]
lea eax, [esi - 8]
push eax
push 0
push 0
push dword [esi - 0x38]
push dword [esp + 0x78]
call fcn.004d14d0
add esp, 0x1c
mov dword [esi - 0x38], eax
jmp case.0x5056e0.381
mov ecx, dword [esi - 0x38]
test ecx, ecx
jne 0x50669f
cmp dword [esi - 4], ecx
jne 0x50669f
cmp dword [esi + 4], ecx
jne 0x50669f
cmp dword [esi + 8], ecx
jne 0x50669f
mov eax, dword [esi - 0x20]
mov dword [esi - 0x38], eax
jmp case.0x5056e0.381
mov eax, dword [esi - 0x20]
test eax, eax
je 0x506748
cmp dword [eax], 1
jne 0x506748
mov edi, dword [esp + 0x60]
lea eax, [esi + 4]
push eax
push 0
lea eax, [esi - 8]
push eax
push 0
push 0
push ecx
push edi
call fcn.004d14d0
add esp, 0x1c
mov dword [esi - 0x38], eax
test eax, eax
je 0x506736
mov ecx, dword [eax]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*8]
mov ecx, dword [esi - 0x20]
mov eax, dword [ecx + 0x10]
mov dword [edx - 0x38], eax
mov eax, dword [ecx + 0xc]
mov dword [edx - 0x3c], eax
mov eax, dword [ecx + 0x1c]
mov dword [edx - 0x2c], eax
test eax, eax
je 0x506707
test dword [eax + 4], 0x800
je 0x506707
or dword [edx - 0x18], 0x2000
test byte [ecx + 0x30], 4
je 0x506721
mov eax, dword [ecx + 0x48]
mov dword [edx], eax
and dword [ecx + 0x30], 0xfffffffb
mov dword [ecx + 0x48], 0
or dword [edx - 0x18], 4
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x1c], 0
push dword [esi - 0x20]
push dword [edi]
call fcn.004d16e0
add esp, 8
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
push eax
push edi
call fcn.004d1d30
push 0
push 0x800
push 0
push 0
push 0
push 0
push dword [esi - 0x20]
push 0
push edi
call fcn.004d0e20
lea ecx, [esi + 4]
push ecx
push eax
lea eax, [esi - 8]
push eax
push 0
push 0
push dword [esi - 0x38]
push edi
call fcn.004d14d0
add esp, 0x48
mov dword [esi - 0x38], eax
jmp case.0x5056e0.381
mov ebp, dword [esp + 0x60]
lea ebx, [esi + 4]
push 0
push ebx
push 0
push ebp
call fcn.004d13e0
add esp, 0x10
mov edi, eax
cmp byte [ebp + 0xdc], 2
jb 0x5067bf
test edi, edi
je 0x5067bf
push ebx
push dword [edi + 0x10]
push ebp
call fcn.004cbcb0
add esp, 0xc
mov dword [ebx], edi
jmp case.0x5056e0.381
mov ebx, dword [esp + 0x60]
lea eax, [esi + 4]
push eax
lea ebp, [esi - 0x14]
push ebp
push 0
push ebx
call fcn.004d13e0
add esp, 0x10
mov edi, eax
cmp byte [ebx + 0xdc], 2
jb 0x50706c
test edi, edi
je 0x50706c
lea eax, [esi + 4]
push eax
push dword [edi + 0x10]
push ebx
call fcn.004cbcb0
add esp, 0xc
mov dword [ebp], edi
jmp case.0x5056e0.381
push 0
lea edi, [esi + 4]
push edi
push 0
push dword [esp + 0x6c]
call fcn.004d13e0
add esp, 0x10
mov dword [edi], eax
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
lea edi, [esi - 0x14]
push edi
push 0
push dword [esp + 0x6c]
call fcn.004d13e0
add esp, 0x10
mov dword [edi], eax
jmp case.0x5056e0.381
lea eax, [esi - 0x14]
lea edi, [esi - 0x2c]
push eax
jmp 0x506852
lea edi, [esi - 0x14]
push 0
mov ebx, dword [esp + 0x64]
push edi
push 0
push ebx
call fcn.004d13e0
add esp, 0x10
mov dword [edi], eax
test eax, eax
je case.0x5056e0.381
lea eax, [esi + 4]
push eax
push dword [ebx]
call fcn.004c2440
mov ecx, dword [edi]
add esp, 8
mov dword [ecx + 0x14], eax
jmp case.0x5056e0.381
push 0
push 0
lea edi, [esi - 8]
push edi
push dword [esp + 0x6c]
call fcn.004c05b0
add esp, 0x10
mov dword [edi], eax
jmp case.0x5056e0.381
push 0
lea eax, [esi - 8]
push eax
lea edi, [esi - 0x14]
push edi
push dword [esp + 0x6c]
call fcn.004c05b0
add esp, 0x10
mov dword [edi], eax
jmp case.0x5056e0.381
lea eax, [esi - 8]
push eax
lea eax, [esi - 0x14]
push eax
lea edi, [esi - 0x20]
push edi
push dword [esp + 0x6c]
call fcn.004c05b0
add esp, 0x10
mov dword [edi], eax
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
mov dword [esi - 8], eax
mov dword [esi - 4], 0
jmp case.0x5056e0.381
mov eax, dword [esi - 8]
mov dword [esi - 0x20], 0
mov dword [esi - 0x1c], eax
jmp case.0x5056e0.381
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esi - 0x14], eax
mov dword [esi - 0x10], ecx
jmp case.0x5056e0.381
mov dword [esi - 8], 0
mov dword [esi - 4], 1
jmp case.0x5056e0.381
push dword [esi - 0x14]
push dword [esi - 0x2c]
push dword [esp + 0x68]
call fcn.004b5860
push dword [esi + 4]
mov dword [esi - 0x2c], eax
push dword [esi - 8]
push eax
call fcn.004b5f00
add esp, 0x18
jmp case.0x5056e0.381
push dword [esi - 0x14]
push 0
push dword [esp + 0x68]
call fcn.004b5860
push dword [esi + 4]
mov dword [esi - 0x14], eax
push dword [esi - 8]
push eax
call fcn.004b5f00
add esp, 0x18
jmp case.0x5056e0.381
mov dword [esi + 0x10], 0xffffffff
jmp case.0x5056e0.381
mov dword [esi - 8], 1
jmp case.0x5056e0.381
push 0
push dword [esi + 4]
push 0x94
push dword [esp + 0x6c]
call fcn.004c2d90
add esp, 0x10
mov dword [esi - 8], eax
jmp case.0x5056e0.381
push dword [esi + 4]
push dword [esi - 0x14]
jmp 0x5069c5
push dword [esi - 0x14]
push dword [esi + 4]
push 0x94
push dword [esp + 0x6c]
call fcn.004c2d90
add esp, 0x10
mov dword [esi - 0x20], eax
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
lea eax, [esi - 8]
push eax
push dword [esi - 0x14]
push edi
call fcn.004d1c70
push 0
push 0
push dword [esi + 4]
push dword [esi - 0x14]
push edi
call fcn.004af290
add esp, 0x20
jmp case.0x5056e0.381
push dword [esi + 4]
push dword [esp + 0x64]
call fcn.004a29a0
add esp, 8
mov dword [esi - 8], 0
jmp case.0x5056e0.381
push dword [esi + 4]
push dword [esp + 0x64]
call fcn.004a29a0
mov eax, dword [esi - 0x14]
add esp, 8
mov dword [esi - 0x20], eax
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
lea eax, [esi - 0x2c]
push eax
push dword [esi - 0x38]
push edi
call fcn.004d1c70
mov eax, dword [esi - 0x14]
add esp, 0xc
test eax, eax
je 0x506a76
mov ecx, dword [edi]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x80]
jle 0x506a76
push str.set_list
push str.too_many_columns_in__s
push edi
call fcn.004b0ca0
add esp, 0xc
mov eax, dword [esi - 8]
test eax, eax
je 0x506ad1
cmp dword [eax], 1
jle 0x506ac1
push 0
push 0x800
push 0
push 0
push 0
push 0
push eax
push 0
push edi
call fcn.004d0e20
push 0
push eax
lea eax, [esp + 0x50]
mov dword [esp + 0x54], 0
push eax
push 0
push 0
push 0
push edi
mov dword [esp + 0x64], 0
call fcn.004d14d0
add esp, 0x40
push eax
push dword [esi - 0x38]
push edi
call fcn.004d1620
add esp, 0xc
mov dword [esi - 0x38], eax
push 0
push 0
push 0
push dword [esi - 0x44]
push dword [esi + 4]
push dword [esi - 0x14]
push dword [esi - 0x38]
push edi
call fcn.004d43a0
add esp, 0x20
jmp case.0x5056e0.381
push dword [esi + 4]
mov edi, dword [esp + 0x64]
push dword [esi - 0x2c]
push edi
call fcn.004b5860
push 1
lea ecx, [esi - 0x14]
mov dword [esi - 0x2c], eax
push ecx
push eax
push edi
call fcn.004b5e70
add esp, 0x1c
jmp case.0x5056e0.381
push dword [esi + 4]
push dword [esi - 0x20]
push dword [esi - 0x44]
push dword [esp + 0x6c]
call fcn.004b59e0
add esp, 0x10
mov dword [esi - 0x44], eax
jmp case.0x5056e0.381
push dword [esi + 4]
mov ebp, dword [esp + 0x64]
push 0
push ebp
call fcn.004b5860
push 1
lea edi, [esi - 0x14]
mov ebx, eax
push edi
push ebx
push ebp
call fcn.004b5e70
add esp, 0x1c
mov dword [edi], ebx
jmp case.0x5056e0.381
push dword [esi + 4]
push dword [esi - 0x20]
push 0
push dword [esp + 0x6c]
call fcn.004b59e0
add esp, 0x10
mov dword [esi - 0x2c], eax
jmp case.0x5056e0.381
push dword [esi + 4]
push dword [esi - 0x38]
push dword [esi - 0x14]
push dword [esi - 8]
push dword [esi - 0x20]
push dword [esp + 0x74]
call fcn.004bed90
add esp, 0x18
jmp case.0x5056e0.381
push 0
push dword [esi - 0x44]
push dword [esi - 0x20]
push 0
push dword [esi - 0x2c]
push dword [esp + 0x74]
call fcn.004bed90
add esp, 0x18
jmp case.0x5056e0.381
mov dword [esi - 8], 0
push dword [esi + 4]
push dword [esp + 0x64]
call fcn.004a29a0
add esp, 8
jmp case.0x5056e0.381
push dword [esi + 4]
mov eax, dword [esp + 0x64]
push dword [esi - 8]
push dword [esi - 0x14]
push dword [esi - 0x44]
push dword [esi - 0x5c]
push dword [eax]
call fcn.004d7170
add esp, 0x18
mov dword [esi - 0x80], eax
jmp case.0x5056e0.381
push dword [esi + 4]
mov eax, dword [esp + 0x64]
push 0
push 0
push dword [esi - 0x20]
push dword [esi - 0x38]
push dword [eax]
call fcn.004d7170
add esp, 0x18
mov dword [esi - 0x5c], eax
jmp case.0x5056e0.381
mov eax, dword [esp + 0x60]
push 0
push 0x30
mov eax, dword [eax]
test eax, eax
je 0x506c34
push eax
call fcn.004aebd0
add esp, 0xc
jmp 0x506c3c
call fcn.004c19b0
add esp, 8
test eax, eax
je 0x506c8c
mov dword [eax + 0x15], 0
xor ecx, ecx
mov dword [eax + 0x19], 0
mov dword [eax + 0x1d], 0
mov dword [eax + 0x21], 0
mov dword [eax + 0x25], 0
mov dword [eax + 0x29], 0
mov word [eax + 0x2d], cx
mov byte [eax + 0x2f], cl
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov byte [eax + 0x14], cl
mov dword [eax + 0x10], ecx
mov dword [esi - 0x2c], eax
jmp case.0x5056e0.381
xor eax, eax
mov dword [esi - 0x2c], eax
jmp case.0x5056e0.381
mov eax, dword [esp + 0x60]
mov ebp, dword [esi - 8]
mov ebx, dword [esi - 0x14]
push 0
mov edi, dword [eax]
push 0x30
test edi, edi
je 0x506cb5
push edi
call fcn.004aebd0
add esp, 0xc
jmp 0x506cbd
call fcn.004c19b0
add esp, 8
mov ecx, eax
test ecx, ecx
je 0x506d18
mov dword [ecx + 0x15], 0
xor eax, eax
mov dword [ecx + 0x19], 0
test ebx, ebx
mov dword [ecx + 0x1d], 0
mov dword [ecx + 0x21], 0
mov dword [ecx + 0x25], 0
mov dword [ecx + 0x29], 0
mov word [ecx + 0x2d], ax
mov byte [ecx + 0x2f], al
mov dword [ecx], eax
mov dword [ecx + 4], eax
setne al
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebp
mov byte [ecx + 0x14], al
mov dword [ecx + 0x10], 0
mov dword [esi - 0x50], ecx
jmp case.0x5056e0.381
test ebx, ebx
je 0x506d26
push ebx
push edi
call fcn.0047ea30
add esp, 8
test ebp, ebp
je 0x506d34
push ebp
push edi
call fcn.004b4a30
add esp, 8
xor ecx, ecx
mov dword [esi - 0x50], ecx
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
push dword [esi - 0x14]
push dword [esp + 0x68]
call fcn.004be000
add esp, 0xc
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
lea edi, [esi + 4]
push edi
push 0
push dword [esp + 0x68]
call fcn.004be000
add esp, 0xc
mov dword [edi], eax
jmp case.0x5056e0.381
push dword [esi + 8]
push dword [esi + 4]
push 0x3b
push dword [esp + 0x6c]
call fcn.004f0510
add esp, 0x10
mov dword [esi + 4], eax
jmp case.0x5056e0.381
push dword [esi - 0x10]
mov ebx, dword [esp + 0x64]
push dword [esi - 0x14]
push 0x3b
push ebx
call fcn.004f0510
push dword [esi + 8]
mov edi, eax
push dword [esi + 4]
push 0x3b
push ebx
call fcn.004f0510
push eax
push edi
push 0x8d
push ebx
call fcn.004c2d90
add esp, 0x30
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
push dword [esi - 0x28]
mov ebx, dword [esp + 0x64]
push dword [esi - 0x2c]
push 0x3b
push ebx
call fcn.004f0510
push dword [esi - 0x10]
mov ebp, eax
push dword [esi - 0x14]
push 0x3b
push ebx
call fcn.004f0510
push dword [esi + 8]
mov edi, eax
push dword [esi + 4]
push 0x3b
push ebx
call fcn.004f0510
push eax
push edi
push 0x8d
push ebx
call fcn.004c2d90
add esp, 0x40
mov edx, eax
cmp byte [ebx + 0xdc], 2
jb 0x506e21
push ebp
push 0
push ebx
call fcn.004cbd20
add esp, 0xc
push edx
push ebp
push 0x8d
push ebx
call fcn.004c2d90
add esp, 0x10
mov dword [esi - 0x2c], eax
jmp case.0x5056e0.381
push dword [esi + 8]
movzx eax, word [esi + 2]
push dword [esi + 4]
push eax
push dword [esp + 0x6c]
call fcn.004f0510
add esp, 0x10
mov dword [esi + 4], eax
jmp case.0x5056e0.381
mov ebx, dword [esp + 0x60]
lea edi, [esi + 4]
push 1
push edi
push 0x9b
push dword [ebx]
call fcn.004b13d0
add esp, 0x10
test eax, eax
je 0x5082c2
mov ecx, dword [edi]
sub ecx, dword [ebx + 0xf4]
mov dword [eax + 0x24], ecx
mov dword [edi], eax
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
cmp byte [eax], 0x23
jne 0x506f0b
movzx eax, byte [eax + 1]
test byte [eax + 0x684c48], 4
je 0x506f0b
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x28], ecx
cmp byte [eax + 0x12], 0
jne 0x506ed7
lea ecx, [esp + 0x24]
push ecx
push str.near___T_:_syntax_error
push eax
call fcn.004b0ca0
add esp, 0xc
mov dword [esi + 4], 0
jmp case.0x5056e0.381
push 0
push 0
push 0xb0
push eax
call fcn.004c2d90
add esp, 0x10
mov dword [esi + 4], eax
test eax, eax
je case.0x5056e0.381
add eax, 0x1c
push eax
mov eax, dword [esp + 0x28]
inc eax
push eax
call fcn.004bce90
add esp, 8
jmp case.0x5056e0.381
mov ebx, dword [esi + 8]
mov edi, dword [esp + 0x60]
push ebx
push dword [esi + 4]
push 0x9c
push edi
call fcn.004f0510
push ebx
push eax
push edi
mov dword [esi + 4], eax
call fcn.004b1720
add esp, 0x1c
jmp case.0x5056e0.381
push 1
lea eax, [esi + 4]
push eax
push dword [esi - 0x14]
push dword [esp + 0x6c]
call fcn.004b11f0
add esp, 0x10
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
lea eax, [esi - 8]
push 1
push eax
push 0x24
push dword [edi]
call fcn.004b13d0
mov edx, dword [esi - 0x20]
mov ecx, eax
add esp, 0x10
mov dword [esi - 0x38], ecx
test ecx, ecx
jne 0x506f8b
test edx, edx
je case.0x5056e0.381
push edx
push dword [edi]
call fcn.004b4a30
add esp, 8
jmp case.0x5056e0.381
mov dword [ecx + 0x18], 1
test edx, edx
je case.0x5056e0.381
mov dword [ecx + 0xc], edx
mov eax, dword [edx + 4]
and eax, 0x400208
or dword [ecx + 4], eax
mov eax, dword [edx + 0x18]
cmp eax, 1
jl case.0x5056e0.381
inc eax
mov dword [ecx + 0x18], eax
jmp case.0x5056e0.381
push dword [esi - 0x14]
lea edi, [esi - 0x2c]
push edi
push dword [esi - 8]
push dword [esp + 0x6c]
call fcn.004b4be0
add esp, 0x10
mov dword [edi], eax
jmp case.0x5056e0.381
push dword [esi - 0x38]
mov ebx, dword [esp + 0x64]
lea ebp, [esi - 0x50]
push ebp
push dword [esi - 0x2c]
push ebx
call fcn.004b4be0
push dword [esi - 8]
mov edi, eax
push edi
push ebx
call fcn.004b1230
add esp, 0x1c
mov dword [ebp], edi
jmp case.0x5056e0.381
lea edi, [esi - 0x20]
jmp 0x507077
push dword [esi - 0x20]
lea ebp, [esi - 0x38]
push ebp
push dword [esi - 0x14]
jmp 0x507053
push dword [esi - 0x44]
mov ebx, dword [esp + 0x64]
lea ebp, [esi - 0x5c]
push ebp
push dword [esi - 0x38]
push ebx
call fcn.004b4be0
push dword [esi + 4]
mov edi, eax
push edi
push ebx
call fcn.004ebed0
push dword [esi - 0x14]
push edi
push ebx
call fcn.004b1230
add esp, 0x28
mov dword [ebp], edi
jmp case.0x5056e0.381
push 0
lea ebp, [esi - 0x2c]
push ebp
push 0
mov ebx, dword [esp + 0x6c]
push ebx
call fcn.004b4be0
push dword [esi + 4]
mov edi, eax
push edi
push ebx
call fcn.004ebed0
add esp, 0x1c
mov dword [ebp], edi
jmp case.0x5056e0.381
lea edi, [esi + 4]
push 0
push edi
push 0
push dword [esp + 0x6c]
call fcn.004b4be0
add esp, 0x10
mov dword [edi], eax
jmp case.0x5056e0.381
push dword [esi - 8]
mov ebx, dword [esp + 0x64]
push dword [esi - 0x20]
push ebx
call fcn.004b5860
push 0
push 0
push 0xb1
push ebx
mov edi, eax
call fcn.004c2d90
add esp, 0x1c
mov dword [esi - 0x2c], eax
test eax, eax
je 0x5070dc
mov dword [eax + 0x14], edi
cmp dword [edi], 0
je case.0x5056e0.381
mov eax, dword [edi + 8]
mov ecx, dword [esi - 0x2c]
mov eax, dword [eax + 4]
and eax, 0x400208
or dword [ecx + 4], eax
jmp case.0x5056e0.381
test edi, edi
je case.0x5056e0.381
push edi
push dword [ebx]
call fcn.0047ea30
add esp, 8
jmp case.0x5056e0.381
push dword [esi + 4]
push dword [esi - 0x14]
push dword [esp + 0x68]
call fcn.004b1580
add esp, 0xc
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
push dword [esi + 4]
movzx eax, word [esi - 0xa]
push dword [esi - 0x14]
push eax
push dword [esp + 0x6c]
call fcn.004c2d90
add esp, 0x10
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [esi - 4], ecx
or dword [esi - 4], 0x80000000
mov dword [esi - 8], eax
jmp case.0x5056e0.381
push dword [esi + 4]
mov edi, dword [esi - 4]
mov eax, edi
mov ebx, dword [esp + 0x64]
and eax, 0x7fffffff
push 0
push ebx
mov dword [esi - 4], eax
call fcn.004b5860
push dword [esi - 0x14]
push eax
push ebx
call fcn.004b5860
push 0
lea ecx, [esi - 8]
push ecx
push eax
push ebx
call fcn.004b4be0
add esp, 0x28
mov dword [esi - 0x14], eax
test edi, edi
jns 0x507193
push 0
push eax
push 0x13
push ebx
call fcn.004c2d90
add esp, 0x10
mov dword [esi - 0x14], eax
test eax, eax
je case.0x5056e0.381
or dword [eax + 4], 0x100
jmp case.0x5056e0.381
push dword [esi - 0x14]
mov edi, dword [esi - 0x1c]
mov eax, edi
mov ebx, dword [esp + 0x64]
and eax, 0x7fffffff
push 0
push ebx
mov dword [esi - 0x1c], eax
call fcn.004b5860
push dword [esi - 0x2c]
push eax
push ebx
call fcn.004b5860
push dword [esi + 4]
push eax
push ebx
call fcn.004b5860
push 0
lea ecx, [esi - 0x20]
push ecx
push eax
push ebx
call fcn.004b4be0
add esp, 0x34
mov dword [esi - 0x2c], eax
test edi, edi
jns 0x5071ff
push 0
push eax
push 0x13
push ebx
call fcn.004c2d90
add esp, 0x10
mov dword [esi - 0x2c], eax
test eax, eax
je case.0x5056e0.381
or dword [eax + 4], 0x100
jmp case.0x5056e0.381
movzx eax, word [esi + 2]
push 0
push dword [esi - 8]
push eax
push dword [esp + 0x6c]
call fcn.004c2d90
add esp, 0x10
mov dword [esi - 8], eax
jmp case.0x5056e0.381
push 0
push dword [esi - 0x14]
push 0x33
push dword [esp + 0x6c]
call fcn.004c2d90
add esp, 0x10
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
push dword [esi + 4]
mov ebx, dword [esp + 0x64]
push dword [esi - 0x14]
push 0x2d
push ebx
call fcn.004c2d90
mov edi, eax
mov dword [esi - 0x14], edi
jmp 0x507298
push dword [esi + 4]
mov ebx, dword [esp + 0x64]
push dword [esi - 0x20]
push 0xab
push ebx
call fcn.004c2d90
mov edi, eax
mov dword [esi - 0x20], edi
jmp 0x5072e5
push dword [esi + 4]
mov ebx, dword [esp + 0x64]
push dword [esi - 0x38]
push 0x2d
push ebx
call fcn.004c2d90
mov edi, eax
mov dword [esi - 0x38], edi
mov ecx, dword [ebx]
add esp, 0x10
test edi, edi
je case.0x5056e0.381
mov eax, dword [esi + 4]
test eax, eax
je case.0x5056e0.381
cmp byte [eax], 0x79
jne case.0x5056e0.381
cmp byte [ebx + 0xdc], 2
jae case.0x5056e0.381
mov byte [edi], 0x32
jmp 0x507316
push dword [esi + 4]
mov ebx, dword [esp + 0x64]
push dword [esi - 0x2c]
push 0xab
push ebx
call fcn.004c2d90
mov edi, eax
mov dword [esi - 0x2c], edi
mov ecx, dword [ebx]
add esp, 0x10
test edi, edi
je case.0x5056e0.381
mov eax, dword [esi + 4]
test eax, eax
je case.0x5056e0.381
cmp byte [eax], 0x79
jne case.0x5056e0.381
cmp byte [ebx + 0xdc], 2
jae case.0x5056e0.381
mov byte [edi], 0x33
mov eax, dword [edi + 0x10]
test eax, eax
je 0x507327
push eax
push ecx
call fcn.004b4a30
add esp, 8
mov dword [edi + 0x10], 0
jmp case.0x5056e0.381
mov ebp, dword [esp + 0x60]
movzx eax, word [esi - 0xa]
mov ebx, dword [esi + 4]
push 0
push 0x34
push dword [ebp]
mov dword [esp + 0x2c], eax
call fcn.004aebd0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x5073be
push 0x34
push 0
push edi
call fcn.00656e20
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov byte [edi], al
or eax, 0xffffffff
mov word [edi + 0x22], ax
mov dword [edi + 0x18], 1
lea ecx, [eax + 2]
test ebx, ebx
je 0x50739a
mov dword [edi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x400208
or dword [edi + 4], eax
mov eax, dword [ebx + 0x18]
cmp eax, ecx
jl 0x50739a
lea ecx, [eax + 1]
mov dword [edi + 0x18], ecx
mov eax, dword [ebp]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x5073ce
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebp
call fcn.004b0ca0
add esp, 0xc
mov dword [esi - 8], edi
jmp case.0x5056e0.381
test ebx, ebx
je 0x5073ce
push ebx
push dword [ebp]
call fcn.004b4a30
add esp, 8
mov dword [esi - 8], edi
jmp case.0x5056e0.381
mov cl, byte [esi - 0xa]
mov eax, dword [esi + 4]
add cl, 0x43
test eax, eax
je 0x5073f9
cmp byte [eax], 0xad
jne 0x5073f9
mov byte [eax], cl
mov edx, 0xfffffff8
mov ecx, esi
mov dword [ecx + edx], eax
jmp case.0x5056e0.381
push 0
push eax
movzx eax, cl
push eax
push dword [esp + 0x6c]
call fcn.004c2d90
mov edx, 0xfffffff8
mov ecx, esi
add esp, 0x10
mov dword [ecx + edx], eax
jmp case.0x5056e0.381
push dword [esi - 0x14]
mov edi, dword [esp + 0x64]
push 0
push edi
call fcn.004b5860
push dword [esi + 4]
push eax
push edi
call fcn.004b5860
push 0
lea ecx, [esi - 8]
push ecx
push eax
push edi
call fcn.004b4be0
add esp, 0x28
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
push dword [esi - 0x14]
mov edi, dword [esp + 0x64]
push 0
push edi
call fcn.004b5860
push dword [esi + 4]
push eax
push edi
call fcn.004b5860
push 0
push dword [esi - 0x2c]
mov ebx, eax
push 0x30
push edi
call fcn.004c2d90
add esp, 0x28
mov dword [esi - 0x2c], eax
test eax, eax
je 0x507486
mov dword [eax + 0x14], ebx
jmp 0x5076e1
test ebx, ebx
je 0x5076e1
push ebx
push dword [edi]
call fcn.0047ea30
add esp, 8
jmp 0x5076e1
mov eax, dword [esi - 8]
test eax, eax
jne 0x5074e9
push dword [esi - 0x2c]
mov edi, dword [esp + 0x64]
push edi
call fcn.004b6760
cmp dword [esi - 0x20], 0
mov ecx, str.false
mov eax, str.true
cmove eax, ecx
push eax
push 0x75
push dword [edi]
call fcn.004b1110
add esp, 0x14
mov dword [esi - 0x2c], eax
test eax, eax
je case.0x5056e0.381
push eax
call fcn.004b4cd0
add esp, 4
jmp case.0x5056e0.381
cmp dword [eax], 1
mov ebp, dword [eax + 8]
mov ebx, dword [esp + 0x60]
jne 0x50754d
push ebp
push ebx
call fcn.004b5610
add esp, 8
test eax, eax
je 0x50754d
mov eax, dword [esi - 0x2c]
lea edi, [esi - 0x2c]
cmp byte [eax], 0xb1
je 0x50754d
mov eax, dword [esi - 8]
mov dword [eax + 8], 0
mov eax, dword [esi - 8]
test eax, eax
je 0x50752a
push eax
push dword [ebx]
call fcn.0047ea30
add esp, 8
push 0
push ebp
push 0xad
push ebx
call fcn.004c2d90
push eax
push dword [edi]
push 0x35
push ebx
call fcn.004c2d90
add esp, 0x20
mov dword [edi], eax
jmp 0x5075f2
mov eax, dword [esi - 8]
cmp dword [eax], 1
jne 0x507592
cmp byte [ebp], 0x8a
jne 0x507592
push 0
push dword [esi - 0x2c]
lea edi, [esi - 0x2c]
push 0x31
push ebx
call fcn.004c2d90
mov dword [edi], eax
push dword [ebp + 0x14]
push eax
push ebx
call fcn.004c2e60
add esp, 0x1c
mov dword [ebp + 0x14], 0
mov eax, dword [esi - 8]
test eax, eax
je 0x5075f2
push eax
push dword [ebx]
call fcn.0047ea30
jmp 0x5075ef
push 0
push dword [esi - 0x2c]
lea edi, [esi - 0x2c]
push 0x31
push ebx
call fcn.004c2d90
mov ecx, eax
add esp, 0x10
mov dword [edi], ecx
test ecx, ecx
je 0x507581
mov eax, dword [ecx + 0xc]
cmp byte [eax], 0xb1
jne 0x5075e1
mov eax, dword [eax + 0x14]
push dword [esi - 8]
push dword [eax]
push ebx
call fcn.004b5f40
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x5075f2
push ebp
push ebx
call fcn.00498360
push ebp
push dword [edi]
push ebx
call fcn.004c2e60
add esp, 0x14
jmp 0x5075f2
mov eax, dword [esi - 8]
mov dword [ecx + 0x14], eax
push dword [edi]
push ebx
call fcn.004b6570
add esp, 8
cmp dword [esi - 0x20], 0
je case.0x5056e0.381
push 0
push dword [edi]
push 0x13
push ebx
call fcn.004c2d90
add esp, 0x10
mov dword [edi], eax
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
push 0
push 0
push 0x8a
push edi
call fcn.004c2d90
push dword [esi - 8]
mov dword [esi - 0x14], eax
push eax
push edi
call fcn.004c2e60
add esp, 0x1c
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
push 0
push dword [esi - 0x2c]
push 0x31
push edi
call fcn.004c2d90
push dword [esi - 8]
mov dword [esi - 0x2c], eax
push eax
push edi
call fcn.004c2e60
add esp, 0x1c
cmp dword [esi - 0x20], 0
je case.0x5056e0.381
push 0
push dword [esi - 0x2c]
push 0x13
push edi
call fcn.004c2d90
add esp, 0x10
mov dword [esi - 0x2c], eax
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
lea eax, [esi - 8]
push eax
lea eax, [esi - 0x14]
push eax
push 0
push edi
call fcn.004d13e0
push 0
push 0
push 0
push 0
push 0
push 0
mov ebp, eax
push ebp
push 0
push edi
call fcn.004d0e20
mov ebx, eax
add esp, 0x34
mov eax, dword [esi + 4]
test eax, eax
je 0x5076c6
xor ecx, ecx
test ebx, ebx
push eax
cmovne ecx, ebp
push ecx
push edi
call fcn.004d1c30
add esp, 0xc
push 0
push dword [esi - 0x2c]
push 0x31
push edi
call fcn.004c2d90
push ebx
push eax
push edi
mov dword [esi - 0x2c], eax
call fcn.004c2e60
add esp, 0x1c
cmp dword [esi - 0x20], 0
je case.0x5056e0.381
push 0
push dword [esi - 0x2c]
push 0x13
push edi
call fcn.004c2d90
add esp, 0x10
mov dword [esi - 0x2c], eax
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
push 0
push 0
push 0x14
push edi
call fcn.004c2d90
push dword [esi - 8]
mov dword [esi - 0x20], eax
push eax
push edi
call fcn.004c2e60
add esp, 0x1c
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
push 0
push dword [esi - 0x20]
push 0x9d
push edi
call fcn.004c2d90
mov ecx, dword [esi - 0x14]
add esp, 0x10
mov dword [esi - 0x2c], eax
test eax, eax
je 0x507774
mov eax, dword [esi - 8]
test eax, eax
je 0x50775d
push eax
push ecx
push edi
call fcn.004b5860
add esp, 0xc
mov ecx, eax
mov eax, dword [esi - 0x2c]
mov dword [eax + 0x14], ecx
push dword [esi - 0x2c]
push edi
call fcn.004b6570
add esp, 8
jmp case.0x5056e0.381
test ecx, ecx
je 0x507783
push ecx
push dword [edi]
call fcn.0047ea30
add esp, 8
mov eax, dword [esi - 8]
test eax, eax
je case.0x5056e0.381
push eax
push dword [edi]
call fcn.004b4a30
add esp, 8
jmp case.0x5056e0.381
push dword [esi - 0x14]
mov edi, dword [esp + 0x64]
push dword [esi - 0x2c]
push edi
call fcn.004b5860
push dword [esi + 4]
mov dword [esi - 0x2c], eax
push eax
push edi
call fcn.004b5860
add esp, 0x18
mov dword [esi - 0x2c], eax
jmp case.0x5056e0.381
push dword [esi - 0x14]
mov edi, dword [esp + 0x64]
push 0
push edi
call fcn.004b5860
push dword [esi + 4]
mov dword [esi - 0x20], eax
push eax
push edi
call fcn.004b5860
add esp, 0x18
mov dword [esi - 0x20], eax
jmp case.0x5056e0.381
push dword [esi + 4]
push dword [esi - 0x14]
push dword [esp + 0x68]
call fcn.004b5860
add esp, 0xc
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
push dword [esi + 4]
push 0
push dword [esp + 0x68]
call fcn.004b5860
add esp, 0xc
mov dword [esi + 4], eax
jmp case.0x5056e0.381
mov eax, dword [esi - 8]
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
push 0
push dword [esi - 0x5c]
mov edi, dword [esp + 0x68]
lea eax, [esi - 0x80]
push 0
push dword [esi + 4]
lea ebx, [esi - 0x2c]
push eax
push dword [esi - 0x74]
push dword [esi - 0x14]
push 0
push ebx
push 0
push edi
call fcn.004d13e0
add esp, 0x10
push eax
lea eax, [esi - 0x44]
push eax
lea eax, [esi - 0x50]
push eax
push edi
call fcn.004ad9f0
add esp, 0x2c
cmp byte [edi + 0xdc], 2
jb case.0x5056e0.381
mov eax, dword [edi + 0xfc]
test eax, eax
je case.0x5056e0.381
push ebx
push dword [eax]
push edi
call fcn.004cbcb0
add esp, 0xc
jmp case.0x5056e0.381
mov dword [esi + 4], 2
jmp case.0x5056e0.381
push dword [esi + 4]
lea eax, [esi - 0x14]
push dword [esi - 8]
push eax
push dword [esi - 0x2c]
push dword [esp + 0x70]
call fcn.00498240
add esp, 0x14
mov dword [esi - 0x2c], eax
jmp case.0x5056e0.381
push dword [esi + 4]
lea edi, [esi - 0x14]
push dword [esi - 8]
push edi
push 0
push dword [esp + 0x70]
call fcn.00498240
add esp, 0x14
mov dword [edi], eax
jmp case.0x5056e0.381
push dword [esi - 8]
push dword [esi + 4]
push dword [esp + 0x68]
call fcn.004afe80
add esp, 0xc
jmp case.0x5056e0.381
push dword [esi + 4]
push 0
push dword [esp + 0x68]
call fcn.004d7550
add esp, 0xc
jmp case.0x5056e0.381
push dword [esi + 4]
lea eax, [esi - 8]
push eax
push dword [esp + 0x68]
call fcn.004d7550
add esp, 0xc
jmp case.0x5056e0.381
push 0
push 0
lea eax, [esi + 4]
push eax
lea eax, [esi - 8]
push eax
push dword [esp + 0x70]
call fcn.004c5770
add esp, 0x14
jmp case.0x5056e0.381
push 0
lea eax, [esi + 4]
push eax
lea eax, [esi - 0x14]
push eax
lea eax, [esi - 0x20]
push eax
push dword [esp + 0x70]
call fcn.004c5770
add esp, 0x14
jmp case.0x5056e0.381
push 0
lea eax, [esi - 8]
push eax
lea eax, [esi - 0x20]
push eax
lea eax, [esi - 0x2c]
push eax
push dword [esp + 0x70]
call fcn.004c5770
add esp, 0x14
jmp case.0x5056e0.381
push 1
lea eax, [esi + 4]
push eax
lea eax, [esi - 0x14]
push eax
lea eax, [esi - 0x20]
push eax
push dword [esp + 0x70]
call fcn.004c5770
add esp, 0x14
jmp case.0x5056e0.381
push 1
lea eax, [esi - 8]
push eax
lea eax, [esi - 0x20]
push eax
lea eax, [esi - 0x2c]
push eax
push dword [esp + 0x70]
call fcn.004c5770
add esp, 0x14
jmp case.0x5056e0.381
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov ecx, dword [esi - 0x20]
sub eax, ecx
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
push eax
push dword [esi - 8]
mov dword [esp + 0x2c], ecx
push dword [esp + 0x68]
call fcn.004b7d90
add esp, 0xc
jmp case.0x5056e0.381
push dword [esi - 0x5c]
lea edi, [esi - 0x44]
push dword [esi - 0x74]
lea ebx, [esi - 0x50]
push dword [esi + 4]
push dword [esi - 0x14]
push dword [esi - 0x28]
push dword [esi - 0x2c]
push dword [esi - 0x38]
push edi
push ebx
push dword [esp + 0x84]
call fcn.004a5680
add esp, 0x28
cmp dword [esi - 0x40], 0
jne 0x507a2a
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [esi - 0x74], eax
mov dword [esi - 0x70], ecx
jmp case.0x5056e0.381
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esi - 0x74], eax
mov dword [esi - 0x70], ecx
jmp case.0x5056e0.381
movzx eax, word [esi + 2]
mov dword [esi + 4], eax
jmp case.0x5056e0.381
mov dword [esi - 8], 0x41
jmp case.0x5056e0.381
mov dword [esi + 0x10], 0x21
jmp case.0x5056e0.381
movzx eax, word [esi + 2]
mov dword [esi + 4], eax
mov dword [esi + 8], 0
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
mov dword [esi - 0x14], 0x81
mov dword [esi - 0x10], eax
jmp case.0x5056e0.381
mov eax, dword [esi - 0x14]
mov ecx, dword [eax + 0x2c]
mov eax, dword [esi - 8]
mov dword [ecx + 0x28], eax
mov ecx, dword [esi - 0x14]
mov eax, dword [esi - 8]
mov dword [ecx + 0x2c], eax
jmp case.0x5056e0.381
mov eax, dword [esi - 8]
mov dword [eax + 0x2c], eax
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
push str.qualified_table_names_are_not_allowed_on_INSERT__UPDATE__and_DELETE_statements_within_triggers
push dword [esp + 0x64]
mov dword [esi - 0x14], eax
mov dword [esi - 0x10], ecx
call fcn.004b0ca0
add esp, 8
jmp case.0x5056e0.381
push str.the_INDEXED_BY_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push dword [esp + 0x64]
call fcn.004b0ca0
add esp, 8
jmp case.0x5056e0.381
push str.the_NOT_INDEXED_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push dword [esp + 0x64]
call fcn.004b0ca0
add esp, 8
jmp case.0x5056e0.381
push dword [esi + 4]
movzx eax, byte [esi - 0x50]
push dword [esi - 0x5c]
push eax
push dword [esi - 8]
lea eax, [esi - 0x44]
push dword [esi - 0x20]
push dword [esi - 0x14]
push eax
push dword [esp + 0x7c]
call fcn.004d3990
add esp, 0x20
mov dword [esi - 0x5c], eax
jmp case.0x5056e0.381
push dword [esi + 4]
movzx eax, byte [esi - 0x44]
push dword [esi - 0x50]
push dword [esi - 8]
push eax
push dword [esi - 0x14]
lea eax, [esi - 0x2c]
push dword [esi - 0x20]
push eax
push dword [esp + 0x7c]
call fcn.004d3300
add esp, 0x20
mov dword [esi - 0x50], eax
jmp case.0x5056e0.381
mov ecx, dword [esp + 0x60]
push dword [esi + 4]
mov edi, dword [esi - 8]
mov ebp, edi
push dword [esi - 0x38]
mov eax, dword [ecx]
mov dword [esp + 0x20], eax
lea eax, [esi - 0x20]
push eax
push 0x80
push ecx
call fcn.004f0710
mov ebx, eax
add esp, 0x14
test ebx, ebx
je 0x507bb0
mov eax, dword [esp + 0x60]
cmp byte [eax + 0xdc], 2
jb 0x507b8c
xor edi, edi
jmp 0x507ba7
test edi, edi
je 0x507ba5
push 0
push 1
push edi
push dword [esp + 0x24]
call fcn.0047df60
add esp, 0x10
mov ebp, eax
jmp 0x507ba7
xor ebp, ebp
mov eax, ebx
mov dword [eax + 0x14], ebp
mov byte [ebx + 1], 0xb
test edi, edi
je 0x507bc1
push edi
push dword [esp + 0x1c]
call fcn.004b4a30
add esp, 8
mov dword [esi - 0x38], ebx
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
mov ebp, dword [esi - 8]
mov dword [esp + 0x20], eax
mov eax, dword [esi - 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x60]
push 0
push 0x30
mov ebx, dword [eax]
test ebx, ebx
je 0x507bf3
push ebx
call fcn.004aebd0
add esp, 0xc
jmp 0x507bfb
call fcn.004c19b0
add esp, 8
mov edi, eax
test edi, edi
je 0x507c2f
push 0x30
push 0
push edi
call fcn.00656e20
push dword [esp + 0x2c]
mov word [edi], 0xb8a
push dword [esp + 0x2c]
mov dword [edi + 8], ebp
push ebx
call fcn.004f06d0
mov dword [edi + 0x24], eax
add esp, 0x18
mov dword [esi - 0x14], edi
jmp case.0x5056e0.381
test ebp, ebp
je 0x507c3f
push 1
push ebp
push ebx
call fcn.00474df0
add esp, 0xc
xor edi, edi
mov dword [esi - 0x14], edi
jmp case.0x5056e0.381
push 0
push 0
push 0x47
push dword [esp + 0x6c]
call fcn.004c2d90
add esp, 0x10
mov dword [esi - 0x20], eax
test eax, eax
je case.0x5056e0.381
mov byte [eax + 1], 4
jmp case.0x5056e0.381
push 1
lea eax, [esi - 8]
push eax
mov eax, dword [esp + 0x68]
push 0x47
push dword [eax]
call fcn.004b13d0
add esp, 0x10
mov dword [esi - 0x38], eax
test eax, eax
je case.0x5056e0.381
mov cl, byte [esi - 0x20]
mov byte [eax + 1], cl
jmp case.0x5056e0.381
mov dword [esi + 4], 1
jmp case.0x5056e0.381
mov dword [esi + 4], 3
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
mov eax, dword [esi - 8]
mov ebx, dword [esi + 4]
mov dword [esp + 0x24], eax
mov ebp, dword [edi]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0
cmp byte [ebp + 0x57], 0
jne 0x507db7
push edi
call fcn.004cb3d0
add esp, 4
test eax, eax
jne 0x507db7
mov ecx, ebx
xor ebx, ebx
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
cmp dword [ebp + 0x14], ebx
jle 0x507d8a
mov edi, ebx
xor edi, 1
cmp ebx, 2
cmovge edi, ebx
test eax, eax
je 0x507d27
push eax
push edi
push ebp
call fcn.004aeb80
add esp, 0xc
test eax, eax
je 0x507d4c
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x10]
add edi, edi
push 0
push edx
mov eax, dword [eax + edi*8 + 0xc]
add eax, 0x28
push eax
call fcn.004803e0
add esp, 0xc
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x507d62
jmp 0x507d50
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
inc ebx
mov edx, dword [esp + 0x1c]
cmp ebx, dword [ebp + 0x14]
jl 0x507d05
test ecx, ecx
je 0x507d82
push ecx
push dword [esp + 0x64]
call fcn.004b02e0
mov ebx, dword [esp + 0x1c]
add esp, 8
push ebx
push ebp
call fcn.004d16e0
add esp, 8
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x24], 0
jne 0x507da5
lea eax, [ecx + 8]
push eax
push str.no_such_trigger:__S
push edi
call fcn.004b0ca0
add esp, 0xc
jmp 0x507daf
push eax
push edi
call fcn.004ab9c0
add esp, 8
mov ebx, dword [esp + 0x14]
mov byte [edi + 0x11], 1
push ebx
push ebp
call fcn.004d16e0
add esp, 8
jmp case.0x5056e0.381
push dword [esi + 4]
mov eax, dword [esi - 0x20]
push dword [esi - 8]
push eax
push eax
push 0x685d30
push 0x18
push dword [esp + 0x78]
call fcn.00475650
add esp, 0x1c
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
push eax
push 0
push 0
push eax
push 0x685d08
push 0x19
push dword [esp + 0x78]
call fcn.00475650
add esp, 0x1c
jmp case.0x5056e0.381
push 0
push 0
push dword [esp + 0x68]
call fcn.004cba00
add esp, 0xc
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
lea eax, [esi - 8]
push eax
push dword [esp + 0x68]
call fcn.004cba00
add esp, 0xc
jmp case.0x5056e0.381
push 0
push 0
push dword [esp + 0x68]
call fcn.004a3f90
add esp, 0xc
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
lea eax, [esi - 8]
push eax
push dword [esp + 0x68]
call fcn.004a3f90
add esp, 0xc
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
push dword [esi - 0x20]
push dword [esp + 0x68]
call fcn.004a3b80
add esp, 0xc
jmp case.0x5056e0.381
mov edx, dword [esp + 0x60]
lea ecx, [esi - 8]
push ecx
push edx
mov eax, dword [edx + 0xd4]
add eax, dword [edx + 0xd0]
sub eax, dword [ecx]
mov dword [esi - 4], eax
call fcn.004a34f0
add esp, 8
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
push dword [esi - 0x20]
push dword [esp + 0x68]
call fcn.004a2f50
add esp, 0xc
jmp case.0x5056e0.381
mov edx, dword [esp + 0x60]
push edx
call fcn.0047adf0
push dword [esi + 4]
push edx
call fcn.004a2cd0
add esp, 0xc
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
lea eax, [esi - 0x14]
push eax
push dword [esi - 0x38]
push dword [esp + 0x6c]
call fcn.004a38f0
add esp, 0x10
jmp case.0x5056e0.381
push 0
push dword [esp + 0x64]
call fcn.004e4e90
add esp, 8
jmp case.0x5056e0.381
lea eax, [esi + 4]
push eax
push dword [esp + 0x64]
call fcn.004e4e90
add esp, 8
jmp case.0x5056e0.381
push dword [esi - 0x2c]
mov ebx, dword [esp + 0x64]
lea eax, [esi - 0x14]
push 1
push 0
push 0
push eax
lea eax, [esi - 0x20]
push eax
push ebx
call fcn.004d1db0
mov edi, dword [ebx + 0xf8]
add esp, 0x1c
test edi, edi
je case.0x5056e0.381
lea eax, [esi + 4]
mov byte [edi + 0x2b], 1
mov ebp, dword [ebx]
push eax
push ebp
mov dword [esp + 0x24], ebp
call fcn.004c2440
push eax
push edi
push ebx
call fcn.0046c890
push 0
push edi
push ebx
call fcn.0046c890
mov eax, dword [edi]
add esp, 0x20
mov dword [esp + 0x20], eax
test eax, eax
jne 0x507f7e
xor ebp, ebp
jmp 0x507fc4
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x507f83
sub ecx, edx
push 0
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
push eax
test ebp, ebp
je 0x507fa5
push ebp
call fcn.004aebd0
add esp, 0xc
jmp 0x507fad
call fcn.004c19b0
add esp, 8
mov ebp, eax
test ebp, ebp
je 0x507fc4
push dword [esp + 0x24]
push dword [esp + 0x24]
push ebp
call fcn.006568a0
add esp, 0xc
push ebp
push edi
push ebx
call fcn.0046c890
mov eax, dword [esi + 8]
add esp, 0xc
sub eax, dword [ebx + 0xc8]
add eax, dword [esi + 4]
mov dword [ebx + 0xcc], eax
cmp dword [edi + 0x30], 0
je case.0x5056e0.381
mov edx, dword [edi + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x50800f
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x50800f
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x508007
mov eax, dword [ebx]
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
mov eax, dword [edi + 0x30]
push dword [eax]
push dword [edi]
push 0x1d
push ebx
call fcn.004a53a0
add esp, 0x14
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
push edi
call fcn.0046c830
add esp, 4
mov dword [edi + 0x108], 0
mov dword [edi + 0x10c], 0
jmp case.0x5056e0.381
mov ecx, dword [esp + 0x60]
mov eax, dword [esi + 4]
mov edx, dword [ecx + 0x108]
test edx, edx
jne 0x50807b
mov dword [ecx + 0x108], eax
mov eax, dword [esi + 8]
mov dword [ecx + 0x10c], eax
jmp case.0x5056e0.381
sub eax, edx
add eax, dword [esi + 8]
mov dword [ecx + 0x10c], eax
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
test eax, eax
je case.0x5056e0.381
mov edi, dword [esp + 0x60]
push eax
push 0x4eec40
push edi
call fcn.004c50a0
add esp, 0xc
test eax, eax
je case.0x5056e0.381
cmp dword [edi + 0x24], 0
jne case.0x5056e0.381
mov ecx, dword [edi + 0x114]
mov dword [eax + 8], ecx
mov dword [edi + 0x114], eax
jmp case.0x5056e0.381
mov byte [esi + 4], 1
jmp case.0x5056e0.381
mov byte [esi - 8], 0
jmp case.0x5056e0.381
mov byte [esi - 0x14], 2
jmp case.0x5056e0.381
mov ebx, dword [esp + 0x60]
mov al, byte [esi - 0x20]
mov ebp, dword [esi - 8]
mov byte [esp + 0x13], al
mov ebx, dword [ebx]
mov eax, dword [esi - 0x2c]
mov dword [esp + 0x20], eax
push 0
push 0x18
test ebx, ebx
je 0x508114
push ebx
call fcn.004aebd0
add esp, 0xc
jmp 0x50811c
call fcn.004c19b0
add esp, 8
mov edi, eax
test edi, edi
je 0x50812d
xorps xmm0, xmm0
movups xmmword [edi], xmm0
movq qword [edi + 0x10], xmm0
cmp byte [ebx + 0x57], 0
mov eax, dword [esp + 0x20]
je 0x50815d
test eax, eax
je 0x508145
push eax
push ebx
call fcn.0047ea30
add esp, 8
test ebp, ebp
je 0x50817e
push 1
push ebp
push ebx
call fcn.00474df0
add esp, 0xc
mov dword [esi - 0x38], edi
jmp case.0x5056e0.381
mov dword [edi + 4], eax
lea eax, [esi - 0x38]
push eax
mov eax, dword [esp + 0x64]
mov dword [edi + 8], ebp
push dword [eax]
call fcn.004c2440
mov dword [edi], eax
add esp, 8
mov al, byte [esp + 0x13]
mov byte [edi + 0x14], al
mov dword [esi - 0x38], edi
jmp case.0x5056e0.381
mov eax, dword [esp + 0x60]
mov byte [eax + 0x1b], 1
jmp case.0x5056e0.381
push dword [esi + 4]
push 0
push dword [esp + 0x68]
call fcn.004eea40
add esp, 0xc
mov dword [esi + 4], eax
jmp case.0x5056e0.381
push dword [esi + 4]
push dword [esi - 0x14]
push dword [esp + 0x68]
call fcn.004eea40
add esp, 0xc
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
push dword [esi - 0x14]
push dword [esi + 4]
push dword [esp + 0x68]
call fcn.004ebf20
mov ecx, dword [esi + 4]
add esp, 0xc
mov eax, dword [esi - 0x14]
mov dword [ecx + 0x24], eax
mov eax, dword [esi + 4]
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
cmp dword [esi - 8], 0
je case.0x5056e0.398
mov eax, dword [esp + 0x60]
push 0
push dword [esi - 0x28]
push dword [esi - 0x2c]
push dword [eax]
call fcn.004aef50
mov ecx, dword [esi - 8]
add esp, 0x10
mov dword [ecx], eax
mov eax, dword [esi - 8]
mov dword [esi - 0x2c], eax
jmp case.0x5056e0.381
mov edi, dword [esi + 4]
mov ebx, dword [esi - 8]
mov eax, dword [esi - 0x14]
test edi, edi
je 0x508233
mov dword [edi + 8], eax
mov dword [edi + 0xc], ebx
mov dword [esi - 0x2c], edi
jmp case.0x5056e0.381
mov ebp, dword [esp + 0x60]
test eax, eax
je 0x508247
push eax
push dword [ebp]
call fcn.0047ea30
add esp, 8
test ebx, ebx
je 0x508257
push ebx
push dword [ebp]
call fcn.0047ea30
add esp, 8
mov dword [esi - 0x2c], edi
jmp case.0x5056e0.381
lea edi, [esi - 0x38]
push edi
push dword [esi - 8]
push dword [esi - 0x14]
jmp 0x5082b3
mov edi, dword [esi + 4]
mov eax, dword [esi - 8]
test edi, edi
je 0x508287
mov dword [edi + 8], 0
mov dword [edi + 0xc], eax
mov dword [esi - 0x20], edi
jmp case.0x5056e0.381
test eax, eax
je 0x50829a
push eax
mov eax, dword [esp + 0x64]
push dword [eax]
call fcn.0047ea30
add esp, 8
mov dword [esi - 0x20], edi
jmp case.0x5056e0.381
lea edi, [esi - 0x2c]
push edi
push dword [esi - 8]
jmp 0x5082b1
lea edi, [esi - 8]
push edi
push 0
push 0
push dword [esi + 4]
push dword [esp + 0x70]
call fcn.004ebe30
add esp, 0x14
mov dword [edi], eax
jmp case.0x5056e0.381
mov ebx, dword [esp + 0x60]
push 0
push 0x64
mov eax, dword [ebx]
test eax, eax
je 0x5082e2
push eax
call fcn.004aebd0
add esp, 0xc
jmp 0x5082ea
call fcn.004c19b0
add esp, 8
mov edi, eax
test edi, edi
je 0x508339
push 0x64
push 0
push edi
call fcn.00656e20
mov word [edi + 0x10], 0x5a59
mov byte [edi + 0x12], 0x55
mov eax, dword [ebx]
push 0
push ebx
mov eax, dword [eax + 0x50]
and al, 2
mov byte [edi + 0x13], 1
neg al
sbb al, al
and al, 0x42
mov byte [edi + 0x14], al
call fcn.004edfa0
push 0
push ebx
mov dword [edi + 0x1c], eax
call fcn.004edfa0
mov dword [edi + 0x18], eax
add esp, 0x1c
mov dword [esi + 0x10], edi
jmp case.0x5056e0.381
xor edi, edi
mov dword [esi + 0x10], edi
jmp case.0x5056e0.381
movzx eax, byte [esi + 4]
push eax
push 0
push 0x55
push dword [esi - 4]
push dword [esi - 8]
push dword [esi - 0x14]
push dword [esp + 0x78]
call fcn.004ebd20
add esp, 0x1c
mov dword [esi - 0x14], eax
jmp case.0x5056e0.381
movzx eax, byte [esi + 4]
push eax
push dword [esi - 4]
push dword [esi - 8]
push dword [esi - 0x1c]
push dword [esi - 0x20]
push dword [esi - 0x38]
push dword [esp + 0x78]
call fcn.004ebd20
add esp, 0x1c
mov dword [esi - 0x38], eax
jmp case.0x5056e0.381
movzx eax, word [esi - 0xa]
mov dword [esi - 8], eax
mov dword [esi - 4], 0
jmp case.0x5056e0.381
movzx ecx, word [esi + 2]
mov eax, dword [esi - 8]
mov dword [esi - 8], ecx
mov dword [esi - 4], eax
jmp case.0x5056e0.381
mov byte [esi + 0x10], 0
jmp case.0x5056e0.381
mov al, byte [esi + 4]
mov byte [esi - 8], al
jmp case.0x5056e0.381
mov al, byte [esi - 0xa]
mov byte [esi - 8], al
jmp case.0x5056e0.381
mov al, byte [esi + 2]
mov byte [esi + 4], al
jmp case.0x5056e0.381
mov ecx, dword [esi + 4]
mov eax, dword [esi - 8]
test ecx, ecx
je 0x5083f8
mov dword [ecx + 0x28], eax
mov eax, dword [esi + 4]
mov dword [esi - 8], eax
jmp case.0x5056e0.381
test eax, eax
je case.0x5056e0.117
push eax
mov eax, dword [esp + 0x64]
push dword [eax]
call fcn.004b4a30
add esp, 8
mov eax, dword [esi + 4]
mov dword [esi - 8], eax
jmp case.0x5056e0.381
mov ebx, dword [esp + 0x60]
push 0
push 0x64
push dword [ebx]
call fcn.004aecb0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x508440
mov byte [edi + 0x10], 0xa6
mov ecx, dword [esi + 4]
mov dword [edi + 0x28], ecx
mov dword [esi + 4], edi
jmp case.0x5056e0.381
mov eax, dword [esi + 4]
test eax, eax
je 0x508452
push eax
push dword [ebx]
call fcn.004b4a30
add esp, 8
mov dword [esi + 4], edi
jmp case.0x5056e0.381
mov eax, dword [esi - 8]
mov dword [esi - 0x20], eax
jmp case.0x5056e0.381
mov edi, dword [esp + 0x60]
push 0
push 0x64
push dword [edi]
call fcn.004aecb0
add esp, 0xc
mov dword [esi - 8], eax
test eax, eax
je case.0x5056e0.381
push 0
push dword [esi + 8]
push dword [esi + 4]
push dword [edi]
call fcn.004aef50
mov ecx, dword [esi - 8]
add esp, 0x10
mov dword [ecx], eax
jmp case.0x5056e0.381
push dword [esi + 8]
movzx eax, word [esi + 2]
push dword [esi + 4]
push eax
push dword [esp + 0x6c]
call fcn.004f0510
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x50858b
mov edi, dword [ebx + 8]
mov ebp, edi
cmp byte [edi], 0x30
jne 0x5084db
mov al, byte [edi + 1]
cmp al, 0x78
je 0x5084d4
cmp al, 0x58
jne 0x5084db
mov esi, 1
jmp 0x5084dd
xor esi, esi
mov byte [ebx], 0x9b
mov al, byte [edi]
cmp al, 0x5f
je 0x5084fd
mov byte [ebp], al
inc ebp
mov al, byte [edi]
cmp al, 0x65
je 0x5084f8
cmp al, 0x45
je 0x5084f8
cmp al, 0x2e
jne 0x508550
mov byte [ebx], 0x99
jmp 0x508550
test esi, esi
jne 0x50851d
movzx eax, byte [edi - 1]
test byte [eax + 0x684c48], 4
je 0x50853c
movzx eax, byte [edi + 1]
test byte [eax + 0x684c48], 4
je 0x50853c
jmp 0x508550
cmp esi, 1
jne 0x508550
movzx eax, byte [edi - 1]
test byte [eax + 0x684c48], 8
je 0x50853c
movzx eax, byte [edi + 1]
test byte [eax + 0x684c48], 8
jne 0x508550
push dword [ebx + 8]
push str.unrecognized_token:___s_
push dword [esp + 0x68]
call fcn.004b0ca0
add esp, 0xc
mov al, byte [edi]
inc edi
test al, al
jne 0x5084e0
test esi, esi
mov esi, dword [esp + 0x20]
je 0x508564
mov byte [ebx], 0x9b
jmp 0x508569
cmp byte [ebx], 0x9b
jne 0x50858b
lea eax, [esp + 0x24]
push eax
push dword [ebx + 8]
call fcn.004bce90
add esp, 8
test eax, eax
je 0x50858b
mov eax, dword [esp + 0x24]
or dword [ebx + 4], 0x800
mov dword [ebx + 8], eax
mov dword [esi + 4], ebx
pop ebp
pop ebx
mov ecx, dword [esp + 0x48]
movsx eax, byte [ecx + 0x683b28]
movzx edi, word [ecx*2 + 0x6837f0]
lea eax, [eax + eax*2]
lea edx, [esi + eax*4]
movzx eax, word [edx]
movsx ecx, word [eax*2 + 0x682eb0]
add ecx, edi
movzx eax, word [ecx*2 + 0x680730]
lea ecx, [edx + 0xc]
mov edx, dword [esp + 0x44]
mov dword [edx], ecx
mov word [ecx + 2], di
pop edi
mov word [ecx], ax
pop esi
add esp, 0x38
ret