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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
mov eax, dword [0x51eb30]
movq xmm0, qword [0x51eb28]
push ebx
push esi
mov esi, dword [ecx]
shl esi, 4
add esi, ecx
mov dword [esp + 0x40], eax
lea eax, [edx - 5]
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], esi
movq qword [esp + 0x38], xmm0
lea ebx, [esi + 0xc]
mov dword [esp + 0x1c], ebx
push edi
mov edi, dword [ecx + 8]
cmp eax, 0x140
ja case.0x4d49d5.10
movzx eax, byte [eax + 0x4d7408]
jmp dword [eax*4 + 0x4d7180]
mov byte [edi + 0x1d0], 0
mov dword [edi + 0x1b0], 0
jmp case.0x4d49d5.10
mov byte [edi + 0x1d0], 1
mov dword [edi + 0x1b0], 0
jmp case.0x4d49d5.10
mov byte [edi + 0x1d0], 2
mov dword [edi + 0x1b0], 0
jmp case.0x4d49d5.10
mov ecx, edi
call fcn.004af9f0
jmp case.0x4d49d5.10
mov ecx, dword [esi]
mov esi, dword [edi + 0xc]
mov eax, dword [edi]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test esi, esi
jne 0x4d4a59
mov ecx, eax
call fcn.0049b320
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0xc], esi
test esi, esi
je case.0x4d49d5.10
cmp ecx, 7
je 0x4d4ae5
xor edi, edi
cmp dword [eax + 4], edi
jle 0x4d4ae5
mov ebx, dword [esp + 0x14]
nop dword [eax]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], eax
cmp dword [esi + 0x10], eax
jg 0x4d4a8b
mov ecx, esi
call fcn.0049b3e0
test eax, eax
jne 0x4d4ac6
mov eax, dword [esp + 0x24]
inc dword [esi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x14]
mov word [eax + ecx*4], 0x22
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edi
lea ecx, [eax + ecx*4]
xor eax, eax
mov dword [ecx + 0xc], 0
cmp dword [esp + 0x1c], 9
mov dword [ecx + 0x10], 0
sete al
inc eax
mov dword [ecx + 8], eax
mov byte [esi + 0x6e], 0
mov eax, dword [esi + 0x78]
mov edx, 1
mov ecx, edi
shl edx, cl
test edx, eax
jne 0x4d4adb
or eax, edx
mov dword [esi + 0x78], eax
inc edi
cmp edi, dword [ebx + 4]
jl 0x4d4a70
mov ebx, dword [esp + 0x20]
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0x4d4afc
mov ecx, esi
call fcn.0049b3e0
test eax, eax
jne case.0x4d49d5.10
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov dword [eax + ecx*4 + 4], 0
mov byte [eax + ecx*4 + 3], 0
mov word [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
jmp case.0x4d49d5.10
movzx eax, byte [ebx + 2]
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov esi, dword [edi + 0xc]
test esi, esi
jne 0x4d4b61
mov ecx, dword [edi]
call fcn.0049b320
mov esi, eax
mov dword [edi + 0xc], esi
test esi, esi
je case.0x4d49d5.10
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0x4d4b78
mov ecx, esi
call fcn.0049b3e0
test eax, eax
jne case.0x4d49d5.10
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov dword [eax + ecx*4 + 4], 1
jmp 0x4d4b0d
mov esi, dword [edi + 0xc]
test esi, esi
jne 0x4d4ba6
mov ecx, dword [edi]
call fcn.0049b320
mov esi, eax
mov dword [edi + 0xc], esi
test esi, esi
je case.0x4d49d5.10
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0x4d4bbd
mov ecx, esi
call fcn.0049b3e0
test eax, eax
jne case.0x4d49d5.10
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
jmp 0x4d4b20
lea eax, [ebx + 4]
xor edx, edx
push eax
mov ecx, edi
call fcn.004b4ed0
add esp, 4
jmp case.0x4d49d5.10
lea eax, [ebx + 4]
mov edx, 1
push eax
mov ecx, edi
call fcn.004b4ed0
add esp, 4
jmp case.0x4d49d5.10
lea eax, [ebx + 4]
mov edx, 2
push eax
mov ecx, edi
call fcn.004b4ed0
add esp, 4
jmp case.0x4d49d5.10
push dword [ebx - 0x1c]
lea eax, [ebx + 4]
mov edx, esi
push 0
sub esp, 8
mov ecx, edi
push eax
call fcn.004b0ce0
add esp, 0x14
jmp case.0x4d49d5.10
mov eax, dword [edi]
mov byte [eax + 0xe2], 0
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
jmp case.0x4d49d5.10
lea eax, [ebx + 4]
mov edx, esi
push 0
push eax
mov ecx, edi
call fcn.004b2100
add esp, 8
jmp case.0x4d49d5.10
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
push 0
call fcn.004b2100
add esp, 8
mov esi, dword [ebx + 4]
mov edi, dword [edi]
test esi, esi
je case.0x4d49d5.10
mov edx, esi
mov ecx, edi
call fcn.004c16f0
push esi
push edi
call fcn.0048a5d0
add esp, 8
jmp case.0x4d49d5.10
mov eax, dword [edi + 0x1e0]
mov ecx, dword [ebx - 0x1c]
add eax, dword [edi + 0x1dc]
sub eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
jmp case.0x4d49d5.10
lea edx, [ebx + 4]
mov ecx, edi
call fcn.004b1480
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
jmp case.0x4d49d5.10
mov eax, dword [edi + 0x1e8]
lea edx, [ebx + 4]
test eax, eax
je case.0x4d49d5.10
mov ecx, dword [eax + 0xc]
cmp ecx, 1
jl case.0x4d49d5.10
mov eax, dword [eax + 0x10]
lea ecx, [ecx + ecx*2]
mov edi, dword [edi]
lea eax, [eax + ecx*8]
mov dword [esp + 0x1c], eax
test edx, edx
je 0x4d4de3
mov eax, dword [edx]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4d4d3c
xor esi, esi
mov ecx, esi
call fcn.0048ca80
mov eax, dword [esp + 0x1c]
jmp 0x4d4de5
mov eax, dword [edx + 4]
mov dword [esp + 0x24], eax
lea ecx, [eax + 1]
test edi, edi
je 0x4d4da5
cmp byte [edi + 0x1e], 0
je 0x4d4d62
xor esi, esi
mov ecx, esi
call fcn.0048ca80
mov eax, dword [esp + 0x1c]
jmp 0x4d4de5
cmp byte [edi + 0xe2], 0
je 0x4d4da5
movzx eax, word [edi + 0xe0]
cmp ecx, eax
jg 0x4d4da5
mov esi, dword [edi + 0xec]
test esi, esi
je 0x4d4da5
mov eax, dword [esi]
mov dword [edi + 0xec], eax
mov eax, dword [edi + 0xe4]
inc eax
mov dword [edi + 0xe4], eax
cmp eax, dword [edi + 0xe8]
jle 0x4d4dc0
mov dword [edi + 0xe8], eax
jmp 0x4d4dc0
push ecx
call fcn.0048a4e0
mov esi, eax
add esp, 4
test esi, esi
jne 0x4d4dc0
test edi, edi
je 0x4d4dbc
mov byte [edi + 0x1e], 1
test esi, esi
je 0x4d4dd6
mov edi, dword [esp + 0x24]
push edi
push dword [esp + 0x24]
push esi
call fcn.004dd8f0
add esp, 0xc
mov byte [esi + edi], 0
mov ecx, esi
call fcn.0048ca80
mov eax, dword [esp + 0x1c]
jmp 0x4d4de5
xor esi, esi
mov ecx, esi
mov dword [eax - 0xc], esi
call fcn.004b16a0
mov ecx, dword [esp + 0x1c]
mov byte [ecx - 2], al
jmp case.0x4d49d5.10
mov eax, dword [ebx + 8]
mov ecx, dword [ebx - 0x2c]
add eax, dword [ebx + 4]
sub eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
jmp case.0x4d49d5.10
mov eax, dword [ebx + 8]
mov ecx, dword [ebx - 0x4c]
add eax, dword [ebx + 4]
sub eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
jmp case.0x4d49d5.10
mov eax, dword [ebx + 8]
mov ecx, dword [esi]
add eax, dword [ebx + 4]
sub eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
jmp case.0x4d49d5.10
lea edx, [ebx + 4]
mov ecx, edi
call fcn.004b1760
jmp case.0x4d49d5.10
mov edx, esi
mov ecx, edi
call fcn.004b1760
jmp case.0x4d49d5.10
mov eax, dword [ebx + 4]
mov edx, 0x9c
mov ecx, dword [edi]
push 1
push 0
mov dword [esp + 0x24], eax
call fcn.004a77e0
mov edx, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [edi]
add esp, 8
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
test ecx, ecx
jne 0x4d4ea1
mov ecx, eax
call fcn.004a7e40
mov ecx, dword [esp + 0x24]
xor edx, edx
call fcn.004a7e40
jmp 0x4d4ec2
test edx, edx
je 0x4d4ebd
mov eax, 0x100
mov dword [ecx + 8], edx
test word [edx + 2], ax
je 0x4d4ebd
or word [ecx + 2], ax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
call fcn.004a7750
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x28]
mov dword [esp + 0x28], eax
mov ecx, edi
mov eax, dword [esi]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x30], eax
call fcn.004b1760
jmp case.0x4d49d5.10
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
mov edx, 0x5e
call fcn.004a77e0
mov esi, eax
add esp, 8
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test esi, esi
jne 0x4d4f1e
xor edx, edx
mov ecx, eax
call fcn.004a7e40
mov ecx, dword [esp + 0x24]
xor edx, edx
call fcn.004a7e40
jmp 0x4d4f25
mov ecx, esi
call fcn.004a7750
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x28]
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x2c], ecx
mov ecx, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], eax
call fcn.004b1760
jmp case.0x4d49d5.10
mov ecx, dword [edi + 0x1e8]
test ecx, ecx
je case.0x4d49d5.10
mov eax, dword [ecx + 0xc]
cmp eax, 1
jl case.0x4d49d5.10
mov ecx, dword [ecx + 0x10]
lea edx, [eax + eax*2]
mov al, byte [ebx + 4]
mov byte [ecx + edx*8 - 4], al
jmp case.0x4d49d5.10
push dword [ebx - 0x1c]
xor edx, edx
mov ecx, edi
push dword [ebx + 4]
push dword [esi]
call fcn.004b18f0
add esp, 0xc
jmp case.0x4d49d5.10
push 0
push 0
push 0
push 0
push dword [ebx + 4]
push 0
push 0
push 0
xor edx, edx
mov ecx, edi
call fcn.004b2fc0
add esp, 0x20
jmp case.0x4d49d5.10
mov esi, dword [esi]
test esi, esi
je case.0x4d49d5.10
mov edi, dword [edi]
mov edx, esi
mov ecx, edi
call fcn.004a7db0
cmp word [esi + 2], 0
jl case.0x4d49d5.10
push esi
push edi
call fcn.0048a5d0
add esp, 8
jmp case.0x4d49d5.10
mov esi, dword [esi]
xor edx, edx
mov edi, dword [edi]
mov ecx, edi
call fcn.004a8c40
mov edx, esi
mov ecx, edi
call fcn.004a8c40
jmp case.0x4d49d5.10
lea edx, [ebx + 4]
mov ecx, edi
call fcn.004b1b20
jmp case.0x4d49d5.10
mov eax, dword [ebx + 8]
not eax
and eax, dword [esi]
or eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0xff
jmp case.0x4d49d5.10
mov eax, dword [ebx + 4]
shl eax, 8
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0xff00
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 7
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 8
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 9
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 6
jmp case.0x4d49d5.10
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
jmp case.0x4d49d5.10
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
jmp case.0x4d49d5.10
mov edx, dword [ebx - 0x2c]
mov ecx, edi
push 0
push dword [ebx - 0x1c]
push dword [ebx + 4]
call fcn.004b18f0
add esp, 0xc
jmp case.0x4d49d5.10
push 0
push 0
push 0
push 0
push dword [ebx + 4]
push dword [ebx - 0x1c]
jmp 0x4d4f9b
mov esi, dword [ebx - 0x1c]
jmp 0x4d4fb2
mov esi, dword [ebx - 0x1c]
mov edx, dword [ebx - 0x5c]
jmp 0x4d4fe3
mov dword [esp + 0x3c], 0x63
jmp case.0x4d49d5.10
mov byte [esp + 0x3c], 0x63
jmp case.0x4d49d5.10
mov al, byte [ebx + 4]
mov byte [esp + 0x3c], al
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 4
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 5
jmp case.0x4d49d5.10
push dword [esi]
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
call fcn.004b2730
add esp, 8
jmp case.0x4d49d5.10
push dword [esi]
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
call fcn.004b2730
add esp, 8
jmp case.0x4d49d5.10
mov edx, dword [ebx + 4]
lea eax, [esp + 0x28]
push eax
mov ecx, edi
mov word [esp + 0x2c], 5
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
call fcn.004c9e10
add esp, 4
jmp 0x4d4c8c
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x4d51a2
mov al, byte [esi]
mov byte [ecx + 4], al
mov ecx, dword [ebx + 4]
mov eax, dword [ebx - 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov esi, dword [ebx - 0x1c]
mov edi, dword [edi]
test esi, esi
je case.0x4d49d5.83
mov edx, esi
mov ecx, edi
call fcn.004c16f0
push esi
push edi
call fcn.0048a5d0
add esp, 8
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 0x70
jmp case.0x4d49d5.10
push dword [ebx + 8]
mov edx, dword [ebx - 0x5c]
mov ecx, edi
push dword [ebx + 4]
push dword [ebx - 0x6c]
push dword [esi]
push dword [ebx - 0x1c]
push dword [ebx - 0x2c]
push dword [ebx - 0x3c]
push dword [ebx - 0x4c]
call fcn.004c1760
add esp, 0x20
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
push dword [esi]
mov edx, dword [ebx - 0x1c]
mov ecx, edi
call fcn.004a8a00
add esp, 4
mov edx, eax
cmp dword [ebx + 8], 0
mov dword [esp + 0x3c], edx
jbe 0x4d5233
lea ecx, [ebx + 4]
push 1
push ecx
mov ecx, edi
call fcn.004a8b60
mov edx, dword [esp + 0x44]
add esp, 8
mov esi, dword [edi]
test edx, edx
je case.0x4d49d5.10
mov eax, dword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
mov dword [esp + 0x1c], eax
push dword [eax]
push esi
call fcn.0048a5d0
mov ecx, dword [ebx - 8]
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4d5272
mov eax, dword [esp + 0x1c]
xor edi, edi
mov dword [eax], edi
jmp case.0x4d49d5.10
mov eax, dword [ebx - 4]
sub eax, ecx
mov dword [esp + 0x20], eax
lea edx, [eax + 1]
test esi, esi
je 0x4d52d8
cmp byte [esi + 0x1e], 0
je 0x4d5295
mov eax, dword [esp + 0x1c]
xor edi, edi
mov dword [eax], edi
jmp case.0x4d49d5.10
cmp byte [esi + 0xe2], 0
je 0x4d52d8
movzx eax, word [esi + 0xe0]
cmp edx, eax
jg 0x4d52d8
mov edi, dword [esi + 0xec]
test edi, edi
je 0x4d52d8
mov eax, dword [edi]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0x4d52f7
mov dword [esi + 0xe8], eax
jmp 0x4d52f7
push edx
call fcn.0048a4e0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4d52f3
test esi, esi
je 0x4d52ef
mov byte [esi + 0x1e], 1
test edi, edi
je 0x4d530a
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
push esi
push ecx
push edi
call fcn.004dd8f0
add esp, 0xc
mov byte [esi + edi], 0
mov eax, dword [esp + 0x1c]
mov dword [eax], edi
jmp case.0x4d49d5.10
mov ecx, dword [edi]
lea eax, [esp + 0x28]
push 0
push eax
mov edx, 0x70
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
call fcn.004a77e0
mov edx, dword [esi]
mov ecx, edi
push eax
call fcn.004a8a00
add esp, 0xc
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
mov edx, 0x70
call fcn.004a77e0
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4d5381
xor edx, edx
mov ecx, esi
call fcn.004a7e40
xor edx, edx
mov ecx, esi
call fcn.004a7e40
jmp 0x4d5388
mov ecx, eax
call fcn.004a7750
mov ecx, dword [edi]
lea eax, [ebx - 0x1c]
push 1
push eax
mov edx, 0x1a
call fcn.004a77e0
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4d53bb
xor edx, edx
mov ecx, esi
call fcn.004a7e40
xor edx, edx
mov ecx, esi
call fcn.004a7e40
jmp 0x4d53c2
mov ecx, eax
call fcn.004a7750
mov ecx, dword [edi]
mov edx, 0x75
push 1
push 0
call fcn.004a77e0
mov esi, eax
add esp, 8
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test esi, esi
jne 0x4d53fb
mov edx, dword [esp + 0x14]
mov ecx, eax
call fcn.004a7e40
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
call fcn.004a7e40
jmp 0x4d5442
mov edx, dword [esp + 0x1c]
mov eax, 0x100
test edx, edx
je 0x4d5420
mov dword [esi + 0xc], edx
test word [edx + 2], ax
je 0x4d5420
or word [esi + 2], ax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x14], eax
mov eax, 0x100
mov edx, dword [esp + 0x14]
test edx, edx
je 0x4d543b
mov dword [esi + 8], edx
test word [edx + 2], ax
je 0x4d543b
or word [esi + 2], ax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x14], eax
mov ecx, esi
call fcn.004a7750
mov edx, dword [ebx - 0x2c]
mov ecx, edi
push esi
call fcn.004a8a00
add esp, 4
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov esi, dword [edi]
test esi, esi
je 0x4d54b6
cmp byte [esi + 0x1e], 0
je 0x4d5470
xor edi, edi
mov dword [esp + 0x3c], edi
jmp case.0x4d49d5.10
cmp byte [esi + 0xe2], 0
je 0x4d54b6
mov eax, 0x40
cmp ax, word [esi + 0xe0]
ja 0x4d54b6
mov edi, dword [esi + 0xec]
test edi, edi
je 0x4d54b6
mov eax, dword [edi]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0x4d54d2
mov dword [esi + 0xe8], eax
jmp 0x4d54d2
push 0x40
call fcn.0048a4e0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4d54d2
test esi, esi
je 0x4d54ce
mov byte [esi + 0x1e], 1
test edi, edi
je 0x4d54df
push 0x40
push 0
push edi
call fcn.004dde70
add esp, 0xc
mov dword [esp + 0x3c], edi
jmp case.0x4d49d5.10
mov esi, dword [ebx + 4]
mov dword [esp + 0x3c], esi
test esi, esi
je case.0x4d49d5.10
lea eax, [esi + 8]
test eax, eax
je case.0x4d49d5.10
movsx ecx, word [esi]
dec ecx
test ecx, ecx
jle 0x4d5526
lea edx, [ecx*8]
sub edx, ecx
shl edx, 3
mov al, byte [esi + edx - 0x1b]
lea edx, [edx - 0x38]
dec ecx
mov byte [esi + edx + 0x55], al
test ecx, ecx
jg 0x4d5516
mov byte [esi + 0x1d], 0
jmp case.0x4d49d5.10
mov edx, dword [esi]
mov dword [esp + 0x3c], edx
test edx, edx
je case.0x4d49d5.10
movzx eax, word [edx]
test ax, ax
jle case.0x4d49d5.10
cwde
lea ecx, [eax*8]
sub ecx, eax
mov al, byte [ebx + 4]
mov byte [edx + ecx*8 - 0x1b], al
jmp case.0x4d49d5.10
push dword [ebx + 4]
mov edx, dword [ebx - 0x5c]
lea eax, [ebx - 0x2c]
push dword [esi]
mov ecx, edi
push 0
push eax
lea eax, [ebx - 0x3c]
push eax
lea eax, [ebx - 0x4c]
push eax
call fcn.004b4c40
lea ecx, [ebx - 0x1c]
mov dword [esp + 0x54], eax
push ecx
mov edx, eax
mov ecx, edi
call fcn.004b4dd0
add esp, 0x1c
jmp case.0x4d49d5.10
push dword [ebx + 4]
mov edx, dword [ebx - 0x5c]
lea eax, [ebx - 0x1c]
push dword [esi]
mov ecx, edi
push dword [ebx - 0x3c]
push eax
push 0
push 0
call fcn.004b4c40
add esp, 0x18
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
cmp dword [ebx - 0x5c], 0
jne 0x4d55de
cmp dword [ebx - 0x18], 0
jne 0x4d55de
cmp dword [esi], 0
jne 0x4d55de
cmp dword [ebx + 4], 0
jne 0x4d55de
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov ecx, dword [ebx - 0x3c]
test ecx, ecx
je 0x4d5619
lea eax, [ecx + 8]
test eax, eax
je 0x4d5619
movsx edx, word [ecx]
dec edx
test edx, edx
jle 0x4d5615
lea eax, [edx*8]
sub eax, edx
lea esi, [ecx + 0x1d]
lea esi, [esi + eax*8]
mov al, byte [esi - 0x38]
lea esi, [esi - 0x38]
dec edx
mov byte [esi + 0x38], al
test edx, edx
jg 0x4d5603
mov esi, dword [esp + 0x24]
mov byte [ecx + 0x1d], 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebx - 0x3c]
xor edx, edx
mov ecx, edi
call fcn.004c1760
push dword [ebx + 4]
mov edx, dword [ebx - 0x5c]
mov ecx, edi
push dword [esi]
push eax
lea eax, [ebx - 0x1c]
push eax
push 0
push 0
call fcn.004b4c40
add esp, 0x38
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov ecx, dword [edi]
lea eax, [ebx + 4]
push eax
push esi
xor edx, edx
call fcn.004b45a0
add esp, 8
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
push 0
push 0
mov edx, esi
mov ecx, edi
call fcn.004c18f0
add esp, 8
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
push 0
push esi
lea edx, [ebx - 0x1c]
mov ecx, edi
call fcn.004c18f0
add esp, 8
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
lea eax, [ebx - 0x1c]
mov ecx, edi
push esi
push eax
lea edx, [ebx - 0x2c]
call fcn.004c18f0
add esp, 8
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 1
jmp case.0x4d49d5.10
push dword [esi]
mov edx, dword [ebx - 0x2c]
mov ecx, edi
call fcn.004a8a00
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
je case.0x4d49d5.10
mov ecx, dword [eax]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 0xc]
mov al, byte [ebx + 4]
mov byte [ecx + edx*4 - 8], al
jmp case.0x4d49d5.10
push dword [esi]
xor edx, edx
mov ecx, edi
call fcn.004a8a00
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
je case.0x4d49d5.10
mov ecx, dword [eax + 0xc]
test ecx, ecx
je case.0x4d49d5.10
mov al, byte [ebx + 4]
mov byte [ecx + 0xc], al
jmp case.0x4d49d5.10
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0
jmp case.0x4d49d5.10
mov eax, dword [ebx - 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x40], eax
jmp case.0x4d49d5.10
mov eax, dword [ebx - 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov edx, dword [ebx - 0x1c]
mov ecx, edi
push esi
call fcn.004b4dd0
mov edx, dword [ebx - 0x1c]
add esp, 4
mov ecx, edi
push dword [ebx + 4]
call fcn.004b5f10
add esp, 4
jmp case.0x4d49d5.10
mov edx, dword [ebx - 0x3c]
lea eax, [ebx - 0x2c]
push eax
mov ecx, edi
call fcn.004b4dd0
mov eax, dword [esi]
add esp, 4
test eax, eax
je 0x4d57c2
mov ecx, dword [edi]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x50]
jle 0x4d57c2
push str.set_list
push str.too_many_columns_in__s
push edi
call fcn.0048c9f0
add esp, 0xc
movzx eax, byte [ebx - 0x4c]
mov ecx, edi
mov edx, dword [ebx - 0x3c]
push eax
push dword [ebx + 4]
push dword [esi]
call fcn.004cbcc0
add esp, 0xc
jmp case.0x4d49d5.10
mov edx, dword [ebx - 0x3c]
push dword [ebx + 4]
mov ecx, edi
call fcn.004a8a00
add esp, 4
mov dword [esp + 0x3c], eax
lea ecx, [ebx - 0x1c]
mov edx, eax
push 1
push ecx
mov ecx, edi
call fcn.004a8b60
add esp, 8
jmp case.0x4d49d5.10
xor edx, edx
jmp 0x4d57e1
movzx eax, byte [ebx - 0x6c]
mov ecx, edi
mov edx, dword [ebx - 0x4c]
push eax
push dword [ebx - 0x3c]
push 0
push dword [esi]
call fcn.004b98a0
add esp, 0x10
jmp case.0x4d49d5.10
movzx eax, byte [ebx - 0x3c]
mov ecx, edi
mov edx, dword [ebx - 0x1c]
push eax
push dword [esi]
push dword [ebx + 4]
push 0
call fcn.004b98a0
add esp, 0x10
jmp case.0x4d49d5.10
movzx eax, byte [ebx - 0x4c]
mov ecx, edi
mov edx, dword [ebx - 0x2c]
push eax
push dword [ebx - 0x1c]
push 0
push 0
call fcn.004b98a0
add esp, 0x10
jmp case.0x4d49d5.10
mov byte [esp + 0x3c], 5
jmp case.0x4d49d5.10
push dword [ebx + 4]
mov edx, dword [ebx - 0x1c]
mov ecx, edi
call fcn.004a8a00
add esp, 4
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
call fcn.004a8a00
add esp, 4
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov eax, dword [ebx - 0x1c]
mov esi, dword [edi]
mov edi, eax
test edi, edi
jne 0x4d5938
test esi, esi
je 0x4d5905
cmp byte [esi + 0x1e], al
jne 0x4d5967
cmp byte [esi + 0xe2], al
je 0x4d5905
mov eax, 0xc
cmp ax, word [esi + 0xe0]
ja 0x4d5905
mov ecx, dword [esi + 0xec]
test ecx, ecx
je 0x4d5905
mov eax, dword [ecx]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0x4d5901
mov dword [esi + 0xe8], eax
mov edi, ecx
jmp 0x4d5923
push 0xc
call fcn.0048a4e0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4d591d
test esi, esi
je 0x4d591d
mov byte [esi + 0x1e], 1
mov ecx, edi
test edi, edi
je 0x4d5967
xorps xmm0, xmm0
movq qword [ecx], xmm0
mov dword [ecx + 8], 0
mov dword [ecx + 8], 0
mov edx, dword [edi]
lea eax, [esp + 0x1c]
push eax
lea eax, [edi + 8]
mov ecx, esi
push eax
lea eax, [edi + 4]
push eax
push 5
push 8
call fcn.004b4160
add esp, 0x14
mov dword [edi], eax
cmp dword [esp + 0x1c], 0
jge 0x4d5972
mov edx, edi
mov ecx, esi
call fcn.004b4210
xor edi, edi
mov dword [esp + 0x3c], edi
jmp case.0x4d49d5.10
lea eax, [ebx + 4]
test eax, eax
je 0x4d5a76
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x4d59a6
mov dword [esp + 0x14], ecx
call fcn.0048ca80
mov eax, dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0x4d49d5.10
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
lea edx, [eax + 1]
test esi, esi
je 0x4d5a22
cmp byte [esi + 0x1e], 0
je 0x4d59db
xor ecx, ecx
mov dword [esp + 0x14], ecx
call fcn.0048ca80
mov eax, dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0x4d49d5.10
cmp byte [esi + 0xe2], 0
je 0x4d5a22
movzx eax, word [esi + 0xe0]
cmp edx, eax
jg 0x4d5a22
mov ecx, dword [esi + 0xec]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x4d5a22
mov eax, dword [ecx]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0x4d5a41
mov dword [esi + 0xe8], eax
jmp 0x4d5a41
push edx
call fcn.0048a4e0
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x4d5a41
test esi, esi
je 0x4d5a3d
mov byte [esi + 0x1e], 1
test ecx, ecx
je 0x4d5a5b
mov esi, dword [esp + 0x24]
push esi
push dword [esp + 0x24]
push ecx
call fcn.004dd8f0
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov byte [esi + ecx], 0
call fcn.0048ca80
mov eax, dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0x4d49d5.10
mov eax, dword [edi]
xor ecx, ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0x4d49d5.10
mov esi, dword [edi]
test esi, esi
je 0x4d5ae0
cmp byte [esi + 0x1e], 0
jne 0x4d5b3f
cmp byte [esi + 0xe2], 0
je 0x4d5ae0
mov eax, 0xc
cmp ax, word [esi + 0xe0]
ja 0x4d5ae0
mov edi, dword [esi + 0xec]
test edi, edi
je 0x4d5ae0
mov eax, dword [edi]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0x4d5afc
mov dword [esi + 0xe8], eax
jmp 0x4d5afc
push 0xc
call fcn.0048a4e0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4d5afc
test esi, esi
je 0x4d5af8
mov byte [esi + 0x1e], 1
test edi, edi
je 0x4d5b3f
xorps xmm0, xmm0
lea ecx, [esp + 0x1c]
push ecx
movq qword [edi], xmm0
lea eax, [edi + 8]
push eax
mov dword [edi + 8], 0
mov ecx, esi
mov dword [eax], 0
lea eax, [edi + 4]
mov edx, dword [edi]
push eax
push 5
push 8
call fcn.004b4160
add esp, 0x14
mov dword [edi], eax
cmp dword [esp + 0x1c], 0
jge 0x4d5b4a
mov edx, edi
mov ecx, esi
call fcn.004b4210
xor edi, edi
mov dword [esp + 0x3c], edi
jmp case.0x4d49d5.10
lea eax, [ebx + 4]
test eax, eax
je 0x4d5c4e
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x4d5b7e
mov dword [esp + 0x14], ecx
call fcn.0048ca80
mov eax, dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0x4d49d5.10
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
lea edx, [eax + 1]
test esi, esi
je 0x4d5bfa
cmp byte [esi + 0x1e], 0
je 0x4d5bb3
xor ecx, ecx
mov dword [esp + 0x14], ecx
call fcn.0048ca80
mov eax, dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0x4d49d5.10
cmp byte [esi + 0xe2], 0
je 0x4d5bfa
movzx eax, word [esi + 0xe0]
cmp edx, eax
jg 0x4d5bfa
mov ecx, dword [esi + 0xec]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x4d5bfa
mov eax, dword [ecx]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0x4d5c19
mov dword [esi + 0xe8], eax
jmp 0x4d5c19
push edx
call fcn.0048a4e0
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x4d5c19
test esi, esi
je 0x4d5c15
mov byte [esi + 0x1e], 1
test ecx, ecx
je 0x4d5c33
mov esi, dword [esp + 0x24]
push esi
push dword [esp + 0x24]
push ecx
call fcn.004dd8f0
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov byte [esi + ecx], 0
call fcn.0048ca80
mov eax, dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0x4d49d5.10
mov eax, dword [edi]
xor ecx, ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0x4d49d5.10
movq xmm0, qword [ebx + 4]
mov eax, dword [ebx + 0xc]
movq qword [esp + 0x3c], xmm0
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov eax, dword [esi]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
movzx edx, byte [ebx + 2]
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
call fcn.004a77e0
mov edi, dword [edi]
mov esi, eax
add esp, 8
test esi, esi
jne 0x4d5cc5
xor edx, edx
mov ecx, edi
call fcn.004a7e40
xor edx, edx
mov ecx, edi
call fcn.004a7e40
jmp 0x4d5ccc
mov ecx, esi
call fcn.004a7750
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov edx, 0x1a
jmp 0x4d5c99
mov ecx, dword [edi]
lea eax, [ebx - 0x1c]
push 1
push eax
mov edx, 0x1a
call fcn.004a77e0
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4d5d1f
xor edx, edx
mov ecx, esi
call fcn.004a7e40
xor edx, edx
mov ecx, esi
call fcn.004a7e40
jmp 0x4d5d26
mov ecx, eax
call fcn.004a7750
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
mov edx, 0x1a
call fcn.004a77e0
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4d5d59
xor edx, edx
mov ecx, esi
call fcn.004a7e40
xor edx, edx
mov ecx, esi
call fcn.004a7e40
jmp 0x4d5d60
mov ecx, eax
call fcn.004a7750
mov ecx, dword [edi]
mov edx, 0x75
push 1
push 0
call fcn.004a77e0
mov edi, dword [edi]
mov esi, eax
add esp, 8
test esi, esi
jne 0x4d5d9a
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.004a7e40
mov edx, dword [esp + 0x1c]
mov ecx, edi
call fcn.004a7e40
mov dword [esp + 0x3c], esi
jmp 0x4d5c7f
mov edx, dword [esp + 0x1c]
mov eax, 0x100
test edx, edx
je 0x4d5dbf
mov dword [esi + 0xc], edx
test word [edx + 2], ax
je 0x4d5dbf
or word [esi + 2], ax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x14], eax
mov eax, 0x100
mov edx, dword [esp + 0x14]
test edx, edx
je 0x4d5dda
mov dword [esi + 8], edx
test word [edx + 2], ax
je 0x4d5dda
or word [esi + 2], ax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x14], eax
mov ecx, esi
call fcn.004a7750
mov dword [esp + 0x3c], esi
jmp 0x4d5c7f
mov ecx, dword [edi]
lea eax, [ebx - 0x3c]
push 1
push eax
mov edx, 0x1a
call fcn.004a77e0
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
jne 0x4d5e1d
xor edx, edx
mov ecx, esi
call fcn.004a7e40
xor edx, edx
mov ecx, esi
call fcn.004a7e40
jmp 0x4d5e24
mov ecx, eax
call fcn.004a7750
mov ecx, dword [edi]
lea eax, [ebx - 0x1c]
push 1
push eax
mov edx, 0x1a
call fcn.004a77e0
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4d5e57
xor edx, edx
mov ecx, esi
call fcn.004a7e40
xor edx, edx
mov ecx, esi
call fcn.004a7e40
jmp 0x4d5e5e
mov ecx, eax
call fcn.004a7750
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
mov edx, 0x1a
call fcn.004a77e0
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4d5e91
xor edx, edx
mov ecx, esi
call fcn.004a7e40
xor edx, edx
mov ecx, esi
call fcn.004a7e40
jmp 0x4d5e98
mov ecx, eax
call fcn.004a7750
mov ecx, dword [edi]
mov edx, 0x75
push 1
push 0
call fcn.004a77e0
mov ecx, eax
add esp, 8
mov eax, dword [edi]
mov esi, 0x100
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0x4d5eda
mov edx, dword [esp + 0x14]
mov ecx, eax
call fcn.004a7e40
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
call fcn.004a7e40
jmp 0x4d5f15
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4d5ef5
mov dword [ecx + 0xc], eax
test word [eax + 2], si
je 0x4d5ef5
or word [ecx + 2], si
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4d5f10
mov dword [ecx + 8], eax
test word [eax + 2], si
je 0x4d5f10
or word [ecx + 2], si
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
call fcn.004a7750
mov ecx, dword [edi]
mov edx, 0x75
push 1
push 0
call fcn.004a77e0
mov edi, dword [edi]
mov ecx, eax
add esp, 8
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x4d5f68
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.004a7e40
mov edx, dword [esp + 0x20]
mov ecx, edi
call fcn.004a7e40
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4d5f83
mov dword [ecx + 0xc], eax
test word [eax + 2], si
je 0x4d5f83
or word [ecx + 2], si
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4d5f9e
mov dword [ecx + 8], eax
test word [eax + 2], si
je 0x4d5f9e
or word [ecx + 2], si
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
call fcn.004a7750
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
cmp byte [edi + 0x13], 0
lea eax, [ebx + 4]
jne 0x4d5ff6
push eax
push str.near___T_:_syntax_error
push edi
call fcn.0048c9f0
mov ecx, dword [ebx + 4]
add esp, 0xc
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov ecx, dword [edi]
mov edx, 0x84
push 1
push eax
call fcn.004a77e0
mov edi, dword [edi]
mov esi, eax
add esp, 8
test esi, esi
jne 0x4d603b
xor edx, edx
mov ecx, edi
call fcn.004a7e40
xor edx, edx
mov ecx, edi
call fcn.004a7e40
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov ecx, esi
call fcn.004a7750
mov ecx, dword [ebx + 4]
lea edx, [esi + 0x18]
inc ecx
mov dword [esp + 0x3c], esi
call fcn.0048d300
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
mov edx, 0x85
call fcn.004a77e0
mov esi, eax
add esp, 8
mov eax, dword [edi]
mov dword [esp + 0x28], eax
test esi, esi
jne 0x4d609e
xor edx, edx
mov ecx, eax
call fcn.004a7e40
mov ecx, dword [esp + 0x28]
xor edx, edx
call fcn.004a7e40
jmp 0x4d60a5
mov ecx, esi
call fcn.004a7750
mov edx, esi
mov dword [esp + 0x3c], esi
mov ecx, edi
call fcn.004a7ba0
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov edx, dword [ebx - 0x1c]
lea esi, [ebx + 4]
push esi
mov ecx, edi
call fcn.004a7200
mov dword [esp + 0x40], eax
add esp, 4
mov eax, dword [ebx - 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [esi]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov eax, dword [ebx - 0x2c]
mov edx, 0x25
mov ecx, dword [edi]
push 1
push esi
mov dword [esp + 0x2c], eax
call fcn.004a77e0
mov edi, dword [edi]
mov esi, eax
add esp, 8
test esi, esi
jne 0x4d6140
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.004a7e40
xor edx, edx
mov ecx, edi
call fcn.004a7e40
mov eax, dword [ebx - 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x4d6160
mov eax, 0x100
mov dword [esi + 8], ecx
test word [ecx + 2], ax
je 0x4d6160
or word [esi + 2], ax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x14], eax
mov ecx, esi
call fcn.004a7750
mov eax, dword [ebx - 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov eax, dword [esi]
test eax, eax
je 0x4d61a2
mov ecx, dword [edi]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x60]
jle 0x4d61a2
lea eax, [ebx - 0x3c]
push eax
push str.too_many_arguments_on_function__T
push edi
call fcn.0048c9f0
add esp, 0xc
mov edx, dword [esp + 0x24]
lea esi, [ebx - 0x3c]
push esi
mov ecx, edi
mov edx, dword [edx]
call fcn.004a7b30
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx + 8]
add ecx, dword [ebx + 4]
cmp dword [ebx - 0x1c], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
je case.0x4d49d5.10
test eax, eax
je case.0x4d49d5.10
or word [eax + 2], 0x10
jmp case.0x4d49d5.10
lea esi, [ebx - 0x2c]
xor edx, edx
push esi
mov ecx, edi
call fcn.004a7b30
mov dword [esp + 0x40], eax
add esp, 4
mov eax, dword [esi]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
lea esi, [ebx + 4]
xor edx, edx
push esi
mov ecx, edi
call fcn.004a7b30
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
je 0x4d622a
mov byte [eax], 0x9b
mov ecx, dword [esi]
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
lea eax, [ebx + 4]
mov edx, edi
push eax
lea eax, [ebx - 0x1c]
push eax
movzx eax, byte [ebx - 0xe]
lea ecx, [esp + 0x44]
push eax
call fcn.004d4590
add esp, 0xc
jmp case.0x4d49d5.10
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], 0
jmp case.0x4d49d5.10
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], 1
jmp case.0x4d49d5.10
xorps xmm0, xmm0
mov dword [esp + 0x44], 0
movq qword [esp + 0x3c], xmm0
jmp case.0x4d49d5.10
push dword [esi]
xor edx, edx
mov ecx, edi
call fcn.004a8a00
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx - 0x2c]
call fcn.004a8a00
mov edx, eax
add esp, 4
mov eax, dword [ebx + 4]
test eax, eax
je 0x4d62dd
push eax
mov ecx, edi
call fcn.004a8a00
add esp, 4
mov edx, eax
lea eax, [ebx - 0x1c]
mov ecx, edi
push eax
call fcn.004a7b30
add esp, 4
mov esi, eax
cmp dword [ebx - 0x14], 0
mov dword [esp + 0x3c], esi
je 0x4d6353
mov ecx, dword [edi]
mov edx, 0x13
push 1
push 0
call fcn.004a77e0
mov edi, dword [edi]
mov ecx, eax
add esp, 8
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x4d632a
mov edx, esi
mov ecx, edi
call fcn.004a7e40
xor edx, edx
mov ecx, edi
call fcn.004a7e40
jmp 0x4d634b
test esi, esi
je 0x4d6346
mov eax, 0x100
mov dword [ecx + 8], esi
test word [esi + 2], ax
je 0x4d6346
or word [ecx + 2], ax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
call fcn.004a7750
mov esi, dword [esp + 0x28]
mov dword [esp + 0x3c], esi
mov eax, dword [ebx - 0x28]
mov dword [esp + 0x40], eax
mov eax, dword [ebx - 4]
mov dword [esp + 0x44], eax
test esi, esi
je case.0x4d49d5.10
mov eax, 0x80
or word [esi + 2], ax
jmp case.0x4d49d5.10
lea eax, [ebx + 4]
mov edx, edi
push eax
movzx eax, byte [ebx + 2]
lea ecx, [esp + 0x40]
push esi
push eax
call fcn.004d4640
add esp, 0xc
jmp case.0x4d49d5.10
lea eax, [ebx + 4]
mov edx, edi
push eax
lea eax, [ebx - 0x1c]
push eax
push 0x4a
lea ecx, [esp + 0x48]
call fcn.004d4640
add esp, 0xc
jmp case.0x4d49d5.10
lea esi, [ebx + 4]
mov edx, edi
push esi
lea eax, [ebx - 0x1c]
push eax
push 0x46
lea ecx, [esp + 0x48]
call fcn.004d4590
mov eax, dword [edi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne case.0x4d49d5.10
mov eax, dword [esi]
cmp byte [eax], 0x62
jne case.0x4d49d5.10
mov eax, dword [esp + 0x3c]
mov byte [eax], 0x49
jmp case.0x4d49d5.10
lea esi, [ebx + 4]
mov edx, edi
push esi
lea eax, [ebx - 0x2c]
push eax
push 0x92
lea ecx, [esp + 0x48]
call fcn.004d4590
mov eax, dword [edi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne case.0x4d49d5.10
mov eax, dword [esi]
cmp byte [eax], 0x62
jne case.0x4d49d5.10
mov eax, dword [esp + 0x3c]
mov byte [eax], 0x4a
jmp case.0x4d49d5.10
push esi
lea eax, [ebx + 4]
mov edx, edi
push eax
movzx eax, byte [ebx - 0xe]
lea ecx, [esp + 0x44]
push eax
call fcn.004d46d0
add esp, 0xc
jmp case.0x4d49d5.10
push esi
lea eax, [ebx + 4]
mov edx, edi
push eax
push 0x9c
lea ecx, [esp + 0x48]
call fcn.004d46d0
add esp, 0xc
jmp case.0x4d49d5.10
push esi
lea eax, [ebx + 4]
mov edx, edi
push eax
push 0x9d
lea ecx, [esp + 0x48]
call fcn.004d46d0
add esp, 0xc
jmp case.0x4d49d5.10
push dword [ebx - 0x1c]
xor edx, edx
mov ecx, edi
call fcn.004a8a00
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx + 4]
call fcn.004a8a00
mov ecx, dword [edi]
add esp, 4
mov dword [esp + 0x20], eax
mov edx, 0x47
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x24], eax
push 1
push 0
call fcn.004a77e0
mov ecx, eax
add esp, 8
mov eax, dword [edi]
mov esi, 0x100
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0x4d64fd
mov edx, dword [esp + 0x24]
mov ecx, eax
call fcn.004a7e40
mov ecx, dword [esp + 0x28]
xor edx, edx
call fcn.004a7e40
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ecx, dword [edi]
mov dword [esp + 0x3c], eax
call fcn.004a8c40
jmp 0x4d652c
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4d6518
mov dword [ecx + 8], eax
test word [eax + 2], si
je 0x4d6518
or word [ecx + 2], si
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
call fcn.004a7750
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
mov dword [eax + 0x10], ecx
cmp dword [ebx - 0x2c], 0
je 0x4d658f
mov ecx, dword [edi]
mov edx, 0x13
push 1
push 0
call fcn.004a77e0
mov edi, dword [edi]
mov ecx, eax
add esp, 8
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x4d6567
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.004a7e40
xor edx, edx
mov ecx, edi
call fcn.004a7e40
jmp 0x4d6587
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4d6582
mov dword [ecx + 8], eax
test word [eax + 2], si
je 0x4d6582
or word [ecx + 2], si
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
call fcn.004a7750
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 0x38]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov eax, dword [ebx - 0x3c]
mov edx, 0x48
mov ecx, dword [edi]
push 1
push 0
mov dword [esp + 0x28], eax
call fcn.004a77e0
mov edx, dword [esp + 0x28]
mov ecx, eax
mov eax, dword [edi]
add esp, 8
mov dword [esp + 0x24], eax
mov eax, 0x100
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x4d65fe
mov ecx, dword [esp + 0x24]
call fcn.004a7e40
mov ecx, dword [esp + 0x24]
xor edx, edx
call fcn.004a7e40
mov eax, dword [esp + 0x14]
mov edx, dword [esi]
mov ecx, dword [edi]
mov dword [esp + 0x3c], eax
call fcn.004a8c40
xor esi, esi
jmp 0x4d664b
test edx, edx
je 0x4d6615
mov dword [ecx + 8], edx
test word [edx + 2], ax
je 0x4d6615
or word [ecx + 2], ax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
call fcn.004a7750
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov eax, dword [esi]
mov esi, dword [esp + 0x14]
mov ecx, esi
mov dword [esi + 0x10], eax
call fcn.004a7750
mov eax, dword [edi]
mov eax, dword [eax + 0x54]
cmp dword [esi + 0x38], eax
jle 0x4d664b
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0048c9f0
add esp, 0xc
cmp dword [ebx - 0x2c], 0
je 0x4d66c9
mov ecx, dword [edi]
mov edx, 0x13
push 1
push 0
call fcn.004a77e0
mov edi, dword [edi]
mov ecx, eax
add esp, 8
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x4d66a0
mov edx, esi
mov ecx, edi
call fcn.004a7e40
xor edx, edx
mov ecx, edi
call fcn.004a7e40
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 0x38]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
test esi, esi
je 0x4d66bc
mov eax, 0x100
mov dword [ecx + 8], esi
test word [esi + 2], ax
je 0x4d66bc
or word [ecx + 2], ax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
call fcn.004a7750
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 0x38]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov ecx, dword [edi]
mov edx, 0x73
push 1
push 0
call fcn.004a77e0
mov ecx, dword [edi]
add esp, 8
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], ecx
test eax, eax
jne 0x4d673e
xor edx, edx
call fcn.004a7e40
mov ecx, dword [esp + 0x28]
xor edx, edx
call fcn.004a7e40
mov esi, dword [esi]
mov eax, dword [esp + 0x14]
mov edi, dword [edi]
mov dword [esp + 0x3c], eax
test esi, esi
je 0x4d5c7f
mov edx, esi
mov ecx, edi
call fcn.004c16f0
push esi
push edi
call fcn.0048a5d0
add esp, 8
jmp 0x4d5c7f
mov ecx, eax
call fcn.004a7750
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x3c], ecx
mov dword [ecx + 0x10], eax
mov eax, 0x1000
or word [ecx + 2], ax
call fcn.004a7750
mov eax, dword [edi]
mov ecx, dword [eax + 0x54]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x38], ecx
jle 0x4d5c7f
push ecx
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0048c9f0
add esp, 0xc
jmp 0x4d5c7f
mov eax, dword [ebx - 0x3c]
mov edx, 0x48
mov ecx, dword [edi]
push 1
push 0
mov dword [esp + 0x28], eax
call fcn.004a77e0
mov edx, dword [esp + 0x28]
mov ecx, eax
mov eax, dword [edi]
add esp, 8
mov dword [esp + 0x24], eax
mov eax, 0x100
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x4d6800
mov ecx, dword [esp + 0x24]
call fcn.004a7e40
mov ecx, dword [esp + 0x24]
xor edx, edx
call fcn.004a7e40
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
mov dword [esp + 0x3c], eax
mov eax, dword [esi]
xor esi, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
test eax, eax
je 0x4d6856
mov edx, eax
call fcn.004c16f0
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.0048a5d0
add esp, 8
jmp 0x4d6856
test edx, edx
je 0x4d6817
mov dword [ecx + 8], edx
test word [edx + 2], ax
je 0x4d6817
or word [ecx + 2], ax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
call fcn.004a7750
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov eax, dword [esi]
mov esi, dword [esp + 0x14]
mov ecx, esi
mov dword [esi + 0x10], eax
mov eax, 0x1000
or word [esi + 2], ax
call fcn.004a7750
mov eax, dword [edi]
mov eax, dword [eax + 0x54]
cmp dword [esi + 0x38], eax
jle 0x4d6856
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0048c9f0
add esp, 0xc
cmp dword [ebx - 0x2c], 0
je 0x4d66c9
mov ecx, dword [edi]
mov edx, 0x13
push 1
push 0
call fcn.004a77e0
mov edi, dword [edi]
mov ecx, eax
add esp, 8
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x4d6670
jmp 0x4d66a0
mov ecx, dword [edi]
lea eax, [ebx + 4]
push eax
push esi
xor edx, edx
call fcn.004b45a0
mov ecx, dword [edi]
mov edx, 0x48
mov dword [esp + 0x24], eax
mov eax, dword [ebx - 0x2c]
push 1
push 0
mov dword [esp + 0x30], eax
call fcn.004a77e0
mov edx, dword [esp + 0x30]
mov ecx, eax
mov eax, dword [edi]
add esp, 0x10
mov dword [esp + 0x24], eax
mov eax, 0x100
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x4d68fe
mov ecx, dword [esp + 0x24]
call fcn.004a7e40
mov ecx, dword [esp + 0x24]
xor edx, edx
call fcn.004a7e40
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi]
mov dword [esp + 0x3c], eax
call fcn.004b4870
mov dword [esp + 0x14], 0
jmp 0x4d6972
test edx, edx
je 0x4d6915
mov dword [ecx + 8], edx
test word [edx + 2], ax
je 0x4d6915
or word [ecx + 2], ax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
call fcn.004a7750
mov eax, dword [esp + 0x14]
xor edx, edx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x38]
mov ecx, edi
mov dword [esp + 0x5c], eax
call fcn.004c1760
mov ecx, dword [esp + 0x34]
add esp, 0x20
mov dword [ecx + 0x10], eax
mov eax, 0x1000
or word [ecx + 2], ax
call fcn.004a7750
mov eax, dword [edi]
mov ecx, dword [eax + 0x54]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x38], ecx
jle 0x4d6972
push ecx
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0048c9f0
add esp, 0xc
cmp dword [ebx - 0x1c], 0
je 0x4d69dc
mov ecx, dword [edi]
mov edx, 0x13
push 1
push 0
call fcn.004a77e0
mov edi, dword [edi]
mov edx, eax
add esp, 8
mov dword [esp + 0x28], edx
test edx, edx
jne 0x4d69ad
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.004a7e40
xor edx, edx
mov ecx, edi
call fcn.004a7e40
jmp 0x4d69d4
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4d69cd
mov eax, 0x100
mov dword [edx + 8], ecx
test word [ecx + 2], ax
je 0x4d69cd
or word [edx + 2], ax
mov eax, dword [ecx + 0x14]
mov dword [edx + 0x14], eax
mov ecx, edx
call fcn.004a7750
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov ecx, dword [ebx + 4]
mov eax, dword [ebx - 0x28]
mov dword [esp + 0x40], eax
test ecx, ecx
je 0x4d69f8
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov eax, dword [ebx - 8]
add eax, dword [esi]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov ecx, dword [edi]
mov edx, 0x14
push 1
push 0
call fcn.004a77e0
mov ecx, dword [edi]
add esp, 8
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], ecx
test eax, eax
jne 0x4d6a72
xor edx, edx
call fcn.004a7e40
mov ecx, dword [esp + 0x28]
xor edx, edx
call fcn.004a7e40
mov esi, dword [esi]
mov eax, dword [esp + 0x14]
mov edi, dword [edi]
mov dword [esp + 0x3c], eax
test esi, esi
je 0x4d6ab1
mov edx, esi
mov ecx, edi
call fcn.004c16f0
push esi
push edi
call fcn.0048a5d0
mov eax, dword [ebx - 0x2c]
add esp, 8
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov ecx, eax
call fcn.004a7750
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x3c], ecx
mov dword [ecx + 0x10], eax
mov eax, 0x1000
or word [ecx + 2], ax
call fcn.004a7750
mov eax, dword [edi]
mov ecx, dword [eax + 0x54]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x38], ecx
jle 0x4d6ab1
push ecx
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0048c9f0
add esp, 0xc
mov eax, dword [ebx - 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov eax, dword [esi]
mov edx, 0x86
mov ecx, dword [edi]
mov dword [esp + 0x24], eax
mov eax, dword [ebx - 0x2c]
push 1
push 0
mov dword [esp + 0x28], eax
call fcn.004a77e0
mov esi, eax
add esp, 8
mov eax, dword [edi]
mov dword [esp + 0x28], eax
test esi, esi
jne 0x4d6b2f
mov edx, dword [esp + 0x20]
mov ecx, eax
call fcn.004a7e40
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
call fcn.004a7e40
mov edx, dword [ebx - 0x1c]
mov ecx, dword [edi]
mov dword [esp + 0x3c], esi
call fcn.004a8c40
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov ecx, dword [esp + 0x24]
mov eax, 0x100
test ecx, ecx
je 0x4d6b54
mov dword [esi + 0xc], ecx
test word [ecx + 2], ax
je 0x4d6b54
or word [esi + 2], ax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x14], eax
mov eax, 0x100
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4d6b6f
mov dword [esi + 8], ecx
test word [ecx + 2], ax
je 0x4d6b6f
or word [esi + 2], ax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x14], eax
mov ecx, esi
call fcn.004a7750
mov eax, dword [ebx - 0x1c]
mov ecx, esi
mov dword [esp + 0x3c], esi
mov dword [esi + 0x10], eax
call fcn.004a7750
mov eax, dword [edi]
mov eax, dword [eax + 0x54]
cmp dword [esi + 0x38], eax
jle 0x4d6ba0
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0048c9f0
add esp, 0xc
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov edx, dword [ebx - 0x3c]
push dword [ebx - 0x1c]
mov ecx, edi
call fcn.004a8a00
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx + 4]
call fcn.004a8a00
add esp, 4
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
xor edx, edx
jmp 0x4d6bb9
push dword [ebx - 0x6c]
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 0
push eax
lea eax, [ebx - 0x9c]
xor edx, edx
push eax
push dword [ebx - 0x8c]
lea eax, [ebx - 0x2c]
push dword [esi]
push 0
push eax
call fcn.004b45a0
add esp, 8
lea edx, [ebx - 0x5c]
mov ecx, edi
push eax
lea eax, [ebx - 0x4c]
push eax
call fcn.004b2fc0
add esp, 0x20
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 2
jmp case.0x4d49d5.10
xor eax, eax
cmp dword [ebx - 8], eax
jbe 0x4d6c66
mov ecx, dword [edi]
mov edx, 0x98
push eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
lea eax, [esp + 0x2c]
push eax
call fcn.004a77e0
push esi
mov edx, eax
mov dword [esp + 0x34], eax
mov ecx, edi
call fcn.004a7200
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [ebx - 0x3c]
mov ecx, edi
push eax
call fcn.004a8a00
add esp, 4
lea ecx, [ebx - 0x1c]
mov esi, eax
mov edx, esi
mov dword [esp + 0x3c], esi
push 1
push ecx
mov ecx, edi
call fcn.004a8b60
add esp, 8
test esi, esi
je case.0x4d49d5.10
mov ecx, dword [edi]
mov eax, dword [esi]
cmp eax, dword [ecx + 0x50]
jle 0x4d6cb0
push str.index
push str.too_many_columns_in__s
push edi
call fcn.0048c9f0
add esp, 0xc
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
lea edx, [eax + eax*4]
mov al, byte [ebx + 4]
mov byte [ecx + edx*4 - 8], al
jmp case.0x4d49d5.10
xor eax, eax
cmp dword [ebx - 8], eax
jbe 0x4d6d19
mov ecx, dword [edi]
mov edx, 0x98
push 1
push eax
call fcn.004a77e0
mov ecx, dword [edi]
add esp, 8
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
test eax, eax
jne 0x4d6cff
xor edx, edx
call fcn.004a7e40
mov ecx, dword [esp + 0x28]
xor edx, edx
call fcn.004a7e40
jmp 0x4d6d06
mov ecx, eax
call fcn.004a7750
mov edx, dword [esp + 0x24]
mov ecx, edi
push esi
call fcn.004a7200
mov eax, dword [esp + 0x28]
add esp, 4
push eax
xor edx, edx
mov ecx, edi
call fcn.004a8a00
add esp, 4
lea ecx, [ebx - 0x1c]
mov esi, eax
mov edx, esi
mov dword [esp + 0x3c], esi
push 1
push ecx
mov ecx, edi
call fcn.004a8b60
add esp, 8
test esi, esi
je case.0x4d49d5.10
mov ecx, dword [edi]
mov eax, dword [esi]
cmp eax, dword [ecx + 0x50]
jle 0x4d6cb0
push str.index
push str.too_many_columns_in__s
push edi
call fcn.0048c9f0
mov eax, dword [esi]
add esp, 0xc
mov ecx, dword [esi + 0xc]
lea edx, [eax + eax*4]
mov al, byte [ebx + 4]
mov byte [ecx + edx*4 - 8], al
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
jmp case.0x4d49d5.10
push dword [esi]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004b3f40
add esp, 4
jmp case.0x4d49d5.10
push 0
lea eax, [ebx + 4]
mov edx, esi
push 0
push eax
mov ecx, edi
call fcn.004bdef0
add esp, 0xc
jmp case.0x4d49d5.10
push 0
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea eax, [ebx - 0x1c]
lea edx, [ebx - 0x2c]
push eax
call fcn.004bdef0
add esp, 0xc
jmp case.0x4d49d5.10
push 0
lea eax, [ebx - 0x2c]
mov ecx, edi
push esi
push eax
lea edx, [ebx - 0x3c]
call fcn.004bdef0
add esp, 0xc
jmp case.0x4d49d5.10
push 1
jmp 0x4d6dbe
push 1
lea eax, [ebx - 0x2c]
mov ecx, edi
push esi
lea edx, [ebx - 0x3c]
push eax
call fcn.004bdef0
add esp, 0xc
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 0x22
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 0x1e
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 0x30
jmp case.0x4d49d5.10
movzx eax, byte [ebx + 2]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0
jmp case.0x4d49d5.10
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], 0x6a
mov dword [esp + 0x40], eax
jmp case.0x4d49d5.10
mov eax, dword [ebx - 0x1c]
mov ecx, dword [eax + 0x24]
mov eax, dword [esi]
mov dword [ecx + 0x20], eax
mov ecx, dword [ebx - 0x1c]
mov eax, dword [esi]
mov dword [ecx + 0x24], eax
mov eax, dword [ebx - 0x1c]
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov eax, dword [esi]
mov dword [eax + 0x24], eax
mov eax, dword [esi]
mov dword [esp + 0x3c], eax
jmp case.0x4d49d5.10
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
push str.qualified_table_names_are_not_allowed_on_INSERT__UPDATE__and_DELETE_statements_within_triggers
push edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
call fcn.0048c9f0
add esp, 8
jmp case.0x4d49d5.10
push str.the_INDEXED_BY_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push edi
call fcn.0048c9f0
add esp, 8
jmp case.0x4d49d5.10
push str.the_NOT_INDEXED_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push edi
call fcn.0048c9f0
add esp, 8
jmp case.0x4d49d5.10
mov ecx, dword [edi]
mov edx, 0x38
push 1
push 0
call fcn.004a77e0
mov edi, dword [edi]
mov esi, eax
add esp, 8
test esi, esi
jne 0x4d6f1b
xor edx, edx
mov ecx, edi
call fcn.004a7e40
xor edx, edx
mov ecx, edi
call fcn.004a7e40
mov eax, dword [ebx - 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov ecx, esi
call fcn.004a7750
mov byte [esi + 1], 4
mov eax, dword [ebx - 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov ecx, dword [edi]
mov edx, 0x38
push 1
push esi
call fcn.004a77e0
mov edi, dword [edi]
mov esi, eax
add esp, 8
test esi, esi
jne 0x4d6f86
xor edx, edx
mov ecx, edi
call fcn.004a7e40
xor edx, edx
mov ecx, edi
call fcn.004a7e40
mov eax, dword [ebx - 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov ecx, esi
call fcn.004a7750
mov al, byte [ebx - 0x2c]
mov byte [esi + 1], al
mov eax, dword [ebx - 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 1
jmp case.0x4d49d5.10
mov dword [esp + 0x3c], 3
jmp case.0x4d49d5.10
push dword [ebx + 4]
mov edx, 0x18
push dword [esi]
push dword [ebx - 0x2c]
push ecx
push 0x532dac
mov ecx, edi
call fcn.004af570
add esp, 0x14
jmp case.0x4d49d5.10
push dword [ebx + 4]
mov edx, 0x19
push 0
push 0
push ecx
push 0x5333e4
mov ecx, edi
call fcn.004af570
add esp, 0x14
jmp case.0x4d49d5.10
mov edx, dword [ebx - 0x2c]
lea eax, [ebx + 4]
push eax
mov ecx, edi
call fcn.004ae000
add esp, 4
jmp case.0x4d49d5.10
lea edx, [ebx + 4]
mov ecx, edi
call fcn.004ae730
jmp case.0x4d49d5.10
mov eax, dword [edi]
mov ecx, edi
mov byte [eax + 0xe2], 0
mov edx, dword [ebx + 4]
call fcn.004ae9f0
jmp case.0x4d49d5.10
xor edx, edx
mov ecx, edi
call fcn.004cda60
jmp case.0x4d49d5.10
lea edx, [ebx + 4]
mov ecx, edi
call fcn.004cda60
jmp case.0x4d49d5.10
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea eax, [ebx - 0x1c]
push eax
lea edx, [ebx - 0x2c]
call fcn.004cd800
add esp, 8
jmp case.0x4d49d5.10
mov ecx, edi
call fcn.004cd980
mov dword [edi + 0x1f4], 0
mov dword [edi + 0x1f8], 0
jmp case.0x4d49d5.10
mov ecx, dword [edi + 0x1f4]
test ecx, ecx
jne 0x4d70a7
mov eax, dword [ebx + 4]
mov dword [edi + 0x1f4], eax
mov eax, dword [ebx + 8]
jmp 0x4d70af
mov eax, dword [ebx + 8]
sub eax, ecx
add eax, dword [ebx + 4]
mov dword [edi + 0x1f8], eax
mov ecx, dword [esp + 0x38]
mov al, byte [ecx*2 + 0x51cc78]
movzx edx, byte [ecx*2 + 0x51cc79]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x18]
movzx esi, byte [esp + 0x13]
mov ecx, dword [eax]
sub ecx, edx
mov dword [eax], ecx
mov eax, edx
shl eax, 4
sub ebx, eax
movzx eax, word [ebx]
movsx eax, word [eax*2 + 0x51d1e0]
add eax, esi
movzx eax, word [eax*2 + 0x51d8e8]
mov edi, eax
cmp eax, 0x275
jae 0x4d714c
test edx, edx
je 0x4d7131
movq xmm0, qword [esp + 0x3c]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov al, byte [esp + 0x13]
mov byte [ebx + 0x12], al
mov eax, dword [esp + 0x44]
movq qword [ebx + 0x14], xmm0
mov word [ebx + 0x10], di
mov dword [ebx + 0x1c], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x3c]
mov edx, eax
push ecx
mov ecx, dword [esp + 0x1c]
push esi
call fcn.004d4900
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x18]
mov esi, dword [ebx + 8]
test ecx, ecx
js 0x4d7175
shl ecx, 4
lea eax, [ebx + 0x10]
add eax, ecx
push eax
mov dl, byte [ecx + ebx + 0xe]
mov ecx, ebx
call fcn.004d4750
add esp, 4
add dword [ebx], 0xffffffff
mov ecx, dword [ebx]
jns 0x4d7157
pop edi
mov dword [ebx + 8], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret