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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
mov eax, dword [0x70b034]
xor eax, esp
mov dword [esp + 0x38], eax
cmp byte [edx + 0x6cd7c0], 0
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ecx]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc], edi
jne 0x5045e8
cmp ebx, dword [ecx + 0x4b8]
jb 0x5045e8
call fcn.005044e0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00625788
mov esp, ebp
pop ebp
ret
cmp edx, 0x142
ja case.0x5045f4.216
jmp dword [edx*4 + 0x50678c]
mov byte [edi + 0xc7], 1
jmp case.0x5045f4.216
mov byte [edi + 0xc7], 2
jmp case.0x5045f4.216
mov ecx, edi
call fcn.004c5920
jmp case.0x5045f4.216
mov edx, dword [ebx - 8]
mov ecx, edi
call fcn.004cbe20
jmp case.0x5045f4.216
mov dword [ebx + 0x10], 7
jmp case.0x5045f4.216
movzx eax, word [ebx + 2]
mov dword [ebx + 4], eax
jmp case.0x5045f4.216
movzx edx, word [ebx - 0xa]
mov ecx, edi
call fcn.004cbfa0
jmp case.0x5045f4.216
lea eax, [ebx + 4]
xor edx, edx
push eax
mov ecx, edi
call fcn.004cc010
add esp, 4
jmp case.0x5045f4.216
lea eax, [ebx + 4]
mov edx, 1
push eax
mov ecx, edi
call fcn.004cc010
add esp, 4
jmp case.0x5045f4.216
lea eax, [ebx + 4]
mov edx, 2
push eax
mov ecx, edi
call fcn.004cc010
add esp, 4
jmp case.0x5045f4.216
push dword [ebx - 0x14]
lea eax, [ebx + 4]
mov ecx, edi
push 0
push 0
push dword [ebx - 0x2c]
lea edx, [ebx - 8]
push eax
call fcn.004c6ee0
add esp, 0x14
jmp case.0x5045f4.216
mov eax, dword [edi]
inc byte [edi + 0x18]
inc dword [eax + 0x118]
jmp case.0x5045f4.216
mov dword [ebx - 0x14], 1
jmp case.0x5045f4.216
mov dword [ebx + 4], 1
jmp case.0x5045f4.216
movzx eax, byte [ebx + 4]
lea edx, [ebx - 0x14]
push 0
push eax
lea eax, [ebx - 8]
mov ecx, edi
push eax
call fcn.004c89d0
add esp, 0xc
jmp case.0x5045f4.216
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
push 0
push 0
call fcn.004c89d0
mov edx, dword [ebx + 4]
add esp, 0xc
test edx, edx
je case.0x5045f4.216
mov ecx, dword [edi]
push 1
call fcn.004de810
add esp, 4
jmp case.0x5045f4.216
mov esi, dword [ebx + 8]
cmp esi, 5
jne 0x504758
push esi
push str.rowid
push dword [ebx + 4]
call fcn.00483e80
add esp, 0xc
test eax, eax
jne 0x504758
mov dword [ebx - 8], 0x60
jmp case.0x5045f4.216
push dword [ebx + 4]
mov dword [ebx - 8], 0
push esi
push str.unknown_table_option:__.s
push edi
call fcn.00483c70
add esp, 0x10
jmp case.0x5045f4.216
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea edx, [ebx - 8]
call fcn.004c7340
add esp, 4
jmp case.0x5045f4.216
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
jmp case.0x5045f4.216
mov eax, dword [ebx + 8]
sub eax, dword [ebx - 0x20]
add eax, dword [ebx + 4]
mov dword [ebx - 0x1c], eax
jmp case.0x5045f4.216
mov eax, dword [ebx + 8]
sub eax, dword [ebx - 0x38]
add eax, dword [ebx + 4]
mov dword [ebx - 0x34], eax
jmp case.0x5045f4.216
mov eax, dword [ebx + 8]
sub eax, dword [ebx - 8]
add eax, dword [ebx + 4]
mov dword [ebx - 4], eax
jmp case.0x5045f4.216
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], esi
jmp case.0x5045f4.216
mov eax, dword [ebx + 4]
mov dword [edi + 0x48], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x4c], eax
jmp case.0x5045f4.216
mov ecx, dword [ebx - 8]
mov eax, dword [ebx - 4]
mov edx, dword [ebx + 4]
add eax, ecx
push eax
push ecx
mov ecx, edi
call fcn.004c76e0
add esp, 8
jmp case.0x5045f4.216
mov eax, dword [ebx - 0x14]
mov ecx, edi
push dword [ebx + 4]
mov edx, dword [ebx - 8]
inc eax
push eax
call fcn.004c76e0
add esp, 8
jmp case.0x5045f4.216
mov eax, dword [ebx - 8]
mov ecx, edi
add eax, dword [ebx - 4]
mov edx, dword [ebx + 4]
push eax
push dword [ebx - 0x14]
call fcn.004c76e0
add esp, 8
jmp case.0x5045f4.216
push 0
push dword [ebx + 4]
mov edx, 0xa8
mov ecx, edi
call fcn.004b8a70
mov ecx, dword [ebx - 8]
mov edx, eax
add ecx, dword [ebx - 4]
push ecx
push dword [ebx - 0x14]
mov ecx, edi
call fcn.004c76e0
add esp, 0x10
jmp case.0x5045f4.216
push dword [ebx + 8]
mov edx, 0x71
mov ecx, edi
push dword [ebx + 4]
call fcn.005040f0
mov esi, eax
add esp, 8
test esi, esi
je 0x50488e
mov ecx, esi
call fcn.004ba270
mov edx, dword [ebx + 4]
mov ecx, dword [ebx + 8]
add ecx, edx
push ecx
push edx
mov edx, esi
mov ecx, edi
call fcn.004c76e0
add esp, 8
jmp case.0x5045f4.216
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004c7550
jmp case.0x5045f4.216
push dword [ebx - 0x14]
xor edx, edx
mov ecx, edi
push dword [ebx + 4]
push dword [ebx - 8]
call fcn.004c78b0
add esp, 0xc
jmp case.0x5045f4.216
push 1
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.004ca610
add esp, 0x24
jmp case.0x5045f4.216
mov edx, dword [ebx - 8]
mov ecx, edi
call fcn.004c7b00
jmp case.0x5045f4.216
push dword [ebx + 4]
lea eax, [ebx - 0x14]
xor edx, edx
push dword [ebx - 8]
mov ecx, edi
push eax
call fcn.004c9cf0
add esp, 0xc
jmp case.0x5045f4.216
mov eax, dword [edi + 0xe4]
test eax, eax
je case.0x5045f4.216
mov ecx, dword [eax + 0x10]
test ecx, ecx
je case.0x5045f4.216
mov al, byte [ebx + 4]
mov byte [ecx + 0x18], al
jmp case.0x5045f4.216
lea edx, [ebx + 4]
mov ecx, edi
call fcn.004c7b80
jmp case.0x5045f4.216
mov eax, dword [ebx + 8]
not eax
and eax, dword [ebx - 8]
or eax, dword [ebx + 4]
mov dword [ebx - 8], eax
jmp case.0x5045f4.216
mov dword [ebx - 8], 0
mov dword [ebx - 4], 0
jmp case.0x5045f4.216
mov dword [ebx - 0x14], 0
mov dword [ebx - 0x10], 0
jmp case.0x5045f4.216
mov eax, dword [ebx + 4]
mov dword [ebx - 0x14], eax
mov dword [ebx - 0x10], 0xff
jmp case.0x5045f4.216
mov eax, dword [ebx + 4]
shl eax, 8
mov dword [ebx - 0x14], eax
mov dword [ebx - 0x10], 0xff00
jmp case.0x5045f4.216
mov dword [ebx - 8], 8
jmp case.0x5045f4.216
mov dword [ebx - 8], 9
jmp case.0x5045f4.216
mov dword [ebx + 4], 0xa
jmp case.0x5045f4.216
mov dword [ebx + 4], 7
jmp case.0x5045f4.216
mov dword [ebx - 8], 0
jmp case.0x5045f4.216
mov dword [ebx - 0x14], 0
jmp case.0x5045f4.216
mov dword [ebx - 8], 1
jmp case.0x5045f4.216
mov dword [edi + 0x4c], 0
jmp case.0x5045f4.216
mov edx, dword [ebx - 0x20]
mov ecx, edi
push 0
push dword [ebx - 0x14]
push dword [ebx + 4]
call fcn.004c78b0
add esp, 0xc
jmp case.0x5045f4.216
push 1
push 0
push 0
push 0
push 0
push dword [ebx + 4]
push dword [ebx - 0x14]
jmp 0x5048e1
mov edx, dword [ebx - 0x14]
mov ecx, edi
call fcn.004c7b00
jmp case.0x5045f4.216
push dword [ebx - 8]
mov edx, dword [ebx - 0x44]
lea eax, [ebx - 0x20]
push dword [ebx - 0x14]
mov ecx, edi
push eax
call fcn.004c9cf0
mov ecx, dword [edi + 0xe4]
add esp, 0xc
test ecx, ecx
je case.0x5045f4.216
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je case.0x5045f4.216
mov al, byte [ebx + 4]
mov byte [ecx + 0x18], al
jmp case.0x5045f4.216
mov dword [ebx + 0x10], 0xb
jmp case.0x5045f4.216
mov dword [ebx + 4], 4
jmp case.0x5045f4.216
mov dword [ebx + 4], 5
jmp case.0x5045f4.216
push dword [ebx - 8]
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
call fcn.004c9a40
add esp, 8
jmp case.0x5045f4.216
push dword [ebx - 0x38]
lea eax, [ebx - 0x20]
mov ecx, edi
push dword [ebx - 0x50]
lea edx, [ebx - 0x5c]
push dword [ebx + 4]
push dword [ebx - 0x14]
push eax
lea eax, [ebx - 0x2c]
push eax
call fcn.004c8e50
add esp, 0x18
jmp case.0x5045f4.216
push dword [ebx - 8]
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
call fcn.004c9a40
add esp, 8
jmp case.0x5045f4.216
mov edx, dword [ebx + 4]
lea eax, [esp + 0x24]
xorps xmm0, xmm0
mov byte [esp + 0x24], 9
push eax
mov ecx, edi
mov dword [esp + 0x3c], 0
movups xmmword [esp + 0x2c], xmm0
call fcn.004e7050
mov edx, dword [ebx + 4]
add esp, 4
test edx, edx
je case.0x5045f4.216
mov ecx, dword [edi]
push 1
call fcn.004de810
add esp, 4
jmp case.0x5045f4.216
mov esi, dword [ebx + 4]
test esi, esi
je 0x504b65
mov eax, dword [ebx - 8]
mov edx, esi
mov ecx, edi
mov dword [esi + 0x40], eax
call fcn.005040a0
mov dword [ebx - 0x14], esi
jmp case.0x5045f4.216
mov edx, dword [ebx - 8]
mov ecx, dword [edi]
call fcn.004cce10
mov dword [ebx - 0x14], esi
jmp case.0x5045f4.216
mov esi, dword [ebx + 4]
test esi, esi
je 0x504b95
mov eax, dword [ebx - 8]
mov edx, esi
mov ecx, edi
mov dword [esi + 0x40], eax
call fcn.005040a0
mov dword [ebx - 0x20], esi
jmp case.0x5045f4.216
mov edx, dword [ebx - 8]
mov ecx, dword [edi]
call fcn.004cce10
mov dword [ebx - 0x20], esi
jmp case.0x5045f4.216
mov esi, dword [ebx + 4]
test esi, esi
je 0x504bb7
mov edx, esi
mov ecx, edi
call fcn.005040a0
mov dword [ebx + 4], esi
jmp case.0x5045f4.216
mov esi, dword [ebx + 4]
mov ecx, dword [ebx - 0x14]
mov dword [esp + 0x10], ecx
test esi, esi
je 0x504cba
cmp dword [esi + 0x34], 0
je 0x504c86
mov edx, esi
mov ecx, edi
call fcn.005040a0
mov eax, dword [edi]
xor edx, edx
push 0
push 0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.004cb950
mov ecx, eax
add esp, 8
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x504c23
mov ecx, dword [esp + 0xc]
xor edx, edx
call fcn.004cb660
mov ecx, dword [esp + 0xc]
mov edx, esi
push 1
call fcn.004de810
add esp, 4
xor ecx, ecx
jmp 0x504c67
cmp byte [edi + 0xc8], 2
mov eax, dword [ecx]
lea eax, [eax + eax*8]
lea eax, [eax - 8]
lea eax, [ecx + eax*8]
mov dword [esp + 0xc], eax
jb 0x504c56
mov edx, dword [eax + 8]
test edx, edx
je 0x504c56
push 0
mov ecx, edi
call fcn.004c1240
mov ecx, dword [esp + 0x1c]
add esp, 4
mov eax, dword [esp + 0xc]
mov dword [eax + 0x14], esi
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
xor edx, edx
mov ecx, edi
call fcn.004de970
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
mov esi, eax
test esi, esi
je 0x504cba
mov al, byte [ebx - 8]
mov byte [esi + 4], al
mov dword [esi + 0x34], ecx
test ecx, ecx
je 0x504c9e
and dword [ecx + 8], 0xfffffbff
and dword [esi + 8], 0xfffffbff
cmp dword [ebx - 8], 0x83
je 0x504ccc
mov byte [edi + 0x16], 1
mov dword [ebx - 0x14], esi
jmp case.0x5045f4.216
test ecx, ecx
je 0x504ccc
mov edx, ecx
mov ecx, dword [edi]
push 1
call fcn.004de810
add esp, 4
mov dword [ebx - 0x14], esi
jmp case.0x5045f4.216
mov dword [ebx - 8], 0x83
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x44]
mov ecx, edi
push dword [ebx - 0x50]
push dword [ebx - 8]
push dword [ebx - 0x14]
push dword [ebx - 0x20]
push dword [ebx - 0x2c]
push dword [ebx - 0x38]
call fcn.004de970
add esp, 0x1c
mov dword [ebx - 0x5c], eax
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x50]
mov ecx, edi
push dword [ebx - 0x5c]
push dword [ebx - 8]
push dword [ebx - 0x20]
push dword [ebx - 0x2c]
push dword [ebx - 0x38]
push dword [ebx - 0x44]
call fcn.004de970
add esp, 0x1c
mov dword [ebx - 0x68], eax
test eax, eax
je 0x504d3e
mov ecx, dword [ebx - 0x14]
mov dword [eax + 0x48], ecx
jmp case.0x5045f4.216
mov edx, dword [ebx - 0x14]
mov ecx, dword [edi]
call fcn.004ff2f0
jmp case.0x5045f4.216
mov edx, dword [ebx - 8]
mov ecx, edi
push 0
push 0x200
push 0
push 0
push 0
push 0
push 0
call fcn.004de970
add esp, 0x1c
mov dword [ebx - 0x20], eax
jmp case.0x5045f4.216
mov edx, dword [ebx - 8]
mov ecx, edi
mov esi, dword [ebx - 0x2c]
push 0
push 0x600
push 0
push 0
push 0
push 0
push 0
call fcn.004de970
add esp, 0x1c
test esi, esi
je 0x504d9f
and dword [esi + 8], 0xfffffbff
test eax, eax
je 0x50590c
mov byte [eax + 4], 0x83
mov dword [eax + 0x34], esi
jmp 0x506470
mov dword [ebx + 4], 2
jmp case.0x5045f4.216
push dword [ebx - 0x14]
mov edx, dword [ebx - 0x2c]
mov ecx, edi
call fcn.004b9ca0
add esp, 4
mov dword [ebx - 0x2c], eax
cmp dword [ebx + 8], 0
jbe 0x504dea
lea ecx, [ebx + 4]
mov edx, eax
push 1
push ecx
mov ecx, edi
call fcn.004b9f30
add esp, 8
push dword [ebx - 8]
mov edx, dword [ebx - 0x2c]
mov ecx, edi
push dword [ebx - 0x20]
call fcn.004b9fd0
add esp, 8
jmp case.0x5045f4.216
mov ecx, dword [edi]
lea eax, [esp + 0x3c]
push 0
push eax
mov edx, 0xaf
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
call fcn.004b88b0
mov edx, dword [ebx - 0x14]
mov ecx, edi
push eax
call fcn.004b9ca0
add esp, 0xc
mov dword [ebx - 0x14], eax
jmp case.0x5045f4.216
push 0
push 0
mov edx, 0xaf
mov ecx, edi
call fcn.004b8a70
lea ecx, [ebx - 0x14]
mov edx, 0x3b
push 1
push ecx
mov ecx, dword [edi]
mov esi, eax
call fcn.004b88b0
push esi
push eax
mov edx, 0x89
mov ecx, edi
call fcn.004b8a70
mov edx, dword [ebx - 0x2c]
mov ecx, edi
push eax
call fcn.004b9ca0
add esp, 0x1c
jmp 0x506470
mov eax, dword [ebx + 4]
mov dword [ebx - 8], eax
mov eax, dword [ebx + 8]
mov dword [ebx - 4], eax
jmp case.0x5045f4.216
mov ecx, dword [edi]
push 0
push 0x50
call fcn.00480a20
add esp, 8
mov dword [ebx + 0x10], eax
jmp case.0x5045f4.216
mov ecx, dword [ebx + 4]
mov dword [ebx - 8], ecx
call fcn.004cbdf0
jmp case.0x5045f4.216
mov edx, dword [ebx - 8]
test edx, edx
je case.0x5045f4.216
mov eax, dword [edx]
test eax, eax
jle case.0x5045f4.216
lea ecx, [eax + eax*8]
mov al, byte [ebx + 4]
mov byte [edx + ecx*8 - 0x1c], al
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x44]
lea eax, [ebx - 0x20]
push dword [ebx - 8]
mov ecx, edi
push 0
push eax
lea eax, [ebx - 0x2c]
push eax
lea eax, [ebx - 0x38]
push eax
call fcn.004cbc90
lea ecx, [ebx - 0x14]
mov dword [ebx - 0x44], eax
push ecx
mov edx, eax
mov ecx, edi
call fcn.004cbd80
add esp, 0x1c
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x5c]
lea eax, [ebx - 0x14]
push dword [ebx - 8]
mov ecx, edi
push 0
push eax
lea eax, [ebx - 0x44]
push eax
lea eax, [ebx - 0x50]
push eax
call fcn.004cbc90
push dword [ebx - 0x2c]
mov edx, eax
mov dword [ebx - 0x5c], eax
mov ecx, edi
call fcn.004cbdc0
add esp, 0x1c
jmp case.0x5045f4.216
push dword [ebx + 4]
push dword [ebx - 8]
push dword [ebx - 0x2c]
mov edx, dword [ebx - 0x44]
lea eax, [ebx - 0x14]
push eax
push 0
push 0
mov ecx, edi
call fcn.004cbc90
add esp, 0x18
mov dword [ebx - 0x44], eax
jmp case.0x5045f4.216
mov edx, dword [ebx - 0x44]
test edx, edx
jne 0x504f8d
cmp dword [ebx - 0x10], edx
jne 0x504f8d
cmp dword [ebx - 8], edx
jne 0x504f8d
cmp dword [ebx + 4], edx
jne 0x504f8d
mov eax, dword [ebx - 0x2c]
mov dword [ebx - 0x44], eax
jmp case.0x5045f4.216
mov ecx, dword [ebx - 0x2c]
cmp dword [ecx], 1
jne 0x505011
push dword [ebx + 4]
lea eax, [ebx - 0x14]
mov ecx, edi
push dword [ebx - 8]
push 0
push eax
push 0
push 0
call fcn.004cbc90
add esp, 0x18
mov dword [ebx - 0x44], eax
test eax, eax
je 0x505002
mov ecx, dword [eax]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*8]
mov ecx, dword [ebx - 0x2c]
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 byte [ecx + 0x30], 4
je 0x504fed
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
mov edx, dword [ebx - 0x2c]
mov ecx, dword [edi]
call fcn.004cba70
jmp case.0x5045f4.216
call fcn.004cbdf0
push 0
push 0x800
push 0
push 0
push 0
push 0
push dword [ebx - 0x2c]
xor edx, edx
mov ecx, edi
call fcn.004de970
add esp, 0x1c
push dword [ebx + 4]
push dword [ebx - 8]
push eax
jmp 0x504f4f
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
jmp case.0x5045f4.216
mov eax, dword [edi]
mov ecx, eax
push 0
push 0x50
mov dword [esp + 0x18], eax
call fcn.00480b20
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
je 0x5050b7
push 0x48
lea eax, [esi + 8]
mov dword [esi + 4], 1
push 0
push eax
mov dword [esi], 1
call fcn.0063e4e0
mov ecx, dword [esp + 0x1c]
lea edx, [ebx + 4]
mov dword [esi + 0x34], 0xffffffff
add esp, 0xc
mov eax, dword [esi]
lea eax, [eax + eax*8]
lea esi, [esi + eax*8]
call fcn.004c6b10
mov dword [esi - 0x38], eax
mov dword [esi - 0x3c], 0
mov esi, dword [esp + 0x18]
cmp byte [edi + 0xc8], 2
jb 0x5050d5
test esi, esi
je 0x5050d5
mov edx, dword [esi + 0x10]
lea eax, [ebx + 4]
push eax
mov ecx, edi
call fcn.004c1240
add esp, 4
mov dword [ebx + 4], esi
jmp case.0x5045f4.216
lea ecx, [ebx + 4]
xor edx, edx
push ecx
lea eax, [ebx - 0x14]
mov ecx, edi
push eax
call fcn.004cb950
add esp, 8
mov esi, eax
cmp byte [edi + 0xc8], 2
jb 0x504ccc
test esi, esi
je 0x504ccc
mov edx, dword [esi + 0x10]
lea eax, [ebx + 4]
push eax
mov ecx, edi
call fcn.004c1240
add esp, 4
mov dword [ebx - 0x14], esi
jmp case.0x5045f4.216
mov eax, dword [edi]
mov ecx, eax
push 0
push 0x50
mov dword [esp + 0x18], eax
call fcn.00480b20
mov edi, eax
add esp, 8
test edi, edi
jne 0x505143
mov dword [ebx + 4], edi
jmp case.0x5045f4.216
push 0x48
lea eax, [edi + 8]
mov dword [edi + 4], 1
push 0
push eax
mov dword [edi], 1
call fcn.0063e4e0
mov ecx, dword [esp + 0x1c]
lea edx, [ebx + 4]
mov dword [edi + 0x34], 0xffffffff
add esp, 0xc
mov eax, dword [edi]
lea eax, [eax + eax*8]
lea esi, [edi + eax*8]
call fcn.004c6b10
mov dword [esi - 0x38], eax
mov dword [esi - 0x3c], 0
mov dword [ebx + 4], edi
jmp case.0x5045f4.216
lea eax, [ebx + 4]
xor edx, edx
push eax
lea esi, [ebx - 0x14]
mov ecx, edi
push esi
call fcn.004cb950
add esp, 8
mov dword [esi], eax
jmp case.0x5045f4.216
lea eax, [ebx - 0x14]
xor edx, edx
push eax
lea esi, [ebx - 0x2c]
mov ecx, edi
push esi
call fcn.004cb950
add esp, 8
mov dword [esi], eax
test eax, eax
je case.0x5045f4.216
mov ecx, dword [edi]
lea edx, [ebx + 4]
call fcn.004c6b10
mov ecx, dword [esi]
mov dword [ecx + 0x14], eax
jmp case.0x5045f4.216
mov eax, dword [edi]
mov ecx, eax
push 0
push 0x50
mov dword [esp + 0x18], eax
call fcn.00480b20
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
je 0x50523e
push 0x48
lea eax, [esi + 8]
mov dword [esi + 4], 1
push 0
push eax
mov dword [esi], 1
call fcn.0063e4e0
mov ecx, dword [esp + 0x1c]
lea edx, [ebx - 0x14]
mov dword [esi + 0x34], 0xffffffff
add esp, 0xc
mov eax, dword [esi]
lea eax, [eax + eax*8]
lea esi, [esi + eax*8]
call fcn.004c6b10
mov dword [esi - 0x38], eax
mov eax, dword [esp + 0x18]
mov dword [esi - 0x3c], 0
mov dword [ebx - 0x14], eax
test eax, eax
je case.0x5045f4.216
mov ecx, dword [edi]
lea edx, [ebx + 4]
call fcn.004c6b10
mov ecx, dword [ebx - 0x14]
mov dword [ecx + 0x14], eax
jmp case.0x5045f4.216
push 0
push 0
lea edx, [ebx - 8]
mov ecx, edi
call fcn.004deb50
add esp, 8
mov dword [ebx - 8], eax
jmp case.0x5045f4.216
lea eax, [ebx - 8]
mov ecx, edi
push 0
push eax
lea edx, [ebx - 0x14]
call fcn.004deb50
add esp, 8
mov dword [ebx - 0x14], eax
jmp case.0x5045f4.216
lea eax, [ebx - 8]
mov ecx, edi
push eax
lea eax, [ebx - 0x14]
push eax
lea edx, [ebx - 0x20]
call fcn.004deb50
add esp, 8
mov dword [ebx - 0x20], eax
jmp case.0x5045f4.216
mov eax, dword [ebx + 4]
mov dword [ebx - 0x14], eax
mov eax, dword [ebx + 8]
mov dword [ebx - 0x10], eax
jmp case.0x5045f4.216
mov dword [ebx - 8], 0
mov dword [ebx - 4], 1
jmp case.0x5045f4.216
mov eax, dword [ebx - 8]
mov dword [ebx - 0x20], eax
jmp case.0x5045f4.216
push dword [ebx - 0x14]
mov edx, dword [ebx - 0x2c]
mov ecx, edi
call fcn.004b9ca0
mov dword [ebx - 0x2c], eax
mov edx, dword [ebx - 8]
add esp, 4
mov ecx, eax
push dword [ebx + 4]
call fcn.004b9ef0
add esp, 4
jmp case.0x5045f4.216
push dword [ebx - 0x14]
xor edx, edx
mov ecx, edi
call fcn.004b9ca0
mov dword [ebx - 0x14], eax
jmp 0x5052ee
mov dword [ebx + 0x10], 0xffffffff
jmp case.0x5045f4.216
push 0
push dword [ebx + 4]
mov edx, 0x90
mov ecx, edi
call fcn.004b8a70
add esp, 8
mov dword [ebx - 8], eax
jmp case.0x5045f4.216
push dword [ebx + 4]
push dword [ebx - 0x14]
mov edx, 0x90
mov ecx, edi
call fcn.004b8a70
add esp, 8
mov dword [ebx - 0x20], eax
jmp case.0x5045f4.216
push dword [ebx - 0x14]
push dword [ebx + 4]
jmp 0x505345
mov edx, dword [ebx - 0x14]
lea eax, [ebx - 8]
push eax
mov ecx, edi
call fcn.004cbd80
mov edx, dword [ebx - 0x14]
push ecx
push dword [ebx + 4]
mov ecx, edi
call fcn.004cdd00
add esp, 0xc
jmp case.0x5045f4.216
mov edx, dword [ebx - 0x2c]
lea eax, [ebx - 0x20]
push eax
mov ecx, edi
call fcn.004cbd80
mov edx, dword [ebx - 8]
add esp, 4
mov ecx, edi
push str.set_list
call fcn.004ba050
mov edx, dword [ebx - 0x2c]
add esp, 4
mov ecx, edi
push 0
sub esp, 8
push dword [ebx - 0x38]
push dword [ebx + 4]
push dword [ebx - 8]
call fcn.004eb8d0
add esp, 0x18
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x2c]
mov ecx, edi
call fcn.004b9ca0
add esp, 4
mov dword [ebx - 0x2c], eax
lea ecx, [ebx - 0x14]
mov edx, eax
push 1
push ecx
mov ecx, edi
call fcn.004b9f30
add esp, 8
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x44]
mov ecx, edi
push dword [ebx - 0x20]
call fcn.004b9d60
add esp, 8
mov dword [ebx - 0x44], eax
jmp case.0x5045f4.216
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
call fcn.004b9ca0
mov ecx, dword [esp + 0x10]
lea esi, [ebx - 0x14]
add esp, 4
mov edi, eax
mov edx, edi
push 1
push esi
call fcn.004b9f30
add esp, 8
mov dword [esi], edi
jmp case.0x5045f4.216
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
push dword [ebx - 0x20]
call fcn.004b9d60
add esp, 8
jmp 0x506470
push dword [ebx + 4]
mov edx, dword [ebx - 0x20]
mov ecx, edi
push dword [ebx - 0x38]
push dword [ebx - 0x14]
push dword [ebx - 8]
call fcn.004d5120
add esp, 0x10
jmp case.0x5045f4.216
mov edx, dword [ebx - 0x20]
mov ecx, edi
push 0
push dword [ebx - 0x38]
push dword [ebx - 0x14]
push 0
call fcn.004d5120
add esp, 0x10
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x50]
push dword [ebx - 8]
mov ecx, dword [edi]
push dword [ebx - 0x38]
call fcn.004edf60
add esp, 0xc
mov dword [ebx - 0x74], eax
jmp case.0x5045f4.216
mov edx, dword [ebx - 0x2c]
mov ecx, dword [edi]
push 0
push 0
push dword [ebx - 0x14]
call fcn.004edf60
add esp, 0xc
mov dword [ebx - 0x50], eax
jmp case.0x5045f4.216
mov ecx, dword [edi]
test ecx, ecx
je 0x5054db
push 0
push 0x24
call fcn.00480b20
add esp, 8
jmp 0x50552c
cmp dword [0x70c3b8], 0
je 0x505521
mov eax, dword [0x71dc58]
test eax, eax
je 0x5054f7
push eax
call dword [0x70c408]
add esp, 4
lea edx, [esp + 0xc]
mov ecx, 0x24
call fcn.004804b0
mov eax, dword [0x71dc58]
test eax, eax
je 0x50551b
push eax
call dword [0x70c410]
mov eax, dword [esp + 0x10]
jmp 0x505529
mov eax, dword [esp + 0xc]
jmp 0x50552c
push 0x24
call dword [0x70c3d8]
add esp, 4
test eax, eax
jne 0x505538
mov dword [ebx - 0x20], eax
jmp case.0x5045f4.216
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [ebx - 0x20], eax
jmp case.0x5045f4.216
mov eax, dword [ebx - 8]
mov dword [ebx - 0x14], eax
jmp case.0x5045f4.216
mov edx, dword [ebx - 0x14]
lea eax, [ebx + 4]
push eax
mov ecx, edi
call fcn.004cb570
add esp, 4
mov dword [ebx - 0x14], eax
jmp case.0x5045f4.216
lea esi, [ebx + 4]
xor edx, edx
push esi
mov ecx, edi
call fcn.004cb570
add esp, 4
mov dword [esi], eax
jmp case.0x5045f4.216
push dword [ebx + 8]
mov edx, 0x3b
mov ecx, edi
push dword [ebx + 4]
call fcn.005040f0
add esp, 8
mov dword [ebx + 4], eax
jmp case.0x5045f4.216
mov ecx, dword [edi]
lea esi, [ebx - 0x14]
push 1
push esi
mov edx, 0x3b
call fcn.004b88b0
mov ecx, dword [edi]
mov edx, 0x3b
mov dword [esp + 0x14], eax
lea eax, [ebx + 4]
push 1
push eax
call fcn.004b88b0
add esp, 0x10
mov dword [esp + 0x10], eax
cmp byte [edi + 0xc8], 2
jb 0x505615
lea ecx, [ebx + 4]
mov edx, eax
push ecx
mov ecx, edi
call fcn.004c1240
mov edx, dword [esp + 0x10]
add esp, 4
mov ecx, edi
push esi
call fcn.004c1240
mov eax, dword [esp + 0x14]
add esp, 4
push eax
push dword [esp + 0x10]
mov edx, 0x89
mov ecx, edi
call fcn.004b8a70
add esp, 8
mov dword [esi], eax
jmp case.0x5045f4.216
mov ecx, dword [edi]
lea esi, [ebx - 0x2c]
push 1
push esi
mov edx, 0x3b
call fcn.004b88b0
mov ecx, dword [edi]
mov edx, 0x3b
mov dword [esp + 0x44], eax
lea eax, [ebx - 0x14]
push 1
push eax
call fcn.004b88b0
mov ecx, dword [edi]
mov edx, 0x3b
mov dword [esp + 0x1c], eax
lea eax, [ebx + 4]
push 1
push eax
call fcn.004b88b0
push eax
push dword [esp + 0x28]
mov edx, 0x89
mov dword [esp + 0x30], eax
mov ecx, edi
call fcn.004b8a70
add esp, 0x20
mov dword [esp + 0x18], eax
cmp byte [edi + 0xc8], 2
jb 0x5056bb
mov edx, dword [esp + 0x10]
lea ecx, [ebx + 4]
push ecx
mov ecx, edi
call fcn.004c1240
mov edx, dword [esp + 0x10]
lea ecx, [ebx - 0x14]
add esp, 4
push ecx
mov ecx, edi
call fcn.004c1240
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
push dword [esp + 0x40]
jmp 0x50561a
push dword [ebx + 8]
movzx edx, word [ebx + 2]
mov ecx, edi
push dword [ebx + 4]
call fcn.005040f0
add esp, 8
mov dword [ebx + 4], eax
jmp case.0x5045f4.216
mov ecx, dword [edi]
lea esi, [ebx + 4]
push 1
push esi
mov edx, 0x96
call fcn.004b88b0
add esp, 8
mov dword [esi], eax
jmp case.0x5045f4.216
mov eax, dword [ebx + 4]
cmp byte [eax], 0x23
jne 0x505777
movzx eax, byte [eax + 1]
test byte [eax + 0x6cdd00], 4
je 0x505777
cmp byte [edi + 0x12], 0
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x40], eax
jne 0x505745
lea eax, [esp + 0x3c]
push eax
push 0x712eac
push edi
call fcn.00483c70
add esp, 0xc
mov dword [ebx + 4], 0
jmp case.0x5045f4.216
push 0
push 0
mov edx, 0xab
mov ecx, edi
call fcn.004b8a70
add esp, 8
mov dword [ebx + 4], eax
test eax, eax
je case.0x5045f4.216
mov ecx, dword [esp + 0x3c]
lea edx, [eax + 0x1c]
lea ecx, [ecx + 1]
call fcn.00484790
jmp case.0x5045f4.216
mov esi, dword [ebx + 8]
mov edx, 0x97
push esi
push dword [ebx + 4]
mov ecx, edi
call fcn.005040f0
push esi
mov edx, eax
mov dword [ebx + 4], eax
mov ecx, edi
call fcn.004b8ce0
add esp, 0xc
jmp case.0x5045f4.216
mov edx, dword [ebx - 0x14]
lea eax, [ebx + 4]
push 1
push eax
mov ecx, edi
call fcn.004b7da0
add esp, 8
mov dword [ebx - 0x14], eax
jmp case.0x5045f4.216
mov ecx, dword [edi]
lea eax, [ebx - 8]
push 1
push eax
mov edx, 0x24
call fcn.004b88b0
mov ecx, eax
add esp, 8
mov eax, dword [ebx - 0x20]
mov dword [ebx - 0x38], ecx
test ecx, ecx
jne 0x5057f1
test eax, eax
je case.0x5045f4.216
mov ecx, dword [edi]
mov edx, eax
call fcn.004b8e40
jmp case.0x5045f4.216
test eax, eax
je 0x505803
mov dword [ecx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [ecx + 4], eax
call fcn.004b87a0
jmp case.0x5045f4.216
push dword [ebx - 0x14]
mov edx, dword [ebx - 8]
lea esi, [ebx - 0x2c]
push esi
mov ecx, edi
call fcn.004b8c30
add esp, 8
mov dword [esi], eax
jmp case.0x5045f4.216
mov ecx, dword [edi]
lea eax, [ebx - 0x20]
push 1
push eax
mov edx, 0xa7
call fcn.004b88b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x50584b
mov dword [ebx - 0x20], esi
jmp case.0x5045f4.216
or dword [esi + 4], 4
mov dword [esi + 0x14], 0
cmp dword [edi + 0x24], 0
jne 0x50587c
mov ecx, esi
call fcn.004b87a0
mov eax, dword [edi]
mov eax, dword [eax + 0x78]
cmp dword [esi + 0x18], eax
jle 0x50587c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.00483c70
add esp, 0xc
mov dword [ebx - 0x20], esi
jmp case.0x5045f4.216
push dword [ebx - 0x20]
mov edx, dword [ebx - 0x14]
lea edi, [ebx - 0x38]
mov ecx, dword [esp + 0x10]
push edi
call fcn.004b8c30
push dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov esi, eax
mov edx, esi
call fcn.004ff7e0
add esp, 0xc
mov dword [edi], esi
jmp case.0x5045f4.216
mov ecx, dword [edi]
lea eax, [ebx - 0x2c]
push 1
push eax
mov edx, 0xa7
call fcn.004b88b0
mov esi, eax
add esp, 8
test esi, esi
je 0x5058fd
or dword [esi + 4], 4
mov dword [esi + 0x14], 0
cmp dword [edi + 0x24], 0
jne 0x5058fd
mov ecx, esi
call fcn.004b87a0
mov eax, dword [edi]
mov eax, dword [eax + 0x78]
cmp dword [esi + 0x18], eax
jle 0x5058fd
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.00483c70
add esp, 0xc
push dword [ebx + 4]
mov edx, esi
mov ecx, edi
call fcn.004ff7e0
add esp, 4
mov dword [ebx - 0x2c], esi
jmp case.0x5045f4.216
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
mov edx, 0xa7
call fcn.004b88b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x505937
mov dword [ebx + 4], esi
jmp case.0x5045f4.216
or dword [esi + 4], 4
mov dword [esi + 0x14], 0
cmp dword [edi + 0x24], 0
jne 0x505968
mov ecx, esi
call fcn.004b87a0
mov eax, dword [edi]
mov eax, dword [eax + 0x78]
cmp dword [esi + 0x18], eax
jle 0x505968
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.00483c70
add esp, 0xc
mov dword [ebx + 4], esi
jmp case.0x5045f4.216
push dword [ebx - 8]
mov edx, dword [ebx - 0x20]
mov ecx, edi
call fcn.004b9ca0
add esp, 4
mov edx, 0xac
mov ecx, edi
mov esi, eax
push 0
push 0
call fcn.004b8a70
add esp, 8
mov dword [ebx - 0x2c], eax
test eax, eax
je 0x5059a4
mov dword [eax + 0x14], esi
jmp case.0x5045f4.216
test esi, esi
je case.0x5045f4.216
mov ecx, dword [edi]
mov edx, esi
call fcn.004ba080
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x14]
mov ecx, edi
call fcn.004b8b80
add esp, 4
mov dword [ebx - 0x14], eax
jmp case.0x5045f4.216
push dword [ebx + 4]
movzx edx, word [ebx - 0xa]
mov ecx, edi
push dword [ebx - 0x14]
call fcn.004b8a70
add esp, 8
mov dword [ebx - 0x14], eax
jmp case.0x5045f4.216
mov eax, dword [ebx + 4]
mov dword [ebx - 8], eax
mov eax, dword [ebx + 8]
mov dword [ebx - 4], eax
or dword [ebx - 4], 0x80000000
jmp case.0x5045f4.216
mov esi, dword [ebx - 4]
xor edx, edx
push dword [ebx + 4]
mov eax, esi
mov ecx, edi
and eax, 0x7fffffff
mov dword [ebx - 4], eax
call fcn.004b9ca0
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx - 0x14]
call fcn.004b9ca0
add esp, 4
lea ecx, [ebx - 8]
mov edx, eax
push 0
push ecx
mov ecx, edi
call fcn.004b8c30
add esp, 8
mov dword [ebx - 0x14], eax
test esi, esi
jns 0x505a5f
push 0
push eax
mov edx, 0x13
mov ecx, edi
call fcn.004b8a70
add esp, 8
mov dword [ebx - 0x14], eax
mov eax, dword [ebx - 0x14]
test eax, eax
je case.0x5045f4.216
or dword [eax + 4], 0x80
jmp case.0x5045f4.216
mov esi, dword [ebx - 0x1c]
xor edx, edx
push dword [ebx - 0x14]
mov eax, esi
mov ecx, edi
and eax, 0x7fffffff
mov dword [ebx - 0x1c], eax
call fcn.004b9ca0
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx - 0x2c]
call fcn.004b9ca0
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx + 4]
call fcn.004b9ca0
add esp, 4
lea ecx, [ebx - 0x20]
mov edx, eax
push 0
push ecx
mov ecx, edi
call fcn.004b8c30
add esp, 8
mov dword [ebx - 0x2c], eax
test esi, esi
jns 0x505ade
push 0
push eax
mov edx, 0x13
mov ecx, edi
call fcn.004b8a70
add esp, 8
mov dword [ebx - 0x2c], eax
mov eax, dword [ebx - 0x2c]
test eax, eax
je case.0x5045f4.216
or dword [eax + 4], 0x80
jmp case.0x5045f4.216
movzx edx, word [ebx + 2]
mov ecx, edi
push 0
push dword [ebx - 8]
call fcn.004b8a70
add esp, 8
mov dword [ebx - 8], eax
jmp case.0x5045f4.216
push 0
push dword [ebx - 0x14]
mov edx, 0x33
mov ecx, edi
call fcn.004b8a70
add esp, 8
mov dword [ebx - 0x14], eax
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, 0x2d
mov ecx, edi
push dword [ebx - 0x14]
call fcn.004b8a70
mov edx, dword [ebx + 4]
mov ecx, edi
push 0x32
push eax
mov dword [ebx - 0x14], eax
call fcn.00504210
add esp, 0x10
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, 0xa6
mov ecx, edi
push dword [ebx - 0x20]
call fcn.004b8a70
mov edx, dword [ebx + 4]
mov ecx, edi
push 0x33
push eax
mov dword [ebx - 0x20], eax
call fcn.00504210
add esp, 0x10
jmp case.0x5045f4.216
movzx edx, word [ebx - 0xa]
mov ecx, edi
push 0
push dword [ebx + 4]
call fcn.004b8a70
add esp, 8
mov dword [ebx - 8], eax
jmp case.0x5045f4.216
xor edx, edx
mov ecx, edi
cmp word [ebx - 0xa], 0x67
push 0
push dword [ebx + 4]
sete dl
add edx, 0xa8
call fcn.004b8a70
add esp, 8
mov dword [ebx - 8], eax
jmp case.0x5045f4.216
push dword [ebx - 0x14]
xor edx, edx
mov ecx, edi
call fcn.004b9ca0
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx + 4]
call fcn.004b9ca0
add esp, 4
mov edx, 0x30
mov ecx, edi
mov esi, eax
push 0
push dword [ebx - 0x2c]
call fcn.004b8a70
add esp, 8
mov dword [ebx - 0x2c], eax
test eax, eax
je 0x505c02
mov dword [eax + 0x14], esi
jmp 0x505c0f
test esi, esi
je 0x505c0f
mov edx, esi
mov ecx, dword [edi]
call fcn.004ba080
cmp dword [ebx - 0x20], 0
je case.0x5045f4.216
push 0
push dword [ebx - 0x2c]
mov edx, 0x13
mov ecx, edi
call fcn.004b8a70
add esp, 8
jmp 0x506470
cmp dword [ebx - 8], 0
mov ecx, edi
jne 0x505c68
mov edx, dword [ebx - 0x2c]
call fcn.004b8f60
cmp dword [ebx - 0x20], 0
mov ecx, 0x712ec4
mov eax, 0x712ea8
mov edx, 0x96
cmove eax, ecx
mov ecx, dword [edi]
push eax
call fcn.004b89b0
add esp, 4
jmp 0x506470
push 0
push dword [ebx - 0x2c]
mov edx, 0x31
call fcn.004b8a70
add esp, 8
mov dword [ebx - 0x2c], eax
test eax, eax
je 0x505c96
mov ecx, dword [ebx - 8]
mov dword [eax + 0x14], ecx
mov ecx, edi
mov edx, dword [ebx - 0x2c]
call fcn.004b8850
jmp 0x505c0f
mov edx, dword [ebx - 8]
test edx, edx
je 0x505c0f
jmp 0x505c08
push 0
push 0
mov edx, 0x86
mov ecx, edi
call fcn.004b8a70
push dword [ebx - 8]
mov edx, eax
mov dword [ebx - 0x14], eax
mov ecx, edi
call fcn.004b8b10
add esp, 0xc
jmp case.0x5045f4.216
push 0
push dword [ebx - 0x2c]
mov edx, 0x31
mov ecx, edi
call fcn.004b8a70
push dword [ebx - 8]
mov edx, eax
mov dword [ebx - 0x2c], eax
mov ecx, edi
call fcn.004b8b10
add esp, 0xc
jmp 0x505c0f
lea eax, [ebx - 8]
xor edx, edx
push eax
lea eax, [ebx - 0x14]
mov ecx, edi
push eax
call fcn.004cb950
push 0
push 0
push 0
push 0
push 0
push 0
push eax
xor edx, edx
mov dword [esp + 0x60], eax
mov ecx, edi
call fcn.004de970
mov esi, eax
add esp, 0x24
mov eax, dword [ebx + 4]
test eax, eax
je 0x505d40
xor edx, edx
mov ecx, edi
test esi, esi
push eax
cmovne edx, dword [esp + 0x40]
call fcn.004cbdc0
add esp, 4
push 0
push dword [ebx - 0x2c]
mov edx, 0x31
mov ecx, edi
call fcn.004b8a70
push esi
mov edx, eax
mov dword [ebx - 0x2c], eax
mov ecx, edi
call fcn.004b8b10
add esp, 0xc
jmp 0x505c0f
push 0
push 0
mov edx, 0x14
mov ecx, edi
call fcn.004b8a70
push dword [ebx - 8]
mov edx, eax
mov dword [ebx - 0x20], eax
mov ecx, edi
call fcn.004b8b10
add esp, 0xc
jmp case.0x5045f4.216
push 0
push dword [ebx - 0x20]
mov edx, 0x98
mov ecx, edi
call fcn.004b8a70
add esp, 8
mov dword [ebx - 0x2c], eax
test eax, eax
je 0x505dd9
mov eax, dword [ebx - 8]
test eax, eax
je 0x505dc1
mov edx, dword [ebx - 0x14]
mov ecx, edi
push eax
call fcn.004b9ca0
add esp, 4
mov ecx, eax
jmp 0x505dc4
mov ecx, dword [ebx - 0x14]
mov eax, dword [ebx - 0x2c]
mov dword [eax + 0x14], ecx
mov ecx, edi
mov edx, dword [ebx - 0x2c]
call fcn.004b8850
jmp case.0x5045f4.216
mov edx, dword [ebx - 0x14]
test edx, edx
je 0x505de7
mov ecx, dword [edi]
call fcn.004ba080
mov edx, dword [ebx - 8]
test edx, edx
je case.0x5045f4.216
mov ecx, dword [edi]
call fcn.004b8e40
jmp case.0x5045f4.216
push dword [ebx - 0x14]
mov edx, dword [ebx - 0x2c]
mov ecx, edi
call fcn.004b9ca0
add esp, 4
mov dword [ebx - 0x2c], eax
mov edx, eax
mov ecx, edi
push dword [ebx + 4]
call fcn.004b9ca0
add esp, 4
jmp 0x506470
push dword [ebx - 0x14]
xor edx, edx
mov ecx, edi
call fcn.004b9ca0
add esp, 4
mov dword [ebx - 0x20], eax
mov edx, eax
mov ecx, edi
push dword [ebx + 4]
call fcn.004b9ca0
add esp, 4
mov dword [ebx - 0x20], eax
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x14]
mov ecx, edi
call fcn.004b9ca0
add esp, 4
mov dword [ebx - 0x14], eax
jmp case.0x5045f4.216
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
call fcn.004b9ca0
add esp, 4
mov dword [ebx + 4], eax
jmp case.0x5045f4.216
mov eax, dword [edi]
mov ecx, eax
push 0
push 0x50
mov dword [esp + 0x44], eax
call fcn.00480b20
mov esi, eax
add esp, 8
mov dword [esp + 0x10], esi
test esi, esi
jne 0x505e9f
xor ecx, ecx
jmp 0x505ee5
push 0x48
lea eax, [esi + 8]
mov dword [esi + 4], 1
push 0
push eax
mov dword [esi], 1
call fcn.0063e4e0
mov ecx, dword [esp + 0x48]
lea edx, [ebx - 0x2c]
mov dword [esi + 0x34], 0xffffffff
add esp, 0xc
mov eax, dword [esi]
lea eax, [eax + eax*8]
lea esi, [esi + eax*8]
call fcn.004c6b10
mov ecx, dword [esp + 0x10]
mov dword [esi - 0x38], eax
mov dword [esi - 0x3c], 0
push 0
push dword [ebx - 0x5c]
lea eax, [ebx - 0x80]
push 0
push dword [ebx + 4]
lea edx, [ebx - 0x50]
push eax
push dword [ebx - 0x74]
lea eax, [ebx - 0x44]
push dword [ebx - 0x14]
push ecx
push eax
mov ecx, edi
call fcn.004ca610
add esp, 0x24
cmp byte [edi + 0xc8], 2
jb case.0x5045f4.216
mov edx, dword [edi + 0xe8]
test edx, edx
je case.0x5045f4.216
mov edx, dword [edx]
lea eax, [ebx - 0x2c]
push eax
mov ecx, edi
call fcn.004c1240
add esp, 4
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x2c]
lea eax, [ebx - 0x14]
push dword [ebx - 8]
mov ecx, edi
push eax
call fcn.00504260
add esp, 0xc
jmp 0x506470
push dword [ebx + 4]
lea esi, [ebx - 0x14]
xor edx, edx
push dword [ebx - 8]
mov ecx, edi
push esi
call fcn.00504260
add esp, 0xc
mov dword [esi], eax
jmp case.0x5045f4.216
push dword [ebx - 8]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004cb2f0
add esp, 4
jmp case.0x5045f4.216
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
call fcn.004ee790
add esp, 4
jmp case.0x5045f4.216
push dword [ebx + 4]
lea edx, [ebx - 8]
mov ecx, edi
call fcn.004ee790
add esp, 4
jmp case.0x5045f4.216
push 0
lea eax, [ebx + 4]
mov ecx, edi
push 0
push eax
lea edx, [ebx - 8]
call fcn.004da2a0
add esp, 0xc
jmp case.0x5045f4.216
push 0
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea eax, [ebx - 0x14]
lea edx, [ebx - 0x20]
push eax
call fcn.004da2a0
add esp, 0xc
jmp case.0x5045f4.216
push 0
lea eax, [ebx - 8]
mov ecx, edi
push eax
lea eax, [ebx - 0x20]
push eax
lea edx, [ebx - 0x2c]
call fcn.004da2a0
add esp, 0xc
jmp case.0x5045f4.216
push 1
jmp 0x505fce
push 1
lea eax, [ebx - 8]
mov ecx, edi
push eax
lea eax, [ebx - 0x20]
lea edx, [ebx - 0x2c]
push eax
call fcn.004da2a0
add esp, 0xc
jmp case.0x5045f4.216
mov eax, dword [ebx + 8]
mov ecx, dword [ebx - 0x20]
add eax, dword [ebx + 4]
mov edx, dword [ebx - 8]
sub eax, ecx
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], ecx
mov ecx, edi
push eax
call fcn.004ea130
add esp, 4
jmp case.0x5045f4.216
push dword [ebx - 0x5c]
lea esi, [ebx - 0x44]
mov ecx, edi
push dword [ebx - 0x74]
lea edx, [ebx - 0x50]
push dword [ebx + 4]
push dword [ebx - 0x14]
push dword [ebx - 0x28]
push dword [ebx - 0x2c]
push dword [ebx - 0x38]
push esi
call fcn.004e9c70
add esp, 0x20
cmp dword [ebx - 0x40], 0
jne 0x50608b
mov eax, dword [ebx - 0x50]
mov ecx, dword [ebx - 0x4c]
mov dword [ebx - 0x74], eax
mov dword [ebx - 0x70], ecx
jmp case.0x5045f4.216
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebx - 0x74], eax
mov dword [ebx - 0x70], ecx
jmp case.0x5045f4.216
mov dword [ebx - 8], 0x41
jmp case.0x5045f4.216
mov dword [ebx + 0x10], 0x21
jmp case.0x5045f4.216
movzx eax, word [ebx + 2]
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0
jmp case.0x5045f4.216
mov eax, dword [ebx + 4]
mov dword [ebx - 0x14], 0x7d
mov dword [ebx - 0x10], eax
jmp case.0x5045f4.216
mov eax, dword [ebx - 0x14]
mov ecx, dword [eax + 0x28]
mov eax, dword [ebx - 8]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebx - 0x14]
mov eax, dword [ebx - 8]
mov dword [ecx + 0x28], eax
jmp case.0x5045f4.216
mov eax, dword [ebx - 8]
mov dword [eax + 0x28], eax
jmp case.0x5045f4.216
mov eax, dword [ebx + 4]
mov dword [ebx - 0x14], eax
mov eax, dword [ebx + 8]
push str.qualified_table_names_are_not_allowed_on_INSERT__UPDATE__and_DELETE_statements_within_triggers
push edi
mov dword [ebx - 0x10], eax
call fcn.00483c70
add esp, 8
jmp case.0x5045f4.216
push str.the_INDEXED_BY_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push edi
call fcn.00483c70
add esp, 8
jmp case.0x5045f4.216
push str.the_NOT_INDEXED_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push edi
call fcn.00483c70
add esp, 8
jmp case.0x5045f4.216
push dword [ebx + 4]
movzx eax, byte [ebx - 0x44]
lea edx, [ebx - 0x38]
push dword [ebx - 0x50]
mov ecx, edi
push eax
push dword [ebx - 8]
push dword [ebx - 0x14]
call fcn.004ea600
add esp, 0x14
mov dword [ebx - 0x50], eax
jmp case.0x5045f4.216
push dword [ebx + 4]
movzx eax, byte [ebx - 0x44]
lea edx, [ebx - 0x2c]
push dword [ebx - 0x50]
mov ecx, edi
push dword [ebx - 8]
push eax
push dword [ebx - 0x14]
push dword [ebx - 0x20]
call fcn.004ea550
add esp, 0x18
mov dword [ebx - 0x50], eax
jmp case.0x5045f4.216
push dword [ebx + 4]
lea edx, [ebx - 0x20]
mov ecx, edi
push dword [ebx - 0x38]
push dword [ebx - 8]
call fcn.004ea6d0
add esp, 0xc
mov dword [ebx - 0x38], eax
jmp case.0x5045f4.216
push dword [ebx + 4]
mov edx, dword [ebx - 8]
push dword [ebx - 0x14]
mov ecx, dword [edi]
call fcn.004ea380
add esp, 8
mov dword [ebx - 0x14], eax
jmp case.0x5045f4.216
push 0
push 0
mov edx, 0x47
mov ecx, edi
call fcn.004b8a70
add esp, 8
mov dword [ebx - 0x20], eax
test eax, eax
je case.0x5045f4.216
mov byte [eax + 1], 4
jmp case.0x5045f4.216
mov ecx, dword [edi]
lea eax, [ebx - 8]
push 1
push eax
mov edx, 0x47
call fcn.004b88b0
add esp, 8
mov dword [ebx - 0x38], eax
test eax, eax
je case.0x5045f4.216
mov cl, byte [ebx - 0x20]
mov byte [eax + 1], cl
jmp case.0x5045f4.216
mov dword [ebx + 4], 3
jmp case.0x5045f4.216
push dword [ebx - 8]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004ea870
add esp, 4
jmp case.0x5045f4.216
push dword [ebx + 4]
mov eax, dword [ebx - 0x20]
mov edx, 0x18
push dword [ebx - 8]
mov ecx, edi
push eax
push eax
push 0x6cdba8
call fcn.004c4d60
add esp, 0x14
jmp case.0x5045f4.216
mov eax, dword [ebx + 4]
mov edx, 0x19
push eax
push 0
push 0
push eax
push 0x6cd0d0
mov ecx, edi
call fcn.004c4d60
add esp, 0x14
jmp case.0x5045f4.216
mov ecx, edi
call fcn.004ddb10
test eax, eax
jne case.0x5045f4.216
xor edx, edx
mov ecx, edi
call fcn.004cc840
jmp case.0x5045f4.216
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea edx, [ebx - 8]
call fcn.004cc970
add esp, 4
jmp case.0x5045f4.216
push 0
xor edx, edx
mov ecx, edi
call fcn.004c4140
add esp, 4
jmp case.0x5045f4.216
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea edx, [ebx - 8]
call fcn.004c4140
add esp, 4
jmp case.0x5045f4.216
mov edx, dword [ebx - 0x20]
lea eax, [ebx + 4]
push eax
mov ecx, edi
call fcn.004c0710
add esp, 4
jmp case.0x5045f4.216
mov eax, dword [edi + 0xc0]
lea edx, [ebx - 8]
add eax, dword [edi + 0xbc]
mov ecx, edi
sub eax, dword [edx]
mov dword [ebx - 4], eax
call fcn.004c0a90
jmp case.0x5045f4.216
mov eax, dword [edi]
mov ecx, edi
inc byte [edi + 0x18]
inc dword [eax + 0x118]
mov edx, dword [ebx + 4]
call fcn.004c0d80
jmp case.0x5045f4.216
mov edx, dword [ebx - 0x38]
lea eax, [ebx + 4]
push eax
lea eax, [ebx - 0x14]
mov ecx, edi
push eax
call fcn.004c0f70
add esp, 8
jmp case.0x5045f4.216
xor edx, edx
mov ecx, edi
call fcn.004ef710
jmp case.0x5045f4.216
lea edx, [ebx + 4]
mov ecx, edi
call fcn.004ef710
jmp case.0x5045f4.216
push dword [ebx - 0x2c]
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea eax, [ebx - 0x14]
push eax
lea edx, [ebx - 0x20]
call fcn.004ef5d0
add esp, 0xc
jmp case.0x5045f4.216
mov ecx, edi
call fcn.004ef6a0
mov dword [edi + 0xf4], 0
mov dword [edi + 0xf8], 0
jmp case.0x5045f4.216
mov ecx, dword [edi + 0xf4]
test ecx, ecx
jne 0x5063c4
mov eax, dword [ebx + 4]
mov dword [edi + 0xf4], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0xf8], eax
jmp case.0x5045f4.216
mov eax, dword [ebx + 8]
sub eax, ecx
add eax, dword [ebx + 4]
mov dword [edi + 0xf8], eax
jmp case.0x5045f4.216
mov ecx, dword [ebx + 4]
test ecx, ecx
je case.0x5045f4.216
mov eax, dword [edi + 0x108]
mov dword [ecx + 4], eax
mov dword [edi + 0x108], ecx
mov dword [edi + 0x10c], ecx
jmp case.0x5045f4.216
push dword [ebx - 8]
lea esi, [ebx - 0x38]
xor edx, edx
push dword [ebx - 0x2c]
mov ecx, edi
push esi
call fcn.004ccb90
add esp, 0xc
mov dword [esi], eax
jmp case.0x5045f4.216
push dword [ebx - 8]
mov edx, dword [ebx - 0x50]
lea eax, [ebx - 0x38]
push dword [ebx - 0x2c]
mov ecx, edi
push eax
call fcn.004ccb90
add esp, 0xc
mov dword [ebx - 0x50], eax
jmp case.0x5045f4.216
push dword [ebx - 0x14]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004ff720
mov ecx, dword [ebx + 4]
add esp, 4
mov eax, dword [ebx - 0x14]
mov dword [ecx + 0x24], eax
mov eax, dword [ebx + 4]
mov dword [ebx - 0x14], eax
jmp case.0x5045f4.216
cmp dword [ebx - 8], 0
je case.0x5045f4.322
mov edx, dword [ebx - 0x2c]
mov ecx, dword [edi]
push 0
push dword [ebx - 0x28]
call fcn.00480e00
mov ecx, dword [ebx - 8]
add esp, 8
mov dword [ecx], eax
mov eax, dword [ebx - 8]
mov dword [ebx - 0x2c], eax
mov eax, dword [esp + 0x1c]
pop edi
movzx esi, word [eax*2 + 0x6ce8a8]
movsx eax, byte [eax + 0x6cd7c0]
lea eax, [eax + eax*2]
lea edx, [ebx + eax*4]
movzx eax, word [edx]
movsx ecx, word [eax*2 + 0x6cdeb8]
add ecx, esi
movzx eax, word [ecx*2 + 0x6cefc8]
lea ecx, [edx + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [edx], ecx
mov word [ecx + 2], si
mov word [ecx], ax
mov ecx, dword [esp + 0x40]
pop esi
pop ebx
xor ecx, esp
call fcn.00625788
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 4]
mov eax, dword [ebx - 8]
mov edx, dword [ebx - 0x14]
mov dword [esp + 0x3c], eax
test esi, esi
je 0x5064df
mov dword [esi + 8], edx
mov dword [esi + 0xc], eax
mov dword [ebx - 0x2c], esi
jmp case.0x5045f4.216
test edx, edx
je 0x5064ee
mov ecx, dword [edi]
call fcn.004ba080
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x50590c
mov ecx, dword [edi]
mov edx, eax
call fcn.004ba080
mov dword [ebx - 0x2c], esi
jmp case.0x5045f4.216
mov edx, dword [ebx + 4]
lea esi, [ebx - 0x38]
push esi
push dword [ebx - 8]
mov ecx, edi
push dword [ebx - 0x14]
call fcn.004ff680
add esp, 0xc
mov dword [esi], eax
jmp case.0x5045f4.216
mov esi, dword [ebx + 4]
mov edx, dword [ebx - 8]
test esi, esi
je 0x506541
mov dword [esi + 8], 0
mov dword [esi + 0xc], edx
mov dword [ebx - 0x20], esi
jmp case.0x5045f4.216
test edx, edx
je 0x504b9f
mov ecx, dword [edi]
call fcn.004ba080
mov dword [ebx - 0x20], esi
jmp case.0x5045f4.216
mov edx, dword [ebx + 4]
lea esi, [ebx - 0x2c]
push esi
push dword [ebx - 8]
mov ecx, edi
push 0
call fcn.004ff680
add esp, 0xc
mov dword [esi], eax
jmp case.0x5045f4.216
mov edx, dword [ebx + 4]
lea esi, [ebx - 8]
push esi
push 0
push 0
mov ecx, edi
call fcn.004ff680
add esp, 0xc
mov dword [esi], eax
jmp case.0x5045f4.216
mov ecx, dword [edi]
mov byte [esp + 0x17], 0
test ecx, ecx
je 0x5065aa
push 0
push 0x64
call fcn.00480b20
add esp, 8
jmp 0x5065f8
cmp dword [0x70c3b8], 0
je 0x5065ed
mov eax, dword [0x71dc58]
test eax, eax
je 0x5065c6
push eax
call dword [0x70c408]
add esp, 4
lea edx, [esp + 0xc]
mov ecx, 0x64
call fcn.004804b0
mov eax, dword [0x71dc58]
test eax, eax
je 0x5065e7
push eax
call dword [0x70c410]
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x5065fa
push 0x64
call dword [0x70c3d8]
add esp, 4
mov esi, eax
test esi, esi
je 0x50664f
push 0x64
push 0
push esi
call fcn.0063e4e0
mov word [esi + 0x10], 0x5a59
add esp, 0xc
mov byte [esi + 0x12], 0x55
mov ecx, 0x42
mov eax, dword [edi]
test byte [eax + 0x4c], 2
movzx eax, byte [esp + 0x17]
cmovne eax, ecx
mov byte [esi + 0x13], 1
xor edx, edx
mov byte [esi + 0x14], al
mov ecx, edi
call fcn.004ff450
xor edx, edx
mov dword [esi + 0x1c], eax
mov ecx, edi
call fcn.004ff450
mov dword [esi + 0x18], eax
mov dword [ebx + 0x10], esi
jmp case.0x5045f4.216
xor esi, esi
mov dword [ebx + 0x10], esi
jmp case.0x5045f4.216
movzx eax, byte [ebx + 4]
mov ecx, edi
mov edx, dword [ebx - 0x14]
push eax
push 0
push 0x55
push dword [ebx - 4]
push dword [ebx - 8]
call fcn.004ff530
add esp, 0x14
mov dword [ebx - 0x14], eax
jmp case.0x5045f4.216
movzx eax, byte [ebx + 4]
mov ecx, edi
mov edx, dword [ebx - 0x38]
push eax
push dword [ebx - 4]
push dword [ebx - 8]
push dword [ebx - 0x1c]
push dword [ebx - 0x20]
call fcn.004ff530
add esp, 0x14
mov dword [ebx - 0x38], eax
jmp case.0x5045f4.216
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
jmp case.0x5045f4.216
movzx eax, word [ebx - 0xa]
mov dword [ebx - 8], eax
mov dword [ebx - 4], 0
jmp case.0x5045f4.216
movzx ecx, word [ebx + 2]
mov eax, dword [ebx - 8]
mov dword [ebx - 8], ecx
mov dword [ebx - 4], eax
jmp case.0x5045f4.216
mov byte [ebx + 0x10], 0
jmp case.0x5045f4.216
mov al, byte [ebx + 4]
mov byte [ebx - 8], al
jmp case.0x5045f4.216
mov al, byte [ebx - 0xa]
mov byte [ebx - 8], al
jmp case.0x5045f4.216
mov al, byte [ebx + 2]
mov byte [ebx + 4], al
jmp case.0x5045f4.216
mov ecx, dword [ebx + 4]
mov eax, dword [ebx - 8]
mov dword [ecx + 0x28], eax
mov eax, dword [ebx + 4]
mov dword [ebx - 8], eax
jmp case.0x5045f4.216
mov ecx, dword [edi]
push 0
push 0x64
call fcn.00480a20
mov esi, eax
add esp, 8
test esi, esi
je 0x50673d
mov byte [esi + 0x10], 0xa1
mov ecx, dword [ebx + 4]
mov dword [esi + 0x28], ecx
mov dword [ebx + 4], esi
jmp case.0x5045f4.216
mov edx, dword [ebx + 4]
test edx, edx
je 0x504bb7
mov ecx, dword [edi]
call fcn.004b8e40
mov dword [ebx + 4], esi
jmp case.0x5045f4.216
mov ecx, dword [edi]
push 0
push 0x64
call fcn.00480a20
add esp, 8
mov dword [ebx - 8], eax
test eax, eax
je case.0x5045f4.216
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
push 0
push dword [ebx + 8]
call fcn.00480e00
mov ecx, dword [ebx - 8]
add esp, 8
mov dword [ecx], eax
jmp case.0x5045f4.216